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次二分切割。
以上就是小編今天的分享了,希望可以幫助到大家。
-
蘋果手機長圖怎麼截圖,蘋果手機截長圖的兩種方法
1、長截圖辦法一iOS13上新之後自帶的長截圖方法,是在我們瀏覽網頁的時候使用的。操作方法:上音量鍵+開關鍵一起按下,然後點開截好的圖片,選擇“整頁”截圖即可。2、長截圖方法二利用QQ實現長截圖。操作方法:首先就是需要我們開啟QQ,然後試着上音量鍵+開關鍵一起按下...
-
省內移動數據流量是指什麼
省內移動數據流量是指你的SIM卡所屬省份的可用GPRS流量,如果出了你的卡所屬的省份,去別的省,那省內移動數據流量就不可以使用,只能使用全國通用流量。移動數據流量有省內流量和全國通用流量,國內流量和省內流量是有所區別的。首先優先度不同:正常情況下,如果用戶在自...
-
關於底噪的意思介紹
1、底噪亦稱背景噪聲,基本所有的好耳機都有底噪,耳機底噪一般都是因爲前端的問題,耳機的靈敏度越高對於底噪就越敏感,一些高靈敏度和低阻抗的耳機會把底噪放大,如果加大音量的情況下,底噪會更加的明顯。2、檢測MP3底噪,一般方法是在夜晚等比較安靜的環境中戴上耳機,播...
-
黑色背景拍照竅門詳解
1、調整拍攝角度,尋找背景:既然是拍攝黑背景,在拍攝前我們儘量選擇深色的背景,這樣也就更加容易達到效果。不過深色不一定要是純黑色,只要顏色較爲深沉,偏向暗色調的均可。拍攝前多多觀察,尋找不同的拍攝角度,以找到有反差的深色作爲背景。要多嘗試不同的角度,直至主體...