一句話概括:將經(jīng)緯度編碼成字符串。
- 做法
1. 對經(jīng)度而言垮卓,例如一個位置的經(jīng)度為30.01242鹉戚,首先將經(jīng)度區(qū)間切分成兩部分鲜戒,(-90,0)
和(0,90),若處于第一個區(qū)間抹凳,則第一位編碼為0遏餐,否則為1;接著再將區(qū)間切成兩部分(0,45)和(45,90)赢底,同理失都,若若處于第一個區(qū)間,則編碼為0幸冻,否則為1粹庞;不斷重復這個步驟,例如切分10次洽损,可以獲得一個十位數(shù)字的二進制編碼庞溜;
2. 對緯度也同樣進行上述操作,同樣獲得一個十位數(shù)字的二進制編碼碑定;
3. 將經(jīng)緯度的二進制編碼合并流码,奇數(shù)位放置經(jīng)度編碼,偶數(shù)位放置緯度編碼不傅,交錯放置旅掂,獲得一個20位數(shù)字的二進制編碼;
4. 對獲得的20位數(shù)字二進制編碼進行base32編碼访娶,每5位二進制數(shù)字會獲得一個編碼商虐,最終獲得的編碼長度是4位。
- 性質(zhì)
對于geohash編碼崖疤,前綴編碼一致的位數(shù)越多秘车,兩者距離越近。但是反之不成立劫哼。