根据汉字快速查找兴趣点的检索方法技术

技术编号:5964148 阅读:336 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了一种根据汉字快速查找兴趣点的检索方法,包括:将原始数据编译成一级索引文件,按照兴趣点在原始数据文件的顺序将兴趣点的各个字段进行存储,通过文件的偏移地址可以找到每个兴趣点的每个字段的内容;根据一级索引文件,提取其中的汉字名称字段,根据提取的汉字名称字段的每个汉字的兴趣点编号、所在兴趣点的下一个汉字建立二级索引文件;导航软件输入查询汉字检索兴趣点时,获取用户输入的第一个汉字在二级索引文件中的信息,和输入的第二个汉字在二级索引文件中的信息求交集,并将二者的交集作为下一个匹配求交集的第一个集合,与用户后续输入的下一个汉字求交集,直到求得用户需要的兴趣点集合,并将检索结果显示给用户。

【技术实现步骤摘要】

本专利技术涉及导航定位
,尤其是涉及一种根据汉字快速查找兴趣点的检索 方法。
技术介绍
近年来,随着我国汽车产业壮大,汽车正逐渐地走进人们的生活,人们所涉及的区 域也越来越广大,同时卫星导航系统日臻成熟,为车载导航仪的研发提供了一个良好的市 场环境。在卫星信号良好的前提下,导航系统通过天线接收卫星信号,导航系统的卫星数 据分析系统分析出当前车辆所在的经纬度,调用导航系统的地图数据存储单元,在导航仪 屏幕上显示给用户虚拟的地理位置,用户通过点击导航仪检索部分的按钮,在触摸屏输入 自己的查询信息,并分别确定一个起始地和目的地进行路径规划后进行导航。在中国专利号为CN20081014505. 1的专利技术专利中,公开了一种对兴趣点进行检索 的导航装置及其检索兴趣点POI (Point Of Interest)的方法。该方法通过对兴趣点名称 数据库中的所有兴趣点名称数据所涉及的中文字符按照一定的顺序进行排列,然后对应于 每一个不同的中文字符设立一个由各条索引记录组成的索引项,其中索引项的每条索引记 录与包含该特定中文字符的一条兴趣点名称数据项对应,每条索引记录包括与兴趣点名称 数据相对应名称编码和该兴趣点名称数据中特定中文字符所在位置的位置编码。该导航装 置检索兴趣点时,将录入的文字序列所对应的各个索引项的记录逐一比较,得到符合条件 的一组索引记录,然后根据该组索引记录提取兴趣点名称数据后进行显示。在上述专利技术专利的技术方案中存在如下问题由于没有对原始数据进行预编译, 导致进行兴趣点名称匹配时检索的速度缓慢,内存占用过大;另外,由于在该专利技术中需要记 录每个汉字所在记录号中的位置以及需要对各个索引项的记录逐一进行比较,因此造成了 索引数据文件的庞大的同时,也降低了对索引数据文件进行检索的速度。
技术实现思路
为了解决上述专利中现有技术存在的缺陷,本专利技术提出了一种新的根据汉字快速 查找兴趣点的检索方法,通过获取输入的第一个汉字与第二个汉字在二级索引文件中的信 息,求出二者的交集,并且将该交集作为下一个匹配求交集的第一个集合,与继续输入的下 一个汉字求出它们之间的交集,依此类推,获取需要的兴趣点集合后,将检索结果显示给用 户。为达到上述目的,本专利技术提供了一种,该方 法包括如下步骤Si.在原始数据文件中的每个POI信息前面添加索引后生成一级索引文件;S2.将整个一级索引文件的各个POI的名称字段数据进行格式存储,生成二级索 引文件;S3.依据输入的汉字对二级索引文件的POI名称进行检索,获取符合条件的ID 号;S4.通过文件头部的ID号索引,从一级索引文件中获取所求POI的详细信息。在本专利技术的一个实施例中,所述步骤S2还包括如下步骤S21.从一级索引文件中读取每个POI的名称字段所对应的汉字,并且记录每个汉 字所在的ID号和该汉字在POI名称字段中出现的位置以及每个汉字所在的POI名称字段 中的下一个汉字的编码;S22.为每个汉字建立一个位置索引。在本专利技术的另一个实施例中,所述步骤S3包括,SSl 在触摸屏上输入要查询的汉字串;SS2 求出输入的汉字字串中汉字的个数;SS3 读出在二级索引文件中的所有的汉字编码,保存在内存中;SS4:二分查找到与用户输入的第一个汉字,即汉字0的编码相等的汉字,得到该 汉字在二级索引文件中属于第几个汉字;SS5 根据汉字0在二级索引文件中汉字编码索引中的顺序,找出汉字0的位置索 引信息,并记录下汉字0每个位置的信息,分别保存在不同的指针数组中去;SS6 将第i个汉字出现的位置与之前的i_l个汉字出现的位置的交集求交集,并 将这个交集作为新的位置交集;SS7:对于新的位置的交集,则以前面的第i_l个汉字的位置为基准,取出符合前 面i_l个字的查询信息并出现在位置m上的ID号的集合,与第i个汉字在位置m+1上的ID 号的集合求交集,并将求得的交集作为新的出现在位置m的ID号的交集;此时如果用户只 输入了一个查询汉字,则跳转到SS8,否则跳转到SS6 ;SS8 保存第i个字的下一个汉字进行汉字联想,同时去掉重复的记录并且另外保存。在本专利技术的又一个实施例中,上述步骤S3中还具有汉字联想功能。在本专利技术的另一个实施例中,上述步骤S3中还具有去掉重复记录的功能。利用本专利技术实施例的,可以减少系统内存的 消耗,节省更多的内存空间,提高了检索的速度及其效率。附图说明本专利技术的上述和/或附加的方面和优点从下面结合附图对实施例的描述中将变 得明显和容易理解,其中图1是根据本专利技术实施例的的流程图;图2是根据本专利技术实施例的一级索引文件的格式图;图3是根据本专利技术实施例的二级索引文件的格式图;图4是根据本专利技术实施例的的步骤S3的详 细工作流程图。具体实施例方式下面将参照附图更加详细地描述根据本专利技术的根据汉字快速查找兴趣点的检索 方法的具体实施例。如图1所示,本专利技术实施例的包括如下步骤Si.在原始数据文件中的每个POI信息前面添加索引后生成一级索引文件;S2.将整个一级索引文件的各个POI的名称字段数据进行格式存储,生成二级索 引文件;S3.依据输入的汉字对二级索引文件的POI名称进行检索,获取符合条件的ID 号;S4.通过文件头部的ID号索引,从一级索引文件中获取所求POI的详细信息。其中,POI表示原始数据的一个个记录信息,该记录信息包括一个记录的名称、地 址、名称首字母等字段。POI的索引偏移地址是指该POI的详细名称、地址、电话等等信息在 文件中的存储位置,即该POI的记录信息在文件中的开始位置。相邻两个Ρ0Ι,即A1、A2的 索引偏移地址的差值A2-A1就是Al的信息长度,也就是Al的POI详细信息。依此类推,将 整个原始文件的数据以图2所示的文件格式进行存储,生成一级索引文件(即bin文件)。 由于原始文件中,每行就是一个完整的Ρ0Ι,所以POI的序列号,S卩ID号就是一个POI在原 始数据中的行号。在原始文件的头部建立每个POI信息的索引后生成一级索引文件。从一级索引文件中读取每个POI的名称字段,将POI名称字段中的汉字读取出来, 并记录每个汉字所在的ID号、在POI名称字段中出现的位置、每个汉字所在的POI名称字 段中的下一个汉字的编码。在写入文件的时候,使用两层索引的办法。第一层索引,记录每 个汉字的编码,用于匹配用户出现的汉字;第二层索引,为每个汉字建立一个位置索引,该 位置索引是指该汉字出现在所在的POI名称字段中的位置。在第一层和第二层索引之后是 具体的每个汉字的每个位置的信息。形如ID号+下一个汉字的形式。依此类推,将整个一 级索引文件的各个POI的名称字段数据以图3所示的文件格式进行存储,生成二级索引文 件。在二级索引文件中,按照如附图4所示的上述步骤S3的详细搜索步骤进行汉字检索。首先,用户选择需要选择的内容所在的城市,比如“深圳市”。SSl 在触摸屏上输入自己想要查询的汉字串,比如“深圳大学”;SS2 求出输入的汉字字串中汉字的个数;SS3 读出在二级索引文件中的所有的汉字编码,保存在内存中;SS4 二分查找到与用户输入的第一个汉字(即汉字0)的编码相等的汉字,得到该 汉字在二级索引文件中属于第几个汉字;SS5 根据汉字0在二级索引文件中汉字编码索引中的顺序,找出汉字0的位置索 本文档来自技高网
...

【技术保护点】
1.一种根据汉字快速查找兴趣点的检索方法,其特征在于,该方法包括如下步骤,S1.在原始数据文件中的每个POI信息前面添加索引后生成一级索引文件;S2.将整个一级索引文件的各个POI的名称字段数据进行格式存储,生成二级索引文件;S3.依据输入的汉字对二级索引文件的POI的名称进行检索,获取符合条件的ID号;以及S4.通过文件头部的ID号索引,从一级索引文件中获取所求POI的详细信息。

【技术特征摘要】

【专利技术属性】
技术研发人员:吴建峰陈阳吕大鹏
申请(专利权)人:比亚迪股份有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1