一種聯網車載導航設備中興趣點按拼音首字母檢索的方法
2023-06-07 07:08:51
專利名稱::一種聯網車載導航設備中興趣點按拼音首字母檢索的方法
技術領域:
:本發明涉及一種拼音首字母檢索方法,尤其涉及一種聯網車載導航設備中興趣點按拼音首字母檢索的方法。技術背景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:用戶找到所需的興趣點。所述的索引文件的結構為:tableseeoriginaldocumentpage6tableseeoriginaldocumentpage73、Poi.cix(名稱第一個字的首字母的快速索引文件,按照字母順序排序)tableseeoriginaldocumentpage74、Spell,inx(有26x26條記錄,排列順序為aa、ab、ac、bb、bc、…zz)tableseeoriginaldocumentpage75、Spell.dat(每個關鍵詞下的記錄,都按照記錄號排序)tableseeoriginaldocumentpage7所述的各漢字首字母字符串拆分為多個首字母關^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其中第--組和第二組文件具體組織結構為:tableseeoriginaldocumentpage9將興趣點數據轉換打包,生成供拼音檢索用的索引文件的具體實現方法為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所述的一種聯網車載導航設備中興趣點按拼首字母檢索的方法,其特徵在於所述的索引文件的結構為tableseeoriginaldocumentpage2該第一組和第二組文件具體組織結構為(1)、Poi.inx:按首字母拼音排序tableseeoriginaldocumentpage2(2)、Poi.datcomplextableseeoriginaldocumentpage3(3)、Poi.cix母順序排序名稱第一個字的首字母的快速索引文件,按照字complextableseeoriginaldocumentpage3(4)、Spell,inx:有26x26條記錄,排列順序為aa、ab、acbb、bc、…zzcomplextableseeoriginaldocumentpage3(5)、Spell.dat:每個關鍵詞下的記錄,按照記錄號排序complextableseeoriginaldocumentpage33、根據權利要求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日發明者剛季,勇彭,金李,寧許申請人:廈門雅迅網絡股份有限公司