我使用的代碼從https://github.com/davetroy/geohash-js 但我不知道如何計算給定的geohashcode的周圍geohashcode。 我需要使用函數女巫計算他們都在PHP和JavaScript。 有沒有人有這樣的代碼或一些方法來解決這個問題?Geohash:如何計算八個周圍的盒子
2
A
回答
0
請閱讀README文檔https://github.com/davetroy/geohash-js ... 在JavaScript中,您可以通過調用例如JavaScript來創建GeoHash。
mygh= encodeGeoHash(53.1, -0.24);
,這將給你喜歡的值: 'gcry4d91zt7n',如果你再解碼此:
mydecoded= decodeGeoHash(mygh);
你會得到一個含有某個對象:
Object {latitude: Array[3], longitude: Array[3]}
latitude: Array[3]
0: 53.099999986588955
1: 53.10000015422702
2: 53.10000007040799
longitude: Array[3]
0: -0.24000003933906555
1: -0.2399997040629387
2: -0.23999987170100212
如果你簡單地截斷geohash到'gcry',那麼你已經降低了分辨率,並且調用decodeGeoHash將返回:
Object {latitude: Array[3], longitude: Array[3]}
latitude: Array[3]
0: 53.0859375
1: 53.26171875
2: 53.173828125
longitude: Array[3]
0: -0.3515625
1: 0
2: -0.17578125
即三點現在描述了更大的區域。正如在自述文件中提到的那樣,這個較大的框不是在原始(較高分辨率)框中居中的 - 爲此,您需要通過使用例如計算器來計算相鄰(頂部,底部,左側,右側)地理雜亂。
mygh_top= calculateAdjacent(mygh, 'top')
看看geohash-demo.js的來源,它顯示了一個例子。
0
https://github.com/davetroy/geohash-js/blob/master/geohash-demo.js#L63有〔實施例:
GeoHashBox.prototype.showNeighbors = function() {
var geohashPrefix = this.geohash.substr(0,this.geohash.length-1);
this.neighbors.top = new GeoHashBox(calculateAdjacent(this.geohash, 'top'));
this.neighbors.bottom = new GeoHashBox(calculateAdjacent(this.geohash, 'bottom'));
this.neighbors.right = new GeoHashBox(calculateAdjacent(this.geohash, 'right'));
this.neighbors.left = new GeoHashBox(calculateAdjacent(this.geohash, 'left'));
this.neighbors.topleft = new GeoHashBox(calculateAdjacent(this.neighbors.left.geohash, 'top'));
this.neighbors.topright = new GeoHashBox(calculateAdjacent(this.neighbors.right.geohash, 'top'));
this.neighbors.bottomright = new GeoHashBox(calculateAdjacent(this.neighbors.right.geohash, 'bottom'));
this.neighbors.bottomleft = new GeoHashBox(calculateAdjacent(this.neighbors.left.geohash, 'bottom'));
}
相關問題
- 1. 計算包圍盒
- 2. 如何根據盒子的位置計算盒子的數量?
- 3. 如何製作2D/nD蒙片:信號周圍的盒子
- 4. 如何計算結算週期的日期php範圍?
- 5. 在整個DIV周圍添加CSS盒子的陰影
- 6. 計算多邊形周圍的Voronoi
- 7. 計算球體周圍的點數
- 8. 圍繞盒子技術的CSS盒子
- 9. 如何使用postgis計算幾何圖形周圍的區域?
- 10. 下週如何計算?
- 11. 如何計算下週一?
- 12. 在桌子周圍繪製盒子陰影thead
- 13. 如何在javascript中計算周和月的日期範圍?
- 14. 計算本週日期範圍
- 15. 周圍繪製的PHP結果的盒子 - 語法
- 16. 刪除WPF DatePickerTextBox周圍的薄白盒
- 17. 我想計算週六和週日的日期範圍
- 18. 三角形周圍的CSS盒子陰影
- 19. 計算子網CIDR範圍
- 20. 八度並行計算
- 21. Java八進制計算
- 22. 如何去除Bootstrap轉盤指示器周圍的隱形盒?
- 23. 我如何計算2個日期之間的範圍,而不計算在javascript中的週末
- 24. C#開關盒如何計算
- 25. CSS在兩個不同大小的盒子周圍光滑的邊框
- 26. ggplot2:與他們周圍的盒子和標籤的多個情節
- 27. 如何讓geom_boxplot在計算盒子之前應用y-限制?
- 28. 按周計算
- 29. 計算周
- 30. SimpleDateFormat周計算
我正在尋找同樣的事情?你找到解決方案嗎? – Roger