一种联网车载导航设备中兴趣点按拼音首字母检索的方法

文档序号:6124309阅读:194来源:国知局

专利名称::一种联网车载导航设备中兴趣点按拼音首字母检索的方法
技术领域
:本发明涉及一种拼音首字母检索方法,尤其涉及一种联网车载导航设备中兴趣点按拼音首字母检索的方法。技术背景10中国国家标准《汽车GPS导航系统通用规范》(GB/T19392-2003)中对兴趣点(pointofinterestPOI)作了如下定义兴趣点是指一个能描述特定地址的出入口位置,以作为系统车辆导航的目标。在系统功能要求方面,此规范还要求汽车导航系统具备目标检索功能,15其中之一就是系统应为导航的目的地提供兴趣点检索功能。当前,电子导航地图厂商提供的导航地图数据包含了大量的导航信息数据,其中兴趣点信息尤为丰富。一般兴趣点信息要分类表示,如大类、中类、小类,包含加油站、停车场、宾馆酒店、快餐厅、银行、Y木闲娱乐、商场、超市和政府机关等上百类生活资讯。如何在车20辆导航系统中方便、快速地检索出这些兴趣点,将其作为导航目的地,成为一个十分突出的问题。车辆GPS导^t系统现在基本上分为自主式车辆导航系统、中心式车辆导航系统。自主式车辆导航系统的导航地图、导航程序放在车载导航终端设备中,这种设备一般都有一个显示屏,用户.(驾驶员.)直25接在屏上进行导航操作。中心式车辆导航系统的导航地图、导航程序则放在导航中心的PC机或服务器上,用户一般打电话向导航中心请求导航,由导航中心的操作人员进行导航操作。不管是哪种车辆导航系统,目前基本上提供了拼音、地址、类别、电话号码等目的地检索方式。30对于按拼音检索兴趣点的方式,虽然都是输入兴趣点的首字母拼-音,但在实际使用中则不尽相同,有的甚至很繁瑣。主要表现在必须要输入一个兴趣点全部的首字母拼音,而不能输入一个兴趣点其中的关键词的首字母拼音;首字母拼音必须大写;首字母拼音关键词输入的先后顺序不能调换。中"式车辆导航系统由于在PC机上操作,35可能还好,但是使用自主式车辆导航系统的用户就很不方便了。这样就使得按拼音^r索兴趣点的功能大打折扣,没有达到其预期效果。
发明内容本发明旨在提供一种在车辆导航设备中操作简单、方便的按拼音首字母检索兴趣点的方法,任何用户(驾驶员)在车辆导航设备上进行按拼音首字母检索兴趣点时,只需输入待检索兴趣点几个关键词的拼音首字母,就可以检索出与之相关的所有兴趣点。5为了达成以上目的,本发明包括以下步骤步骤l:将兴趣点原始数据文件转换打包,生成供拼音首字母检索用的索引文件;该索引文件由两组文件构成,第一组文件存放索引文件具体数据,在该文件中数据按拼音首字母进行了排序;第二组文件则用于拼音4企索。io步骤2:对兴趣点数据进行拼音检索。首先输入字符串各汉字的首字母,然后拆分字符串各汉字首字母为多个首字母关键词,通过对第二组文件的关键词拼音首字母检索,取得各个首字母关键词检索结果在第一组文件中的记录号集,对各个首字母关键词的记录号集取交集,最后得到交集数组,.再通过第一组数据获得最终检索结果。15步骤3:显示检索结果。将所迷的检索结果进行分页且按兴趣点的首字母拼音排好了顺序显示,在浏览显示的兴趣点结果时,还可以进行上下页的翻页显示,上下字母的翻页显示和首字母定位显示。步骤4:用户找到所需的兴趣点。所述的索引文件的结构为:<table>tableseeoriginaldocumentpage6</column></row><table><table>tableseeoriginaldocumentpage7</column></row><table>3、Poi.cix(名称第一个字的首字母的快速索引文件,按照字母顺序排序)<table>tableseeoriginaldocumentpage7</column></row><table>4、Spell,inx(有26x26条记录,排列顺序为aa、ab、ac、bb、bc、…zz)<table>tableseeoriginaldocumentpage7</column></row><table>5、Spell.dat(每个关键词下的记录,都按照记录号排序)<table>tableseeoriginaldocumentpage7</column></row><table>所述的各汉字首字母字符串拆分为多个首字母关^r逸词的方法为若字符串为"n(n-l)(n-2)(n-3)(n-4)…(n-m)"将其拆分为n(n-l),(n-l)(n-2),(n-2)(n-3),(n-3)(n-4)..(ntl)(n-m),即依10次拆分相邻两个汉字首字母,两个为一组,若遇空格则跳过。所述的将兴趣点数据转换打包生成供拼音检索用的索引文件的具体实现方法为(1)读取POI原始数据并提取有关信息,对提取后的数据根据中文名称首字母进行排序,存放在一个元素数目大小可变且存放索引文15件的中间临时数据的动态数组中;该动态数组中各数组元素的结构体变量为typedefstructtagPOIData{m一szName;〃中文名称〃中文名称各个汉字首字母字符串〃地址〃联系电话〃经度//绰度m-dwAdmCode;〃行政区划代码25}P0IDATA,*PP0IDATA,FAR*LPPOIDATA;(2)利用动态数组存放索5i文件的中间临时数据生成第一组文件;(3)依次读取动态数组中的各个元素,把各元素中的m-szSpell字段拆分为若干组,拆分方法为以相邻两个拼音首字母为一组依次进行拆分(n(n-1)、(n-l)(n-2)、(n-2)(n-3)…,若遇空格则跳过),m_szSpelUm—szAddr;m_szTel;按顺序拆分的每组拼音首字母对应Spell,inx中的一个索引指针,把m_szSpeli对应的记录号放在该索引指针指向的Spell,dat中,生成第二组文件;(4)采用文件内存映射的方式依次保存这两组文件数据,生成5最终的索引文件。与台式PC机相比较,车载导航系统中主处理器、数据存储空间等硬件资源都十分有限,需要对原始索引数据进行再处理,压缩数据冗余,提高^r索速度。本发明采用的文件存储结构,有效地对原始索引文件进行了压缩打包,采用的检索算法也提高了检索速度。且本发io明先将输入的各汉字首字母字符串拆分为多个首字母关4建词,并分别检索出各个关键词的记录号集,通过取交集的方式获得最终的检索结果。这样,只需输入一个兴趣点其中的关键词的首字母拼音就可以检索,且首字母拼音关键词输入的先后顺序没有要求,大大提高了检索的准确度,使用更为方便和快速。1图1为本发明中兴趣点检索处理流程图;图2为本发明中兴趣点按拼音检索流程图;20图3为用户使用本发明的具体操作流程图。具体实施方式如图1所示,本发明的检索处理部分由两个步骤完成25步骤1:将兴趣点数据转换打包,生成供拼音检索用的索引文件。在前期的PC机上将兴趣点原始数据文件按照指定格式进行转换打包,生成供检索用的索引文件。该索引文件由两组文件构成,第一组文件存放索引文件具体数据,在该文件中数据按拼音首字母进行了排序;第二组文件则用于拼30音检索,通过对第二组文件的关键字拼音首字母检索,取得检索结果在第一组文件中的序号,再通过第一组数据获得最终^r索结果。所述的索引文件的结构为第一-组Poi.inxPoi.datPoi.cix第二-组SpelUnxSpell.dat其中第--组和第二组文件具体组织结构为:<table>tableseeoriginaldocumentpage9</column></row><table>将兴趣点数据转换打包,生成供拼音检索用的索引文件的具体实现方法为io(1)读取POI原始数据,剔除信息冗余,提取有关信息,利用快速排序算法对提取后的数据根据中文名称首字母进行排序,存放在一个元素数目大小可变的动态数组中,该动态数组存放索引文件的中间临时数才居。例如一个完整的原始数据(由其它厂家提供)分别存放在a和b15两个文件中。①在a文件中存放的一行数据格式如下例"雅迅网络","YXWL","A","B","C",...每一行数据中有n个字符串,与拼音首字母检索有关的只有前两个字符串(中文名称及其首字母),其它字符串对拼音首字母检索而言属千信息冗奈。②在b文件中与之对应的凄t据存》文格式如下例PointXYSymbol(A,B,C)5与拼音首字母检索有关的只有"雅迅网络"这个兴趣点的经炜度数据X、Y,其它数据对拼音首字母检索而言属于信息冗余。该动态数组中各数组元素的结构体变量设计如下typedefstructtagPOIData(m-SzName;〃中文名称iom-szSpell;//中文名称各个汉字首字母字符串m—szAddr;//地址m_szTel;〃联系电话m—1Lon;//经度m—1Lat;〃纬度15m—dwAdmCode;〃行政区划代码)P0IDATA,*PP0IDATA,FAR*LPPOIDATA;(2)利用动态数组存放索引文件的中间临时数据生成第一组文件。(3)依次读取动态数组中的各个元素,把各元素中的m-szSpell字段拆分为若干组,拆分方法为依次拆分相邻两个汉字首字母,两20个为一组,若遇空格则跳过,即n(n-l)、(n-l)(n-2)、(n-2)(n-3)...(n-m-l)(n-m);按顺序拆分的每组拼音首字母对应Spell,inx中的一个索引指针,把m_szSpell对应的记录号放在该索引指针指向的Spell.dat中,生成第二组文件;(4)釆用文件内存映射的方式依次保存这两组文件数据,生成25最终的索引文件。步骤2:对兴趣点数据进行拼音检索。用户在联网车载导航设备中,通过自主导航程序中目的地检索模块,根据不同的目的地检索方式,从索引文件中读取相关信息,供用户在导航中使用。本发明拼音检索步骤如图2所示,首先输入字符串各汉字的首字30母,然后拆分字符串各汉字首字母为多个首字母关键词,通过Spell,inx在Spell,dat中读取各个首字母关4建词的记录号集,对各个首字母关键词的记录号集取交集,最后得到交集数组,根据交集数组中的"^己录号,在Poi.inx和Poi.dat中取出相应的检索结果。所述的各汉字首字母字符串拆分为多个首字母关键词的方法为35若字符串为"n(n-l)(n-2)(n-3)(n-4)…(n-m)"将其拆分为n(n—1),(n-l)(n-2),(n-2)(n-3),(n-3)(n-4)..(n-m-l)(n-m),即依次拆分相邻两个汉字首字母,两个为一组,若遇空格则跳过。步骤3:显示检索结果。将所述的检f结果进行分页且按兴趣点的首字母拼音排好了顺序(升序排列,a—z)显示,在浏览显示的还可以进行上下页的翻页显示,上下字母的翻页显示和首字母定位显示。步骤4:用户找到所需的兴趣点。本发明提供一种联网车载导航设备中兴趣点按拼音首字母检索5的方法的一个具体实施例。车辆上的导航设备由导航终端和显示屏组成,导航终端具有卫星定位模块、无线通信模块、信息处理模块,导航终端通过连接线与显示屏连接。电子导航地图存放在导航终端上通过显示屏显示,用户(驾驶员)仅需直接在显示屏上操作即可;这个实施例中的导^t终端上具有最新的电子地图,最新的兴趣点首字母拼io音检索所需的相关索引文件和数据文件和最新的导航程序。当车辆需要导航,用户想通过首字母拼音检索兴趣点来设定导航目的地时,可以先进入拼音检索的界面,在该界面上输入拼音关键词,并确定即可;然后程序根据输入的拼音关键词,查找相关的索引文件和数据文件;查找完毕后,将显示检索结果界面,在该界面上浏览已15显示的兴趣点,选择所需的一个。假定用户想检索兴趣点"海景大酒店停车场"(首字母拼音为HJDJDTCC)。A.输入关键词例一(单个关键词首字母)输入关键词"停车场"的首字母拼音"TCC";20拆分字符串为"TC,CC";查找"TC,CC"对应的兴趣点;显示查找到的"TC,CC"对应的兴趣点;浏览已显示的兴趣点,找到兴趣点"海景大酒店停车场",浏览的方式可以采用上下页翻页、首字母上下翻页显示、首字母定位显示。25B.输入关键词例二(多个关键词首字母)输入关键词"停车场"的首字母拼音"TCC",关键词"海景"的首字母拼音"HJ",关键词"酒店"的首字母拼音"JD",每个关键词之间用空格符分隔;查找"TC、CC、CH、HJ、JJ、JD,,对应的兴趣点;30显示查找到的"TC、CC、CH、HJ、JJ、JD"对应的兴趣点,由于■查找到的相关兴趣点较少,用一页即可显示完,于是直接就可以找到兴趣点"海景大酒店停车场"。权利要求1、一种联网车载导航设备中兴趣点按拼音首字母检索的方法,包括以下步骤步骤1将兴趣点数据转换打包,生成供拼音检索用的索引文件;在前期的PC机上将兴趣点原始数据文件按照指定格式进行转换打包,生成供检索用的索引文件;该索引文件由两组文件构成,第一组文件存放索引文件具体数据,在该文件中数据按拼音首字母进行了排序;第二组文件则用于拼音检索;步骤2对兴趣点数据进行拼音检索;首先输入字符串各汉字的首字母,然后拆分字符串各汉字首字母为多个首字母关键词,通过对第二组文件的关键词拼音首字母检索,取得各个首字母关键词检索结果在第一组文件中的记录号集,对各个首字母关键词的记录号集取交集,最后得到交集数组,再通过第一组数据获得最终检索结果;步骤3显示检索结果;将所述的检索结果进行分页且按兴趣点的首字母拼音排好了顺序显示,在浏览显示的兴趣点结果时,可以进行上下页的翻页显示,上下字母的翻页显示和首字母定位显示;步骤4用户找到所需的兴趣点。2、根据权利要求1所述的一种联网车载导航设备中兴趣点按拼首字母检索的方法,其特征在于所述的索引文件的结构为<table>tableseeoriginaldocumentpage2</column></row><table>该第一组和第二组文件具体组织结构为(1)、Poi.inx:按首字母拼音排序<table>tableseeoriginaldocumentpage2</column></row><table>(2)、Poi.dat<table>complextableseeoriginaldocumentpage3</column></row><table>(3)、Poi.cix母顺序排序名称第一个字的首字母的快速索引文件,按照字<table>complextableseeoriginaldocumentpage3</column></row><table>(4)、Spell,inx:有26x26条记录,排列顺序为aa、ab、acbb、bc、…zz<table>complextableseeoriginaldocumentpage3</column></row><table>(5)、Spell.dat:每个关键词下的记录,按照记录号排序<table>complextableseeoriginaldocumentpage3</column></row><table>3、根据权利要求1所述的一种联网车载导航设备中兴趣点按拼音首字母^r索的方法,其特征在于所述的各汉字首字母字符串拆分为多个首字母关键词的方法为若字符串为10"n(n-1)(n-2)(n-3)(n-4)...(n-m)"将其拆分为n(n-l),(n-l)(n-2),(n-2)(n-3),(n-3)(n-4)...(ritl)(n-m),即依次拆分相邻两个汉字首字母,两个为一组,若遇空格则跳过。4、根据权利要求2或3所述的一种联网车载导航设备中兴趣点按拼音首字母检索的方法,其特征在于所述的将兴趣点数据转换打包生成供拼音检索用的索引文件的具体实现方法为(i)、读取POI原始数据并提取有关信息,对提取后的数据按中文名称首字母进行排序,存放在一个元素数目大小可变且存放索引文件的中间临时数据的动态数组中;该动态数组中各数组元素的结构体变量为20typedefstructtagPOIData{m—szName;〃中文名称m-szSpell;〃中文名称各个汉字首字母字符串m-SzAddr;//地址m—szTel;〃联系电i舌25m-lLon;//经度m—lLat;〃绊度m_dwAdmCode;〃行政区划代码)POIDATA,*PP0IDATA,FAR*LPPOIDATA;(2)、利用动态数组存放索引文件的中间临时数据生成第一組文件;(3)、依次读取动态凄t组中的各个元素,4巴各元素中的m—szSpell字段拆分为若干组,拆分方法为依次拆分相邻两个汉字首字母,两个为一组,若遇空格则跳过,即n(n-1)、(n-l)(n-2)、(n-2)(n-3)...5(n-(n-m);按顺序拆分的每组拼音首字母对应Spell,inx中的一个索引指针,把m_szSPell对应的记录号放在该索引指针指向的Spell.dat中,生成第二组文件;(4)、采用文件内存映射的方式依次保存这两组文件数据,生成最终的索引文件。全文摘要本发明涉及一种联网车载导航设备中兴趣点按拼音首字母检索的方法,包括以下步骤首先将兴趣点数据转换打包生成供拼音检索用的索引文件,该索引文件由两组文件构成,第一组文件存放索引文件具体数据;第二组文件则用于拼音检索;其次,对兴趣点数据进行拼音检索,将输入的各汉字首字母字符串拆分为多个首字母关键词,通过对第二组文件的关键词拼音首字母检索,取得其在第一组文件中的记录号集,取交集得到交集数组,获得最终检索结果并显示,用户在所述的检索结果中找到所需的兴趣点;本发明对原始索引数据进行再处理,压缩数据冗余,提高了检索速度,且检索时只需输入一个兴趣点其中的关键词的首字母拼音,大大提高了检索的准确度。文档编号G01C21/00GK101162146SQ20071000853公开日2008年4月16日申请日期2007年2月1日优先权日2007年2月1日发明者刚季,勇彭,金李,宁许申请人:厦门雅迅网络股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1