著录项信息
专利名称 | 一种导航数据检索方法、装置及导航终端 |
申请号 | CN201310064287.X | 申请日期 | 2013-02-28 |
法律状态 | 授权 | 申报国家 | 暂无 |
公开/公告日 | 2014-09-03 | 公开/公告号 | CN104021120A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F17/30 | IPC分类号 | G;0;6;F;1;7;/;3;0查看分类表>
|
申请人 | 北京四维图新科技股份有限公司 | 申请人地址 | 北京市朝阳区曙光西里甲5号凤凰置地广场A座写字楼17层
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 北京四维图新科技股份有限公司 | 当前权利人 | 北京四维图新科技股份有限公司 |
发明人 | 刘志毅;袁松安;温宇浩;刘泽林 |
代理机构 | 北京银龙知识产权代理有限公司 | 代理人 | 许静;黄灿 |
摘要
本发明适用于汽车导航领域,提供了一种导航数据检索方法、装置及导航终端,所述方法包括以下步骤:采用嵌入式数据库存储兴趣点数据,所述兴趣点数据点包括兴趣数据内容,以及兴趣点数据索引;根据用户输入的兴趣点关键词,在所述嵌入式数据库中检索与所述兴趣点关键词对应的兴趣点记录。本发明采用精简的嵌入式数据库来存储兴趣点检索数据,利用数据库的特点检索兴趣点数据,方便了应用软件的实现和维护,提供多种检索方式,可以按城市、周边以及分类进行检索,方便用户使用,且对硬件配置要求低,在低配置的嵌入式设备上检索平均速度<500MS,检索延迟低,用户体验良好。
1.一种导航数据检索方法,其特征在于,所述方法包括以下步骤:
采用嵌入式数据库存储兴趣点数据,所述兴趣点数据包括兴趣点数据内容,以及兴趣点数据索引,所述兴趣点数据索引包括与行政区划对应的网格索引、与网格对应的行政区划索引、网格范围内的兴趣点关键字索引,以及网格范围内的兴趣点索引;
根据用户输入的兴趣点关键词,在所述嵌入式数据库中检索与所述兴趣点关键词对应的兴趣点记录,包括:根据用户输入的兴趣点关键词,查询所述行政区划信息,获取用户输入的兴趣点关键词所在的行政区划编码;
根据所述行政区划编码,查询与所述行政区划对应的网格索引,获取所述行政区划的外接矩形,以及所述外接矩形范围内的网格列表;
遍历所述外接矩形范围内的网格列表,查询网格范围内的兴趣点关键字索引和网格范围内的兴趣点索引,获取所述外接矩形范围内符合用户输入的兴趣点关键词的兴趣点记录;
根据兴趣点分类信息,对当前网格内符合用户输入的兴趣点关键词的兴趣点记录按兴趣点分类滤除不符合用户输入的兴趣点分类的兴趣点;
查询所述与网格对应的行政区划索引,根据用户检索的兴趣点所在行政区划的真实形状滤除不属于所述行政区划的兴趣点,输出符合条件的兴趣点记录。
2.如权利要求1所述的方法,其特征在于,所述兴趣点数据内容包括行政区划信息、兴趣点分类信息,以及兴趣点的网格定位信息。
3.如权利要求2所述的方法,其特征在于,所述行政区划信息包括行政区划编号、行政区划的名称、上级行政区划编号,以及行政区划所属的电话号码前缀;
所述行政区划信息以行政区划编号为主键。
4.如权利要求2所述的方法,其特征在于,所述兴趣点分类信息包括兴趣点分类编号、兴趣点分类名称、兴趣点分类的上级分类编号、兴趣点分类所对应的图标编号,以及兴趣点分类的内部编号;
所述兴趣点分类信息以所述兴趣点分类编号为主键。
5.如权利要求2所述的方法,其特征在于,所述兴趣点的网格定位信息包括兴趣点所在网格的网格纵向编号、网格横向编号、兴趣点编号、兴趣点分类编号,以及兴趣点名称;
所述兴趣点的网格定位信息以兴趣点所在网格的网格纵向编号、网格横向编号、兴趣点编号为组合主键,以所述兴趣点分类编号为外键。
6.如权利要求2所述的方法,其特征在于,所述与行政区划对应的网格索引包括网格所属的行政区划编码、行政区划的外接矩形范围,以及行政区划对应的网格编号。
7.如权利要求2所述的方法,其特征在于,所述与网格对应的行政区划索引包括网格横向编号、网格纵向编号、网格对应的行政区划编号列表,以及行政区划的具体形状。
8.如权利要求2所述的方法,其特征在于,所述网格范围内的兴趣点关键字索引包括关键字、网格横向编号、网格纵向编号,以及含有所述关键字的兴趣点索引单元列表。
9.如权利要求2所述的方法,其特征在于,所述网格范围内的兴趣点索引包括网格横向编号、网格纵向编号,以及网格范围内的兴趣点索引单元列表。
10.一种导航数据检索装置,其特征在于,所述装置包括:
兴趣点数据库,用于采用嵌入式数据库存储兴趣点数据,所述兴趣点数据包括兴趣点数据内容,以及兴趣点数据索引,所述兴趣点数据索引包括与行政区划对应的网格索引、与网格对应的行政区划索引、网格范围内的兴趣点关键字索引,以及网格范围内的兴趣点索引;以及
兴趣点检索单元,用于根据用户输入的兴趣点关键词,在所述兴趣点数据库中检索与所述兴趣点关键词对应的兴趣点记录,所述兴趣点检索单元包括:
行政区划编码获取模块,用于根据用户输入的兴趣点关键词,查询所述行政区划信息,获取用户输入的兴趣点所对应的行政区划编码;
外接矩形获取模块,用于根据所述行政区划编码,查询与所述行政区划对应的网格索引,获取所述行政区划的外接矩形,以及所述外接矩形范围内的网格列表;
兴趣点记录获取模块,用于记录遍历所述外接矩形范围内的网格列表,查询网格范围内的兴趣点关键字索引和网格范围内的兴趣点索引,获取所述外接矩形范围内符合用户输入的兴趣点关键词的兴趣点记录;
兴趣点分类过滤模块,用于根据兴趣点分类信息,对当前网格内符合用户输入的兴趣点关键词的兴趣点记录按兴趣点分类滤除不符合用户输入的兴趣点分类的兴趣点;以及行政区划形状过滤模块,用于查询所述与网格对应的行政区划索引,根据用户检索的兴趣点所在行政区划的真实形状滤除不属于所述行政区划的兴趣点,输出符合条件的兴趣点记录。
11.如权利要求10所述的装置,其特征在于,所述兴趣点数据内容包括行政区划信息、兴趣点分类信息、兴趣点的网格定位信息。
12.如权利要求11所述的装置,其特征在于,所述行政区划信息包括行政区划编号、行政区划的名称、上级行政区划编号,以及行政区划所属的电话号码前缀;
所述行政区划信息以行政区划编号为主键。
13.如权利要求11所述的装置,其特征在于,所述兴趣点分类信息包括兴趣点分类编号、兴趣点分类名称、兴趣点分类的上级分类编号、兴趣点分类所对应的图标编号,以及兴趣点分类的内部编号;
所述兴趣点分类信息以所述兴趣点分类编号为主键。
14.如权利要求11所述的装置,其特征在于,所述兴趣点的网格定位信息包括兴趣点所在网格的网格纵向编号、网格横向编号、兴趣点编号、兴趣点分类编号,以及兴趣点名称;
所述兴趣点的网格定位信息以兴趣点所在网格的网格纵向编号、网格横向编号、兴趣点编号为组合主键,以所述兴趣点分类编号为外键。
15.如权利要求11所述的装置,其特征在于,所述与行政区划对应的网格索引包括网格所属的行政区划编码、行政区划的外接矩形范围,以及行政区划对应的网格编号。
16.如权利要求11所述的装置,其特征在于,所述与网格对应的行政区划索引包括网格横向编号、网格纵向编号、网格对应的行政区划编号列表,以及行政区划的具体形状。
17.如权利要求11所述的装置,其特征在于,所述网格范围内的兴趣点关键字索引包括关键字、网格横向编号、网格纵向编号,以及含有所述关键字的兴趣点索引单元列表。
18.如权利要求11所述的装置,其特征在于,所述网格范围内的兴趣点索引包括网格横向编号、网格纵向编号,以及网格范围内的兴趣点索引单元列表。
19.一种导航终端,其特征在于,所述导航终端包括权利要求10至18的任一权利要求所述的导航数据检索装置。
一种导航数据检索方法、装置及导航终端\n技术领域\n[0001] 本发明属于汽车导航领域,尤其涉及一种导航数据检索方法、装置及导航终端。\n背景技术\n[0002] 随着导航技术的发展,导航数据的存储格式也在不断进步。传统的导航数据一般都采用二进制文件的方式进行存储,为了提高性能和压缩数据容量,其重点主要放在数据的高效性和紧凑性上,但是这样一来就导致了这种格式的灵活性较差,可以说这种格式基本上是“只读”的,对于增量更新等新技术的兼容性不佳。\n[0003] 嵌入式数据库与传统的数据库不同,其具有较为独特的运行模式,没有客户机服务器配置相关的开销,一般是直接嵌入到应用程序进程中。相对传统的数据库而言,嵌入式数据库是一种轻量级的数据库,其代码精简,执行速度快,在运行时,所需的内存也更少,非常适合嵌入式设备。作为数据库的一种,嵌入式数据库可以使用结构化查询语言(Structured Query Language,SQL)语句来管理应用程序数据,与传统的文件格式比较是一个很大的优势。\n[0004] 在导航系统中,除了地图描绘、路径计算等功能之外,导航数据检索是一个非常重要的基础功能,高效便捷的检索功能可以大幅提升用户体验。导航数据检索主要是指对道路以及兴趣点的查询功能。大多数地图数据都会采集大量的兴趣点数据,对于全中国而言,包含的兴趣点一般都在千万级,在这样的海量数据中保持高效的检索速度难度很大。\n[0005] 由于文件结构的巨大差别,传统的基于二进制文件的存储方式下的数据检索存储方法在数据库格式中基本无法套用,需要额外建立复杂的数据管理信息,大量使用文件地址偏移,应用编写不容易,且编译完成的数据难以进行增量更新。\n发明内容\n[0006] 本发明实施例提供一种导航数据检索方法,采用嵌入式数据库存储导航数据,提高了导航系统中兴趣点的检索速度,有助于实现数据的增量更新。\n[0007] 本发明实施例是这样实现的,一种导航数据检索方法,所述方法包括以下步骤:\n[0008] 采用嵌入式数据库存储兴趣点数据,所述兴趣点数据包括兴趣点数据内容,以及兴趣点数据索引;\n[0009] 根据用户输入的兴趣点关键词,在所述嵌入式数据库中检索与所述兴趣点关键词对应的兴趣点记录。\n[0010] 本发明实施例还提供一种导航数据检索装置,所述装置包括:\n[0011] 兴趣点数据库,用于采用嵌入式数据库存储兴趣点数据,所述兴趣点数据包括兴趣点数据内容,以及兴趣点数据索引;以及\n[0012] 兴趣点检索单元,用于根据用户输入的兴趣点关键词,在所述兴趣点数据库中检索与所述兴趣点关键词对应的兴趣点记录。\n[0013] 本发明实施例还提供一种导航终端,所述导航终端包括上述导航数据检索装置。\n[0014] 在本发明的实施例中,采用精简的嵌入式数据库来存储兴趣点检索数据,利用数据库的特点检索兴趣点数据,方便了应用软件的实现和维护,提供多种检索方式,可以按城市、周边以及分类进行检索,方便用户使用,且对硬件配置要求低,在低配置的嵌入式设备上检索平均速度<500MS,检索延迟低,用户体验良好。\n附图说明\n[0015] 图1是本发明实施例提供的导航数据检索方法的实现流程图;\n[0016] 图2是本发明实施例提供的行政区划外接矩形示意图;\n[0017] 图3是本发明实施例提供的关键字兴趣点索引单元列表POILIST_N的示例结构图;\n[0018] 图4是本发明实施例提供的网格范围兴趣点索引单元列表POILIST_R的示例结构图;\n[0019] 图5是本发明实施例提供的兴趣关键词检索的实现流程图;\n[0020] 图6是本发明实施例提供的导航数据检索装置的结构图。\n具体实施方式\n[0021] 本发明实施例采用嵌入式数据库存储兴趣点数据,利用嵌入式数据库的特点简化存储模式,在对兴趣点检索时,对兴趣点数据进行过滤,获得检索结果。\n[0022] 图1示出了本发明实施例提供的导航数据检索方法实现流程,详述如下:\n[0023] 在步骤S101中,采用嵌入式数据库存储兴趣点数据;\n[0024] 本发明实施例采用嵌入式数据库存储导航数据。其中,嵌入式数据库包括两个部分,一部分是兴趣点数据内容,另一部分是兴趣点数据索引,数据索引的作用是能够快速定位检索结果,以利于在海量数据中检索用户需要的信息。\n[0025] 本发明实施例中,兴趣点数据内容包括行政区划信息、兴趣点分类信息,以及兴趣点的网格定位信息。\n[0026] 下表示出了本发明实施例中行政区划信息的存储结构ADMIN_INFO:\n[0027]\nADMINID ADMINNAME PARENTID PREFIX 扩展属性\n110000 北京市 0 010 ...\n110101 东城区 110000 01 0 ...\n... ... ... ... ...\n120000 天津市 0 022 ...\n120101 和平区 120000 022 ...\n... ... ... ... ...\n[0028] 其中,行政区划编号ADMINID为此表的主键,按三级编号6位数字的方式存储,通过ADMINID可以快速获取相关的行政区划信息。\n[0029] 行政区划名称ADMINNAME用来存储该行政区的具体名称,如“北京市”。\n[0030] 上级行政区划编号PARENTID用来存储上级行政区划编号,若是一级行政区划则为\n0。\n[0031] 电话号码前缀PREFIX用来存储该行政区所属的电话号码前缀。\n[0032] 上表中的扩展属性可以具体需要添加。\n[0033] 下表示出了本发明实施例中兴趣点分类信息的存储结构CATEGORY_INFO:\n[0034]\nCATEGORYID CATEGROYNAME PARENTID ICONID INNERID 扩展属性\n10000 汽车 0 1 0 ...\n10100 加油站、加气站 10000 2 0 ...\n10101 中国石油 10100 3 1 ...\n10102 中国石化 10100 4 2 ...\n... ... ... ... ... ...\n20000 餐饮 0 8 0 ...\n20100 快餐 20000 9 0 ...\n... ... ... ... ... ...\n[0035] 其中,兴趣点分类编号CATEGORYID为此表的主键,按三级编号的方式存储,代表兴趣点的分类。\n[0036] 兴趣点分类名称CATEGORYNAME用来存储该分类的具体名称,如“中国石油”。\n[0037] 上级兴趣点分类编号PARENTID用来存储上级分类编号,如二级分类“加油站”的上级分类是一级分类“汽车”的编号为0。\n[0038] 兴趣点分类图标编号ICONID用来存储该分类所对应的图标编号。\n[0039] 分类内部编号INNERID是为了节约索引表空间而设,每个三级分类都分配有唯一的内部编号,一级、二级分类的内部编号为0。\n[0040] 上表中的扩展属性可以具体需要添加。\n[0041] 下表示出了本发明实施例中兴趣点的网格定位信息的存储结构POI_INFO:\n[0042]\nMESHY MESHX POIID INNERID POINAME 扩展属性\n218 395 1 10101 A加油站 ...\n218 395 2 10102 B加油站 ...\n... ... ... ... ... ...\n218 396 1 20101 麦当劳 ...\n218 396 2 20102 肯德基 ...\n... ... ... ... ... ...\n219 393 1 30101 华润超市 ...\n... ... ... ... ... ...\n[0043] 其中,网格纵向编号MEXHY,网格横向编号MESHX,兴趣点编号POIID这三个字段为组合主键,可以唯一定位一条兴趣点记录。\n[0044] INNERID是外键,对应CATEGORY_INFO中的INNERID,用来存储该兴趣点所属的三级分类编号。\n[0045] 兴趣点名称POINAME用来存储该兴趣点的具体名称。\n[0046] 本发明实施例中,需要对以上存储的行政区划信息、兴趣点分类信息,以及兴趣点的网格定位信息建立索引。\n[0047] 在本发明实施例中,兴趣点数据索引包括与行政区划对应的网格索引、与网格对应的行政区划索引、网格范围内的兴趣点关键字索引,以及网格范围内的兴趣点索引。\n[0048] 下表示出了本发明实施例中表示与行政区划对应的网格索引IDX_ADMINMESH的结构,一个行政区划一般会对应2个以上的网格:\n[0049]\nADMINID ADMINLBY ADMINLBX ADMINRTY ADMINRTX MESHLIST\n110101 451 478 451 479 BLOB\n110102 450 478 451 479 BLOB\n110105 450 477 453 481 BLOB\n... ... ... ... ... ...\n[0050] 其中,行政区划编码ADMINID表示网格所属的行政区划编码,提供省、市、区三级。\n[0051] ADMINLBX,ADMINLBY,ADMINRTX,ADMINRTY代表行政区划的范围,如图2所示,以左下、右上两点表达的矩形范围,单位为1/128秒。\n[0052] 计算公式如下:\n[0053] ADMINLBX=(LBX-基准点经度)/网格宽度;\n[0054] ADMINLBY=(LBY-基准点纬度)/网格高度;\n[0055] ADMINRTX=(RTX-基准点经度)/网格宽度;\n[0056] ADMINRTY=(RTY-基准点纬度)/网格高度;\n[0057] 网格编号列表MESHLIST存储了与该行政区划对应的具体网格编号。\n[0058] BLOB为二进制大型对象的英文缩写(Binary Large Object),可用来存储自定义结构的二进制数据。\n[0059] 下表示出了本发明实施例中表示与网格对应的行政区划索引IDX_MESHADMIN的结构:\n[0060]\nMESHY MESHX ADMINLIST ADMINSHAPE\n107 472 BLOB BLOB\n108 470 BLOB BLOB\n108 471 BLOB BLOB\n[0061]\nMESHY MESHX ADMINLIST ADMINSHAPE\n... ... ... ...\n[0062] 其中,MESHX代表网格横向编号,MESHY代表网格纵向编号。\n[0063] 网格编号根据以下公式计算:\n[0064] MESHX=(任意点经度-基准点经度)/MESH_WIDTH;\n[0065] MESHY=(任意点纬度-基准点纬度)/MESH_HEIGHT;\n[0066] 其中,MESH_WIDTH为格网宽度,默认为57600,单位1/128秒,MESHHEIGHT为格网高度,默认为38400,单位1/128秒,基准点为格网起算基准点,单位1/128秒,默认为(27648000,0),即从东经50度,北纬0度开始划分格网。\n[0067] ADMINLIST是该网格对应的行政区划编号列表,当网格正好处于多个行政区的边界上时,这个网格就会包含多个行政区划的信息。\n[0068] ADMINSHAPE存储了行政区划的具体形状,为多边形。\n[0069] 下表示出了本发明实施例中网格范围内的兴趣点关键字索引IDX_NAME_CHI的结构:\n[0070]\nKEYCHAR MESHY MESHX POILIST_N\n一 238 401 BLOB\n一 239 401 BLOB\n... ... ... ...\n二 353 369 BLOB\n... ... ... ...\n[0071] 其中,KEYCHAR代表关键字,以汉字为单位。\n[0072] MESHX,MESHY为网格编号。\n[0073] KEYCHAR,MESHY,MESHX这三个字段组成一个组合主键,通过这3个字段可以唯一地标识关键字兴趣点索引表中的一行记录,其中POILIST_N字段存储了该网格范围内含有该KEYCHAR的兴趣点索引单元列表。\n[0074] 图3示出了本发明实施例中关键字兴趣点索引单元列表POILIST_N的示例结构。\n[0075] 关键字兴趣点索引单元列表中包含有多个兴趣点索引单元记录POI记录1~POI记录n,每个兴趣点索引单元记录中含有兴趣点编号POI_ID,以及关键字在该POI名称中所处的位置,例如“浦东”这个关键词在“上海浦东国际机场”的位置为3。\n[0076] 下表示出了本发明实施例中网格范围内的兴趣点索引IDX_RADIUS的结构:\n[0077]\nMESHY MESHX POILIST_R\n238 401 BLOB\n238 401 BLOB\n... ... ...\n239 401 BLOB\n239 401 BLOB\n... ... ...\n353 369 BLOB\n... ... ...\n[0078] 其中,MESHX,MESHY为网格编号,MESHY,MESHX组成一个组合主键,通过这2个字段可以唯一地标识网格范围兴趣点索引表中的一行记录,其中POILIST_R字段存储了该网格范围内所有的兴趣点索引单元列表。\n[0079] 图4示出了本发明实施例中网格范围兴趣点索引单元列表POILIST_R的示例结构。\n[0080] 网格范围兴趣点索引单元列表中包含有多个兴趣点索引单元记录POI记录1~POI记录n,每个兴趣点索引单元记录中含有兴趣点编号POI_ID,该兴趣点POI所属的分类内部编号,兴趣点POI的经度和纬度等。\n[0081] 在步骤S102中,根据用户输入的兴趣点关键词,在嵌入式数据库中检索与兴趣点关键词对应的兴趣点记录。\n[0082] 作为本发明的实施例,在上述嵌入式数据库结构的基础上,可以实现诸如城市、周边、分类、名称等多种检索方式。\n[0083] 为了提高检索的效率,本发明实施例采用多层次过滤的方法来获取检索结果。\n[0084] 图5示出了本发明实施例提供的兴趣关键词检索的实现流程,详述如下:\n[0085] 在步骤S501中,根据用户输入的兴趣点,查询行政区划信息,获取用户输入的兴趣点所对应的行政区划编码。\n[0086] 在步骤S502中,根据行政区划编码,查询与行政区划对应的网格索引,获取行政区划的外接矩形,以及外接矩形范围内的网格列表。\n[0087] 在步骤S503中,遍历外接矩形范围内的网格列表,查询网格范围内的兴趣点关键字索引和网格范围内的兴趣点索引,获取外接矩形范围内符合用户输入的兴趣点关键词数据的兴趣点记录。\n[0088] 在步骤S504中,根据兴趣点分类信息,对当前网格内符合用户输入的兴趣点关键词的兴趣点记录按兴趣点分类滤除不符合用户输入的兴趣点分类的兴趣点。\n[0089] 在步骤S505中,查询与网格对应的行政区划索引,根据用户检索的兴趣点所在行政区划的真实形状滤除不属于行政区划的兴趣点,输出符合条件的兴趣点记录。\n[0090] 以下通过一个具体的示例来说明上述检索方法的具体实现过程,例如用户需要在上海市杨浦区范围内搜索名称含有“四维图新”并且分类为公司的兴趣点,其过程如下:\n[0091] 1.查询行政区划信息表ADMIN_INFO,杨浦区对应的行政区划编号ADMINID是\n310110。\n[0092] 2.查询行政区划-网格索引表IDX_ADMINMESH,获取该行政区划的外接矩形,以及杨浦区所对应的网格编号列表MESHLIST,查询结果如下:\n[0093] LBX=491,LBY=374,RTX=492,RTY=376。\n[0094] 3.通过下面的SQL语句查询中文名称索引表IDX_NAME_CHI,取得杨浦区范围(外接矩形)内同时含有“四维图新”的网格列表:\n[0095] SELECT T4.MESHX,T4.MESHY\n[0096] FROM IDX_NAME_CHI AS T1\n[0097] JOIN IDX_NAME_CHI AS T2ON T1.MESHX=T2.MESHX AND T1.MESHY=T2.MESHY[0098] JOIN IDX_NAME_CHI AS T3ON T1.MESHX=T3.MESHX AND T1.MESHY=T3.MESHY[0099] JOIN IDX_NAME_CHI AS T4ON T1.MESHX=T4.MESHX AND T1.MESHY=T4.MESHY[0100] WHERE T4.MESHX>=491\n[0101] AND T4.MESHX<=492\n[0102] AND T4.MESHY>=374\n[0103] AND T4.MESHY<=376\n[0104] AND T1.KEYCHAR=′四′\n[0105] AND T2.KEYCHAR=′维′\n[0106] AND T3.KEYCHAR=′图′\n[0107] AND T4.KEYCHAR=′新′\n[0108] 4.由于上述过程3中产生的网格列表是按外接矩形来过滤,其中可能含有不属于杨浦区的网格,因此需要用过程2中获取的杨浦区的网格编号列表MESHLIST来进一步过滤,忽略不属于杨浦区的网格。\n[0109] 5.过程3中产生的网格列表代表其中的每个网格都同时含有“四维图新”,但不排除是网格内的兴趣点1名称含有“四”,兴趣点2名称含有“维”,兴趣点3名称含有“图”,兴趣点4名称含有“新”。\n[0110] 而用户实际需要的是同一个兴趣点名称中同时含有“四维图新”的记录,因此本发明实施例需要对网格内的兴趣点作进一步的过滤工作,对单一网格而言,需要再对索引表IDX_NAME_CHI作4次查询,分别获取:\n[0111] POILIST_N1(网格内含有关键字′四′的兴趣点索引单元列表)\n[0112] POILIST_N2(网格内含有关键字′维′的兴趣点索引单元列表)\n[0113] POILIST_N3(网格内含有关键字′图′的兴趣点索引单元列表)\n[0114] POILIST_N4(网格内含有关键字′新′的兴趣点索引单元列表)\n[0115] 将上述几个兴趣点索引单元列表作交集之后,就能取得同时含有“四维图新”的兴趣点编号了。\n[0116] 6.查询网格范围索引表IDX_RADIUS,获取兴趣点列表POILIST_R,并去除其中分类不属于“汽车”的兴趣点。\n[0117] 7.将过程5取得的兴趣点列表POILIST_N和过程6取得的兴趣点列表POILIST_R作交集之后,就取得了名称含有“四维图新”并且分类为公司的兴趣点列表。\n[0118] 8.查询网格-行政区划索引表IDX_MESHADMIN,取得行政区划的具体形状ADMINSHAPE,使用杨浦区的精确形状来过滤不属于杨浦区的兴趣点,即在名称含有“四维图新”并且分类为公司的兴趣点中过滤,检索完成。\n[0119] 上述例子使用的是城市检索方式,如果用户需要使用周边检索的话,可以利用以下公式直接计算出检索范围,而不需要查询行政区划-网格索引表IDX_ADMINMESH。\n[0120] LBX=(自车位置经度-周边范围-基准点经度)/网格宽度;\n[0121] RTX=(自车位置经度+周边范围-基准点经度)/网格宽度;\n[0122] LBY=(自车位置纬度-周边范围)/网格高度;\n[0123] RTY=(自车位置纬度+周边范围)/网格高度。\n[0124] 图6示出了本发明实施例提供的导航数据检索装置的结构,为了便于说明,仅示出了与本发明实施例相关的部分。\n[0125] 该导航数据检索装置可以广泛应用于汽车导航仪、具有导航功能的手机、平板电脑等各种导航终端中,可以是导航终端内的软件单元、硬件单元或者软硬件相结合的单元,也可以作为独立的挂件集成到导航终端的应用系统中。\n[0126] 兴趣点数据库61采用嵌入式数据库存储兴趣点数据。\n[0127] 在本发明实施例中,兴趣点数据包括兴趣点数据内容,以及兴趣点数据索引。\n[0128] 在本发明实施例中,兴趣点数据内容包括行政区划信息、兴趣点分类信息、兴趣点的网格定位信息,兴趣点数据索引包括与行政区划对应的网格索引、与网格对应的行政区划索引、网格范围内的兴趣点关键字索引,以及网格范围内的兴趣点索引。\n[0129] 在本发明实施例中,行政区划信息包括行政区划编号、行政区划的名称、上级行政区划编号,以及行政区划所属的电话号码前缀;\n[0130] 行政区划信息以行政区划编号为主键。\n[0131] 行政区划信息的存储结构如上所述,不再赘述。\n[0132] 在本发明实施例中,兴趣点分类信息包括兴趣点分类编号、兴趣点分类名称、兴趣点分类的上级分类编号、兴趣点分类所对应的图标编号,以及兴趣点分类的内部编号;\n[0133] 兴趣点分类信息以兴趣点分类编号为主键。\n[0134] 兴趣点分类信息的存储结构如上所述,不再赘述。\n[0135] 在本发明实施例中,兴趣点的网格定位信息包括兴趣点所在网格的网格纵向编号、网格横向编号、兴趣点编号、兴趣点分类编号,以及兴趣点名称;\n[0136] 兴趣点的网格定位信息以兴趣点所在网格的网格纵向编号、网格横向编号、兴趣点编号为组合主键,以兴趣点分类编号为外键。\n[0137] 兴趣点的网格定位信息的存储结构如上所述,不再赘述。\n[0138] 在本发明实施例中,与行政区划对应的网格索引包括网格所属的行政区划编码、行政区划的外接矩形范围,以及行政区划对应的网格编号。\n[0139] 行政区划对应的网格索引的存储结构如上所述,不再赘述。\n[0140] 在本发明实施例中,与网格对应的行政区划索引包括网格横向编号、网格纵向编号、网格对应的行政区划编号列表,以及行政区划的具体形状。\n[0141] 与网格对应的行政区划索引的存储结构如上所述,不再赘述。\n[0142] 在本发明实施例中,网格范围内的兴趣点关键字索引包括关键字、网格横向编号、网格纵向编号,以及含有所述关键字的兴趣点索引单元列表。\n[0143] 网格范围内的兴趣点关键字索引的存储结构如上所述,不再赘述。\n[0144] 在本发明实施例中,网格范围内的兴趣点索引包括网格横向编号、网格纵向编号,以及网格范围内的兴趣点索引单元列表。\n[0145] 网格范围内的兴趣点索引的存储结构如上所述,不再赘述。\n[0146] 兴趣点检索单元62根据用户输入的兴趣点关键词,在兴趣点数据库61中检索与所述兴趣点关键词对应的兴趣点记录。\n[0147] 其中,行政区划编码获取模块621根据用户输入的兴趣点关键词,查询行政区划信息,获取用户输入的兴趣点所对应的行政区划编码。\n[0148] 外接矩形获取模块622根据行政区划编码,查询与行政区划对应的网格索引,获取行政区划编码对应的外接矩形,以及该外接矩形范围内的网格列表。\n[0149] 兴趣点记录获取模块623记录遍历外接矩形范围内的网格列表,查询网格范围内的兴趣点关键字索引和网格范围内的兴趣点索引,获取该外接矩形范围内符合用户输入的兴趣点关键词的兴趣点记录。\n[0150] 兴趣点分类过滤模块624根据兴趣点分类信息,对当前网格内符合用户输入的兴趣点关键词的兴趣点记录按兴趣点分类滤除不符合用户输入的兴趣点分类的兴趣点。\n[0151] 行政区划形状过滤模块625查询与网格对应的行政区划索引,根据用户检索的兴趣点所在行政区划的真实形状滤除不属于该行政区划的兴趣点,输出符合条件的兴趣点记录。\n[0152] 在本发明的实施例中,采用精简的嵌入式数据库来存储兴趣点检索数据,利用数据库的特点检索兴趣点数据,方便了应用软件的实现和维护,提供多种检索方式,可以按城市、周边以及分类进行检索,方便用户使用,且对硬件配置要求低,在低配置的嵌入式设备上检索平均速度<500MS,检索延迟低,用户体验良好。\n[0153] 以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
法律信息
- 2017-09-26
- 2014-10-08
实质审查的生效
IPC(主分类): G06F 17/30
专利申请号: 201310064287.X
申请日: 2013.02.28
- 2014-09-03
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2009-08-26
|
2009-03-05
| | |
2
| |
2011-08-10
|
2010-02-05
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |