geohash演算法原理

2021-09-24 14:25:24 字數 777 閱讀 5947

geohash的使用背景

從地理資訊學角度來來分析,在地球中緯度的區間範圍為[-90,90],而經度的區間範圍為[-180,180]。當將指定位置經緯度獲取,轉換為geohash再與相應範圍geohash相匹配,就可以為他推薦相同geohash的相關資訊。甚至可以實現一定程度上地理座標位置的保密性。

geohash介紹與理解

通常geohash代表著某一地圖中的矩形區域,而不是某個座標

字串相似的表示距離相近,這樣可以利用字串的字首匹配來查詢附近的poi資訊。如下兩個圖所示,乙個在城區,乙個在郊區,城區的geohash字串之間比較相似,郊區的字串之間也比較相似,而城區和郊區的geohash字串相似程度要低些

geohash演算法原理

geohash通過獲取到的座標點放入地球的經緯度區間中,通過二分查詢法,找到記作1未找到記作0,如下圖所示:

將經度與緯度都轉化一種0和1的編碼格式,再將其合併為一串,合併規則為去0到n的下標序號,將經度放在下標為偶數上,將緯度放在下標為奇數上,進行合併,如下圖所示:

通過合併獲得一串二進位制數,將其轉為10進製,再通過base32或者base36進行壓縮,從而獲得我們現在看到的geohash的字串。

GeoHash演算法的學習

將二維的經度緯度轉化成字串 字串越長代表的精度越高 5位的編碼能表示10平方千公尺,而6位的編碼約0.34平方千公尺 字串的相似表示距離的遠近。查詢指定位置的附近的商店等,只需要將所在位置的經緯度轉化為geohash字串,並於各個商店的geohash字串進行字首匹配,匹配越多的越接近 地球緯度區間是...

經緯度搜尋 1 Geohash演算法原理

geohash作為solr的位置資訊搜尋演算法,有必要了解其基本的實現原理。geohash演算法的wiki鏈結為 url 這裡再結合自己的理解,重新複述一下。b 由經緯度變成base32標識 b geohash的思想,是將所有的經緯度座標,通過geohash,變成乙個唯一的base32標識。他將世界...

基於地理位置演算法GeoHash核心原理解析

geohash base32編碼長度與精度 具體應用 geohash將二維的經緯度轉換成字串,如北京9個區域的geohash字串,分別是wx4er,wx4g2 wx4g3等等,每乙個字串代表了某一矩形區域 因此這個矩形區域內所有的點 經緯度座標 都共享相同的geohash字串,左上角這個區域內的使用...