[發(fā)明專利]一種地理編碼方法、位置查詢系統(tǒng)及方法在審
| 申請?zhí)枺?/td> | 201210446695.7 | 申請日: | 2012-11-11 |
| 公開(公告)號: | CN103810194A | 公開(公告)日: | 2014-05-21 |
| 發(fā)明(設(shè)計)人: | 劉龍 | 申請(專利權(quán))人: | 劉龍 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 200011 上海市黃*** | 國省代碼: | 上海;31 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 地理 編碼 方法 位置 查詢 系統(tǒng) | ||
技術(shù)領(lǐng)域
本發(fā)明涉及位置服務(wù)領(lǐng)域,特別地涉及一種地理編碼方法、位置查詢系統(tǒng)及方法。?
背景技術(shù)
位置服務(wù)(Location?Based?Services,LBS)指的是通過移動終端、衛(wèi)星和移動網(wǎng)絡(luò)的配合,確定用戶的實際地理位置,從而為用戶提供與位置相關(guān)的服務(wù)信息。地理編碼(Geo-coding)又稱地址匹配,是為識別點、線、面的位置和屬性而設(shè)置的編碼,它將全部實體按照預(yù)先擬定的分類系統(tǒng),選擇最適宜的量化方法,按實體的屬性特征和集合坐標(biāo)的數(shù)據(jù)結(jié)構(gòu)記錄在計算機的儲存設(shè)備上。在位置服務(wù)中,地理編碼的應(yīng)用非常廣泛,可用于空間索引、可進(jìn)行查詢排序統(tǒng)計、可作為URLs、可在地圖中顯示、還可識別信息中所包含的模式。目前常用的GIS軟件和空間數(shù)據(jù)庫都具備地理編碼功能,例如,ArcGIS的Geocoding和MapInfo的MapMarker等。
geohash是一種地理編碼,它把二維的經(jīng)緯度編碼成一維的字符串。其思想為先將地球看成一個二維平面,將二維平面坐標(biāo)均分為4格,按照順序進(jìn)行編號,之后再對每個子格以同樣的方式進(jìn)行劃分,得到另一編號,一直按照這個規(guī)則劃分下去,最終編號越來越多,而子格越來越小,直到能表達(dá)坐標(biāo)所需要的精度為止。而在劃分之中得到的每個編號對應(yīng)一維坐標(biāo)之中的一段,這些編號最后可以編碼成一個字符串。例如,上海新天地(31.21980?121.47516)的編碼是wtw3s5rs82。geohash有以下幾個特點:首先,geohash用一個字符串表示經(jīng)度和緯度兩個坐標(biāo),只需在一列上應(yīng)用索引即可。其次,geohash表示的并不是一個點,而是一個矩形區(qū)域。例如編碼wtw3s5rs82s,它表示的是一個矩形區(qū)域。第三,編碼的前綴可以表示更大的區(qū)域。例如編碼wtw3s5rs82,它的前綴wtw3s5rs8表示包含編碼wtw3s5rs82在內(nèi)的更大范圍。NoSQL數(shù)據(jù)庫MongoDB利用geohash進(jìn)行地理位置索引,這也是全球流行的LBS服務(wù)Foursquare選擇MongoDB的原因之一。
但是,geohash也存在一些問題和限制:在位置服務(wù)中,附近位置查詢往往對精確度有要求,但要求不嚴(yán)格,例如,搜索附近200米內(nèi)的目標(biāo),搜到的目標(biāo)實際距離為150米或220米對用戶來說并沒有多大區(qū)別,搜到的目標(biāo)數(shù)多幾個或少幾個對用戶來說也沒多大問題,因此大多采用近似查詢。由于geohash的網(wǎng)格是4分的,各次劃分間子格的邊長呈2倍關(guān)系,跨度很大(例如,緯度第12~16次劃分,子格邊長分別為0.02197、0.01099、0.00549、0.00275、0.00137、0.00069度,這里保留5位小數(shù)),雖然利用前綴匹配可以進(jìn)行附近位置近似查詢,但卻無法直接實現(xiàn)指定范圍(例如,100米內(nèi)、200米內(nèi)、800米內(nèi),近似10000米/度)的附近位置近似查詢。目前的解決方法是先指定一個深度,然后將指定范圍所覆蓋的所有子格全部找出來,再逐個在這些子格內(nèi)查找,但這增加了近似查詢的復(fù)雜性;深度越深,查詢越精確,查詢的復(fù)雜性也越高。
根據(jù)geohash,赤道和本初子午線兩側(cè)的位置由于從一開始就處于不同的子格,因此即使兩個位置很近,編碼及前綴也完全不同,利用前綴匹配進(jìn)行附近位置的近似查詢無法查到。同樣是因為劃分問題,處于網(wǎng)格邊界兩側(cè)的位置,即使兩個位置很近,編碼也不同,利用前綴匹配進(jìn)行附近位置近似查詢不一定查到。目前的解決方法是對當(dāng)前子格周邊8個子格都進(jìn)行計算,但這增加了近似查詢的復(fù)雜性。?
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的目的是提供一種地理編碼方法和采用該地理編碼方法的位置查詢系統(tǒng)和方法,其在預(yù)先設(shè)定查詢范圍情況下,可以解決geohash的上述問題,簡單快速地實現(xiàn)任意指定位置的預(yù)設(shè)查詢范圍和無查詢范圍的附近位置近似查詢,滿足實時、海量的系統(tǒng)性能要求。
為達(dá)到上述目的,本發(fā)明采用如下的技術(shù)方案:
????一種地理編碼方法,其特征在于,所述方法包括:
a.根據(jù)預(yù)先設(shè)定的查詢范圍確定編碼精度;
b.進(jìn)行第i劃分,將地球表面劃分成多個子區(qū)域,并進(jìn)行編號,對每個子區(qū)域繼續(xù)劃分編號,直至劃分出的每個子區(qū)域與編碼精度相關(guān);
c.獲取指定地理位置落入的相應(yīng)子區(qū)域的編號并判斷是否落在相應(yīng)子區(qū)域的邊界區(qū)域,編碼得到一維的第i地理編碼和第i邊界標(biāo)識;
b~c重復(fù)N次,使得對任意指定地理位置都至少有一個中心區(qū)域的邊界標(biāo)識;
d.組合所述N個地理編碼和邊界標(biāo)識;
其中,i為1~N的整數(shù),N為大于零的整數(shù)。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于劉龍,未經(jīng)劉龍許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210446695.7/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





