我有两个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. 距离之间的两个
- 2. 得到iphone上的两个位置之间的距离
- 3. 显示ListView上的两个位置之间的距离
- 4. 在jsp中调整两个位置之间的距离
- 5. 两个位置之间的距离 - Google地图
- 6. 获取两个位置之间的距离,如Google路线
- 7. 两个位置之间的距离不对
- 8. 如何显示地图上两个位置之间的距离?
- 9. Android:两个触摸位置之间的物理距离
- 10. 计算两个位置之间的像素距离
- 11. 快速计算两个位置之间的距离
- 12. Android之间的几个位置之间的距离
- 13. Redis Geo - 返回两个地方之间不正确的距离/ lat-longs
- 14. 两个地址之间的距离
- 15. 两个经纬度之间的距离
- 16. 两个词之间的语义距离
- 17. 两个矩形之间的距离
- 18. 编辑两个图之间的距离
- 19. 两个地理点之间的距离?
- 20. 一个点和几个位置之间的距离
- 21. 计算用户位置和固定位置之间的距离
- 22. 使用iphone中的谷歌地图计算两个位置之间的距离
- 23. 设置两个类别之间的距离
- 24. 计算Java中多个地理位置之间的距离
- 25. 计算2个位置之间的距离并计算价格
- 26. 如何找到地图上两个位置之间的距离我
- 27. Android Maps v2 API ...如何计算两个位置之间的距离(经纬度)
- 28. 算法两个位置之间的距离计算正在太多
- 29. C#/ WinRT中两个位置之间的距离和其他东西
- 30. 使用MvvmCross框架时查找两个地理位置之间的距离
http://堆栈溢出。com/questions/1420045 /如何找到距离纬度和经度的两个位置 – ArK 2010-10-01 11:31:15