导航电子地图数据中POI搜索技术原理之二
導(dǎo)航電子地圖數(shù)據(jù)中POI搜索技術(shù)原理之二
支持任意檢索
?
《淺談導(dǎo)航數(shù)據(jù)中POI搜索技術(shù)原理》一文介紹了導(dǎo)航電子地圖中POI興趣點(diǎn)數(shù)據(jù)進(jìn)行關(guān)鍵字檢索的基本原理。
其中,數(shù)據(jù)的組織方式如下:
圖1
?
當(dāng)用戶僅僅輸入單個(gè)字符Key1的時(shí)候,通過(guò)查找索引表,獲取對(duì)用的偏移表,然后取到包含Key1的所有POI數(shù)據(jù)。
?
但是,當(dāng)用戶輸入兩個(gè)或者兩個(gè)以上的字符的時(shí)候,如果依然基于《淺談導(dǎo)航數(shù)據(jù)中POI搜索技術(shù)原理》文中的數(shù)據(jù)組織方式,檢索的過(guò)程如下(這里以兩個(gè)字符為例):
通過(guò)對(duì)Key1和Key2的檢索,分別得到兩個(gè)offset的集合S1和S2。
對(duì)S1和S2求交集,就獲取了所有包含Key1和Key2的POI對(duì)應(yīng)的offset。
?
但是,對(duì)于用戶而言,可能用戶僅僅希望檢索到類似“*Key1 Key2*”方式排列的POI,而不希望檢索到類似“* Key2Key1*”方式排列的POI。例如,當(dāng)用戶輸入“北京”來(lái)進(jìn)行檢索的時(shí)候,用戶期望出現(xiàn)的是類似“北京大學(xué)”、“北京火車站”等類似的POI,而不是期望出現(xiàn)“京北駕校”、“京北職業(yè)技術(shù)學(xué)院”等類似的POI。針對(duì)此類問(wèn)題,改如何設(shè)計(jì)一個(gè)合適的數(shù)據(jù)組織方式來(lái)對(duì)應(yīng)呢?
??? 這里,基于《淺談導(dǎo)航數(shù)據(jù)中POI搜索技術(shù)原理》文中的數(shù)據(jù)組織方式,稍微做一定的優(yōu)化,即可解決此方面的問(wèn)題:
OffsetTable
| index | Address in binary file | Pos |
| 1 | POI Address | A |
| 2 | POI Address | B |
| …… | …… | ^ |
| N | POI Address | C |
?
??? 這里,Pos表示的是Key字符在POI的字符串中,所處的位置。例如,“京”在“北京大學(xué)”中的位置是2。
如此的話,在檢索“Key1 Key2”的時(shí)候,通過(guò)對(duì)Key1和Key2的檢索,分別得到兩個(gè)offset的集合S1和S2。
在對(duì)S1和S2求交集的時(shí)候,通過(guò)使用Pos來(lái)進(jìn)行約束,這樣,就可以約束到僅僅查詢類似“*Key1 Key2*”方式排列的POI。
?
小結(jié)一下,經(jīng)過(guò)改善之后的設(shè)計(jì),有以下兩個(gè)特點(diǎn):
1 當(dāng)輸入“Key1 Key2”的時(shí)候,能過(guò)濾掉包含“Key2Key1”的POI字符,僅僅檢索包含“Key1 Key2”的POI名稱;
2 當(dāng)輸入“Key1 Key2”的時(shí)候,能檢索到包含“****Key1 ****Key2****”模式的POI字符。
作者簡(jiǎn)介
總結(jié)
以上是生活随笔為你收集整理的导航电子地图数据中POI搜索技术原理之二的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【源码】三相逆变器的有功和无功功率控制仿
- 下一篇: 在线测试c语言程序代码,C语言在线测评系