什么距离计算(经度、纬度)更精确



我正在比较计算两点之间距离的两种不同方法。

  1. 页面上的Haversine公式:http://www.movable-type.co.uk/scripts/latlong.html

  2. 地理工具库的以下功能:

GeodeticCalculator geodeticCalculator = new GeodeticCalculator(); geodeticCalculator.setStartingGeographicPoint(lng1, lat1); geodeticCalculator.setDestinationGeographicPoint(lng2, lat2); double distance = geodeticCalculator.getOrthodromicDistance();

在大约100米的范围内的两个坐标的结果相差大约3米。对于较长的距离(约1000公里),甚至更多(数公里)。但也很难检查哪一个更准确,因为你没有一个可以真正信任的参考。(例如,不知道谷歌地图是否那么精确)

知道吗?

经过更多研究后,我想回答自己的问题:

Geotools库在这里更精确,因为如果使用空构造函数实例化,它默认使用WGS84模型。

另一个公式使用了一个不精确的地球球形模型。

我不是专家,但Haversine公式的文档说它假设地球是球形的。而地球实际上是大地水准面形状。所以我认为大地测量计算器更准确。

如果你想要更多的细节,最好在GIS堆栈交换中询问。

最新更新