我有兩個GEO位置。我如何計算它們之間的距離?兩個GEO位置之間的距離
回答
GPS座標是WGS84橢球體上的地理座標。在這個模型下,Vincenty的公式給出了亞毫米級精度的結果。對於大多數應用來說,這或者是矯枉過正或者實際上是欺騙性的,因爲地球表面不是由WGS84建模的。
可以比較的距離計算on this page的各種方法accurracy(斷開鏈接;檢查source code代替)。正如你所看到的,球面和微分近似(後者使用具有正確局部度量的畢達哥拉斯定理)在很多情況下是不準確的。
其餘方法中,第一種方法使用球體的平均半徑從地理緯度轉換爲地心緯度,而第二種方法使用餘弦規則在「小」距離的情況下獲得更精確的結果(其中'小'主要取決於緯度的差異)。
僅包含這兩種方法can be found here一個單獨的腳本,它提供了一個名爲distance()
和期望四個參數函數:兩個緯度,經度差(所有單位爲弧度)和指示該距離是否是「小」一個布爾標誌。
This page擁有用於計算兩個地理位置之間距離的JavaScript代碼,如果這就是您所追求的。
這取決於你想要的準確度。
你可以通過基本的三角形三角操作來解決它 - 即找出它們的經度之間的差異,這是一方;然後是緯度之間的差異,那是第二個。現在你可以很容易地用初中數學計算第三方(即兩者之間的實際距離)。然而,這種方法忽略了地球表面的曲率,所以如果你需要考慮這一點,你需要開始變得更聰明一些。但是,除非距離相當大或者您需要非常高的準確度,否則您無需擔心。對於大多數用途來說,基本的trig方法很好。
另一點,當然是這些方法給你一個直線測量。這可能是你想要的,但你也可能想知道旅行的距離 - 即在路上。這是完全不同的,因爲你需要有一個所有相關道路的準確地圖。如果這是您需要的,那麼委託Google地圖服務(或其他幾個類似的替代方案)可能會更容易。
如果你使用谷歌地圖API第3版,你可以計算出距離如下:
附上谷歌地圖 JavaScript文件與幾何庫:
http://maps.google.com/maps/api/js?sensor=true&libraries=geometry
的距離可以現在通過使用computeDistanceBetween()
方法測量:
var from = new google.maps.LatLng(49.004, 8.456);
var to = new google.maps.LatLng(49.321, 8.789);
var dist = google.maps.geometry.spherical.computeDistanceBetween(from, to);
- 1. 定義兩個GEO位置之間距離的閾值?
- 2. 距離之間的兩個
- 3. android中兩個位置之間的距離和方位
- 4. 函數獲取兩個位置之間的距離和時間
- 5. 得到iphone上的兩個位置之間的距離
- 6. 顯示ListView上的兩個位置之間的距離
- 7. 計算基於道路的兩個位置之間的距離
- 8. 獲取android中兩個位置之間的距離?
- 9. 計算兩個位置之間的距離Android Studio
- 10. Android:計算兩個位置之間距離的最佳方法
- 11. 在jsp中調整兩個位置之間的距離
- 12. 找到android中兩個位置之間的距離?
- 13. javascript中兩個位置之間的距離
- 14. java中兩個地理位置之間的距離:NaN
- 15. 如何查找兩個經度位置之間的距離?
- 16. 兩個位置向量列表之間的距離
- 17. Android:兩個觸摸位置之間的物理距離
- 18. 計算兩個地理位置之間的距離
- 19. 通過公路測量兩個位置之間的距離
- 20. 快速計算兩個位置之間的距離
- 21. 計算兩個位置之間的像素距離
- 22. 兩個位置之間的距離 - Google地圖
- 23. 如何顯示地圖上兩個位置之間的距離?
- 24. Three.js - 如何計算兩個3D位置之間的距離?
- 25. 兩個位置之間的距離不對
- 26. 獲取兩個位置之間的距離,如Google路線
- 27. 我該如何計算兩個位置之間的距離
- 28. Android之間的幾個位置之間的距離
- 29. 兩個GPS位置之間的距離,並跟蹤他們之間的路線
- 30. Redis Geo - 返回兩個地方之間不正確的距離/ lat-longs
http://堆棧溢出。com/questions/1420045 /如何找到距離緯度和經度的兩個位置 – ArK 2010-10-01 11:31:15