geohash,java
<link rel="stylesheet" href="https://js.how234.com/third-party/SyntaxHighlighter/shCoreDefault.css" type="text/css" /><script type="text/javascript" src="https://js.how234.com/third-party/SyntaxHighlighter/shCore.js"></script><script type="text/javascript"> SyntaxHighlighter.all(); </script>
geohash java是什麼,讓我們一起了解一下?
GeoHash是目前比較主流實現位置服務的技術,Geohash算法將經緯度二維數據編碼爲一個字符串,GeoHash算法分爲三步:1. 計算經緯度的二進制、2. 合併經緯度的二進制、3. 通過Base32對合並後的二進制進行編碼。
我們知道,經度範圍是東經180到西經180,緯度範圍是南緯90到北緯90,我們設定西經爲負,南緯爲負,所以地球上的經度範圍就是[-180, 180],緯度範圍就是[-90,90]。如果以本初子午線、赤道爲界,地球可以分成4個部分。
GeoHash的思想就是將地球劃分的四部分映射到二維座標上。
那麼如何理清geohash的算法原理,我們以計算經緯度的二進制爲例。
//根據經緯度和範圍,獲取對應的二進制private BitSet getBits(double l, double floor, double ceiling) {BitSet buffer = new BitSet(numbits);for (int i = 0; i < numbits; i++) {double mid = (floor + ceiling) / 2;if (l >= mid) {buffer.set(i);floor = mid;} else {ceiling = mid;}}return buffer;}
上述代碼numbits爲:private static int numbits = 3 * 5; //經緯度單獨編碼長度也就是說將地球進行15次二分切割。
以上就是小編今天的分享了,希望可以幫助到大家。
-
手機相冊很多垃圾圖片
我們使用手機去瀏覽網頁,或者是刷微博以及微信的時候,都會加載一些網頁,而且有些圖片還會自動下載保存到手機相冊裏面,這就是爲什麼我們的手機相冊總是會莫名的多出一些垃圾圖片的原因。如果我們的手機下載了非官網渠道的APP,這種APP軟件會出現無用圖片,會在相冊中保...
-
微博怎麼取消手機型號
1、點擊設置圖標:首先需要打開手機上的微博軟件,在微博我的頁面裏點擊設置圖標。2、點擊會員專屬設置:然後在手機微博設置裏,找到並點擊會員專屬設置。3、點擊微博來源:然後在會員專屬設置頁面,找到個性設置裏的微博來源。4、點擊不顯示:最後在微博來源設置頁面中,設置...
-
豆豉是什麼樣子
豆豉是中國的傳統特色發酵豆製品調味料,豆豉以黑豆或黃豆爲主要原料,把黃豆或黑豆泡透,然後用鍋蒸熟或煮熟,再經過發酵而成的食品,可以調味,也可入藥。豆豉的作法很簡單,在三伏天把黃豆或者是黑豆煮熟以後,蓋上麻葉或者保鮮膜發酵(防止水分散失),等黃豆上面長出一層長長...
-
傳真機是誰發明的啊
1、1843年,蘇格蘭鐘錶匠亞歷山大?拜恩發明的裝置與現代傳真機在原理上驚人相似,該裝置包括一支連接鐘擺的筆,鐘擺則由電磁脈衝驅動。2、1850年,又有一位名叫弗?貝克卡爾英國的發明家,把傳真機的結構作了一些改進,他採用“滾筒和絲桿”裝置代替了時鐘和鐘擺的結構。這...