专利名称:兴趣点检索方法、兴趣点检索装置和导航系统的制作方法
技术领域:
本发明涉及导航技术领域,尤其涉及一种兴趣点检索方法、兴趣点检索装置和导 航系统。
背景技术:
随着嵌入式技术和地理信息系统的发展,越来越多的嵌入式设备(如车载导航设 备、智能手机或掌上电脑等)中开始安装使用导航系统进行导航。其中,兴趣点(P0I,Point of Interest)检索可以帮助用户准确了解目的地位置或周边设施情况,是导航系统的重要 组成部分。所谓兴趣点,通常是指导航电子地图上有特定位置和属性的点位。现有技术中可以采用兴趣点名称检索方法对兴趣点进行检索,该方法主要是将用 户输入的兴趣点名称逐个与兴趣点数据库中存储的兴趣点名称进行匹配,得到符合条件的 兴趣点。上述兴趣点检索方法中,需要将兴趣点名称与兴趣点数据库中的数据逐个进行匹 配,在兴趣点个数较多时,检索速度较慢,尤其是应用于内存较小的嵌入式设备中时。
发明内容
有鉴于此,本发明提供一种兴趣点检索方法、兴趣点检索装置和导航系统,能够快 速检索兴趣点。为解决上述问题,本发明提供一种兴趣点检索方法,包括以下步骤获取用户输入的检索条件,所述检索条件中包含一种或多种类型的兴趣点属性信 息;从预设兴趣点索引数据库中,查询所述兴趣点属性信息对应的索引数据,所述索 引数据与预设兴趣点数据库中的兴趣点记录相关联;根据所述索引数据,获取所述兴趣点属性信息对应的兴趣点集合;根据所述兴趣点集合,从所述兴趣点数据库中,获取符合所述检索条件的兴趣点 记录。所述根据所述兴趣点集合,从所述兴趣点数据库中,获取符合所述检索条件的兴 趣点记录,具体包括在所述检索条件中仅包含一种类型的所述兴趣点属性信息时,从所述兴趣点数据 库中,查询所述兴趣点集合对应的兴趣点记录作为符合所述检索条件的兴趣点记录;在所述检索条件中包括多种类型的所述兴趣点属性信息时,获取所有类型的所述 兴趣点属性信息对应的兴趣点集合的交集,从所述兴趣点数据库中,查询所述兴趣点集合 的交集对应的兴趣点记录作为符合所述检索条件的兴趣点记录。所述从预设兴趣点索引数据库中,查询所述兴趣点属性信息对应的索引数据,之 前还包括根据不同类型的兴趣点属性,为所述兴趣点数据库中的每一兴趣点记录建立不同类型的兴趣点索引数据;将所述兴趣点索引数据存储于所述兴趣点索引数据库中。所述将所述兴趣点索引数据存储于所述兴趣点索引数据库中,具体包括将所述兴趣点索引数据转换成二进制大型对象blob类型的数据;将所述blob类型的数据存储到所述兴趣点索引数据库中。所述兴趣点属性信息包括兴趣点名称信息、兴趣点中文名称拼音首字母信息、兴 趣点周边区域信息、兴趣点所属分类信息和/或兴趣点所属行政区域信息。本发明还提供一种兴趣点检索装置,包括第一获取模块,用于获取用户输入的检索条件,所述检索条件中包含一种或多种 类型的兴趣点属性信息;索引查询模块,用于从预设兴趣点索引数据库中,查询所述兴趣点属性信息对应 的索引数据,所述索引数据与预设兴趣点数据库中的兴趣点记录相关联;第二获取模块,用于根据所述索引数据,获取所述兴趣点属性信息对应的兴趣点 集合;第三获取模块,用于根据所述兴趣点集合,从所述兴趣点数据库中,获取符合所述 检索条件的兴趣点记录。所述第三获取模块包括第一处理单元,用于在所述检索条件中仅包含一种类型的所述兴趣点属性信息 时,从所述兴趣点数据库中,查询所述兴趣点集合对应的兴趣点记录作为符合所述检索条 件的兴趣点记录;第二处理单元,用于在所述检索条件中包括多种类型的所述兴趣点属性信息时, 获取所有类型的所述兴趣点属性信息对应的兴趣点集合的交集,从所述兴趣点数据库中, 查询所述兴趣点集合的交集对应的兴趣点记录作为符合所述检索条件的兴趣点记录。所述兴趣点检索装置还包括索引建立模块,用于根据不同类型的兴趣点属性,为所述兴趣点数据库中的每一 兴趣点记录建立不同类型的兴趣点索引数据;存储模块,用于将所述兴趣点索引数据存储于所述兴趣点索引数据库中。所述存储模块包括第一转换单元,用于将所述兴趣点索引数据转换成blob类型的数据;执行单元,用于将所述blob类型的数据存储到所述兴趣点索引数据库中。本发明还提供一种导航系统,包括一兴趣点检索装置,所述兴趣点检索装置包 括第一获取模块,用于获取用户输入的检索条件,所述检索条件中包含一种或多种 类型的兴趣点属性信息;索引查询模块,用于从预设兴趣点索引数据库中,查询所述兴趣点属性信息对应 的索引数据,所述索引数据与预设兴趣点数据库中的兴趣点记录相关联;第二获取模块,用于根据所述索引数据,获取所述兴趣点属性信息对应的兴趣点 集合;第三获取模块,用于根据所述兴趣点集合,从所述兴趣点数据库中,获取符合所述
5检索条件的兴趣点记录。本发明具有以下有益效果(1)为兴趣点数据库中的兴趣点记录建立索引数据,从而能够根据所述索引数据 快速检索兴趣点,无需与兴趣点数据库中的数据逐个进行匹配,提高了兴趣点的检索效率。(2)根据不同类型的兴趣点属性,为兴趣点数据库中的兴趣点记录建立不同类型 的多个索引数据,从而能够根据所述多个索引数据准确检索兴趣点。C3)将索引数据存储为blob (Binary Large Ob ject,二进制大型对象)类型的数 据,从而能够有效减少索引数据的容量,适用于嵌入式设备。
图1为本发明实施例的兴趣点中文名称索引的生成方法的流程示意图;图2a、2b、2c、2d为发明实施例的兴趣点索引数据的存储结构示意图;图3为本发明实施例的兴趣点周边区域索引的生成方法的流程示意图;图4为本发明实施例的兴趣点检索方法的一流程示意图;图5为本发明实施例的导航系统的用于输入检索条件的用户界面示意图;图6为本发明实施例的兴趣点检索方法的另一流程示意图;图7为本发明实施例的兴趣点检索装置的一结构示意图。
具体实施例方式下面结合附图和实施例,对本发明的具体实施方式
作进一步详细描述。为了加快兴趣点检索的速度,本发明实施例中,根据不同类型的兴趣点属性(例 如兴趣点名称、兴趣点中文名称拼音首字母、兴趣点周边区域、兴趣点所属分类和兴趣点 所属行政区域等),为兴趣点数据库中的每一兴趣点记录建立一种或多种类型的索引数据 (例如兴趣点名称索引数据、兴趣点中文名称拼音首字母索引数据、兴趣点周边区域索引 数据、兴趣点所属分类索引数据和兴趣点所属行政区域索引数据等),根据所述索引数据能 够快速、准确地检索兴趣点。下面举例对兴趣点索引数据的建立过程进行详细说明。(一)兴趣点名称索引本发明实施例中,假设兴趣点数据库中存储的兴趣点的名称均为中文名称,为兴 趣点数据库中的每一兴趣点记录建立兴趣点中文名称索引。当然,在兴趣点数据库中存储 的兴趣点的名称为英文名称时,也可以为兴趣点记录建立兴趣点英文名称索引。可以采用倒排索引技术,实现兴趣点中文名称索引数据的建立,具体过程如下以兴趣点中文名称中的每一汉字作为关键字,记录该汉字所属兴趣点的编号、在 所属兴趣点中文名称中出现的次数以及出现的位置等信息,由该些信息组成该汉字的索引 数据,所述索引数据的结构如下所示关键字{兴趣点编号1,出现频率,[出现位置1,出现位置2,. . . ]},{兴趣点编号2,出现频率,[出现位置1,出现位置2,. . . ]},... 上述索引数据即称为倒排索引数据。
举例来说,假设有三个兴趣点,其兴趣点编号和中文名称如下所示兴趣点1 :{编号100,名称“东方商厦” };兴趣点2 :{编号120,名称“浦东新区东方路” };兴趣点3 :{编号:150,名称“浦东新区东明路” };为上述三个兴趣点建立的倒排索引数据如下所示“东” {100,1,
},{120,2, [1,4]}, {150,2, [1,4]};“方” {100,1,[1]},{120,1,[5]};“商” {100,1,[2]};“厦” {100,1,[3]};“浦” {120,1,
}, {150,1,
};“新” {120,1,[2]},{150,1,[2]};“区” {120,1,[3]},{150,1,[3]};“明” {150,1,[5]};“路” {120,1,[6]},{150,1,[6]};将上述倒排索引数据存储于兴趣点数据库中。基于上述倒排索引数据,对兴趣点进行检索的方法如下假设用户输入的待检索文字串为“东方路”;首先从兴趣点索引数据库中,读取待检索文字串中各汉字对应的索引数据,读取 的索引数据如下所示“东”对应的索引数据为{100,1,
}, {120,2,[1,4]}, {150,2,[1,4]};“方”对应的索引数据为{100,1,[1]},{120,1,[5]};“路”对应的索引数据为{120,1, [6]},{150,1,[6]};然后,对上述读取到的索引数据进行分析,分析过程如下所示获取待检索字符串中每一汉字对应的检索数据中含有的兴趣点集合,“东”对应的 索引数据中含有的兴趣点集合为{100,120,150},“方”对应的索引数据中含有的兴趣点集 合为{100,120},“路”对应的索引数据中含有的兴趣点集合为{120,150}。获取上述兴趣点集合的交集,得到兴趣点集合{120},即只有兴趣点编号为120的 兴趣点中同时包含“东” “方” “路”三个关键字(本发明实施例中,得到的兴趣点集合中仅 包含一个兴趣点,在某些情况下,可能会包括多个兴趣点)。“东”在兴趣点编号为120的索引数据中记录的位置为[1,4],其中位置“4”与“方” 在兴趣点编号为120的索引数据中记录的位置“5”的差值刚好是“东”的长度。同样,“方” 和“路”在兴趣点编号为120的索引数据中记录的位置差值刚好是“方”的长度,因此,兴趣 点数据库中兴趣点编号为120的兴趣点记录(其名称为“浦东新区东方路”)为符合条件的 兴趣点记录。最后,从兴趣点数据库中获取兴趣点编号120对应的兴趣点记录。另外,还可以采用全文索引方法实现兴趣点中文名称索引的建立,用全文索引方 法建立的索引数据的结构如下所示关键字{文件编号,出现频率,[出现位置1,出现位置2-出现位置1,. . . ]},{文件编号,出现频率,[出现位置1,出现位置2-出现位置1,. . . ]},
采用全文索引方法建立兴趣点中文名称索引的方法,与采用倒排索引技术建立兴 趣点中文名称索引的方法类似,在此不再详细描述。如图1所示,基于上述倒排索引技术,本发明实施例的兴趣点中文名称索引的建 立方法包括以下步骤步骤101,逐个遍历兴趣点数据库中的每一条兴趣点记录;步骤102,逐个读取当前遍历到的兴趣点记录的中文名称中的每一个汉字;步骤103,将当前读取到的汉字作为关键字,根据所述当前遍历到的兴趣点记录的 编号,以及所述当前读取到的汉字在所述当前遍历到的兴趣点记录的中文名称中的位置, 生成所述当前读取到的汉字的索引数据;当然,还可以将所述当前读取到的汉字在所述当 前遍历到的兴趣点记录的中文名称中的次数,添加到所述当前读取到的汉字的索引数据 中;步骤104,将所述当前读取到的汉字的索引数据添加到兴趣点中文名称索引倒排 表中;所述倒排表用于存储所有兴趣点记录的中文名称索引数据。步骤105,判断是否完成当前遍历到的兴趣点记录的所有中文名称中的汉字的遍 历,如果是,执行步骤106,否则,返回步骤102 ;步骤106,判断是否完成兴趣点数据库中的所有兴趣点记录的遍历,如果是,执行 步骤107,否则返回步骤101 ;步骤107,将所述兴趣点中文名称索引倒排表中的索引数据转换blob类型的数 据,并将所述blob类型的数据存储于兴趣点索引数据库中。以表1中的兴趣点记录为例,对上述建立的兴趣点中文名称索引进行说明。表权利要求
1.一种兴趣点检索方法,其特征在于,包括以下步骤获取用户输入的检索条件,所述检索条件中包含一种或多种类型的兴趣点属性信息; 从预设兴趣点索引数据库中,查询所述兴趣点属性信息对应的索引数据,所述索引数 据与预设兴趣点数据库中的兴趣点记录相关联;根据所述索引数据,获取所述兴趣点属性信息对应的兴趣点集合;根据所述兴趣点集合,从所述兴趣点数据库中,获取符合所述检索条件的兴趣点记录。
2.根据权利要求1所述的兴趣点检索方法,其特征在于,所述根据所述兴趣点集合,从 所述兴趣点数据库中,获取符合所述检索条件的兴趣点记录,具体包括在所述检索条件中仅包含一种类型的所述兴趣点属性信息时,从所述兴趣点数据库 中,查询所述兴趣点集合对应的兴趣点记录作为符合所述检索条件的兴趣点记录;在所述检索条件中包括多种类型的所述兴趣点属性信息时,获取所有类型的所述兴趣 点属性信息对应的兴趣点集合的交集,从所述兴趣点数据库中,查询所述兴趣点集合的交 集对应的兴趣点记录作为符合所述检索条件的兴趣点记录。
3.根据权利要求1所述的兴趣点检索方法,其特征在于,所述从预设兴趣点索引数据 库中,查询所述兴趣点属性信息对应的索引数据,之前还包括根据不同类型的兴趣点属性,为所述兴趣点数据库中的每一兴趣点记录建立不同类型 的兴趣点索引数据;将所述兴趣点索引数据存储于所述兴趣点索引数据库中。
4.根据权利要求3所述的兴趣点检索方法,其特征在于,所述将所述兴趣点索引数据 存储于所述兴趣点索引数据库中,具体包括将所述兴趣点索引数据转换成二进制大型对象blob类型的数据; 将所述blob类型的数据存储到所述兴趣点索引数据库中。
5.根据权利要求1所述的兴趣点检索方法,其特征在于,所述兴趣点属性信息包括兴 趣点名称信息、兴趣点中文名称拼音首字母信息、兴趣点周边区域信息、兴趣点所属分类信 息和/或兴趣点所属行政区域信息。
6.一种兴趣点检索装置,其特征在于,包括第一获取模块,用于获取用户输入的检索条件,所述检索条件中包含一种或多种类型 的兴趣点属性信息;索引查询模块,用于从预设兴趣点索引数据库中,查询所述兴趣点属性信息对应的索 引数据,所述索引数据与预设兴趣点数据库中的兴趣点记录相关联;第二获取模块,用于根据所述索引数据,获取所述兴趣点属性信息对应的兴趣点集合;第三获取模块,用于根据所述兴趣点集合,从所述兴趣点数据库中,获取符合所述检索 条件的兴趣点记录。
7.根据权利要求6所述的兴趣点检索装置,其特征在于,所述第三获取模块包括第一处理单元,用于在所述检索条件中仅包含一种类型的所述兴趣点属性信息时,从 所述兴趣点数据库中,查询所述兴趣点集合对应的兴趣点记录作为符合所述检索条件的兴 趣点记录;第二处理单元,用于在所述检索条件中包括多种类型的所述兴趣点属性信息时,获取所有类型的所述兴趣点属性信息对应的兴趣点集合的交集,从所述兴趣点数据库中,查询 所述兴趣点集合的交集对应的兴趣点记录作为符合所述检索条件的兴趣点记录。
8.根据权利要求6所述的兴趣点检索装置,其特征在于,还包括索引建立模块,用于根据不同类型的兴趣点属性,为所述兴趣点数据库中的每一兴趣 点记录建立不同类型的兴趣点索引数据;存储模块,用于将所述兴趣点索引数据存储于所述兴趣点索引数据库中。
9.根据权利要求8所述的兴趣点检索装置,其特征在于,所述存储模块包括 第一转换单元,用于将所述兴趣点索引数据转换成blob类型的数据;执行单元,用于将所述blob类型的数据存储到所述兴趣点索引数据库中。
10.一种导航系统,包括一兴趣点检索装置,其特征在于,所述兴趣点检索装置包括 第一获取模块,用于获取用户输入的检索条件,所述检索条件中包含一种或多种类型的兴趣点属性信息;索引查询模块,用于从预设兴趣点索引数据库中,查询所述兴趣点属性信息对应的索 引数据,所述索引数据与预设兴趣点数据库中的兴趣点记录相关联;第二获取模块,用于根据所述索引数据,获取所述兴趣点属性信息对应的兴趣点集合;第三获取模块,用于根据所述兴趣点集合,从所述兴趣点数据库中,获取符合所述检索 条件的兴趣点记录。
全文摘要
本发明提供一种兴趣点检索方法、兴趣点检索装置和导航系统,所述方法包括以下步骤获取用户输入的检索条件,所述检索条件中包含一种或多种类型的兴趣点属性信息;从预设兴趣点索引数据库中,查询所述兴趣点属性信息对应的索引数据,所述索引数据与预设兴趣点数据库中的兴趣点记录相关联;根据所述索引数据,获取所述兴趣点属性信息对应的兴趣点集合;根据所述兴趣点集合,从所述兴趣点数据库中,获取符合所述检索条件的兴趣点记录。本发明能够快速检索兴趣点。
文档编号G01C21/26GK102147795SQ20101010723
公开日2011年8月10日 申请日期2010年2月5日 优先权日2010年2月5日
发明者汪晨钟, 黄栋 申请人:北京四维图新科技股份有限公司