我正在比较计算两点之间距离的两种不同方法。
在页面上找到了Haversine公式:http://www.movable-type.co.uk/scripts/latlong.html
geotools库的以下功能:
GeodeticCalculator geodeticCalculator = new GeodeticCalculator();
geodeticCalculator.setStartingGeographicPoint(lng1, lat1);
geodeticCalculator.setDestinationGeographicPoint(lng2, lat2);
double distance = geodeticCalculator.getOrthodromicDistance();
两个坐标在约100米范围内的结果相差约3米。而对于更长的距离(约1000公里)甚至更多(几公里)。 但是,由于您没有可以信任的参考,因此很难确定哪一个更精确。 (例如,不知道google地图是否精确)
有什么想法吗?
答案 0 :(得分:2)
我不是专家,但是关于Haversine公式的文档说它假设是球形的。而地球实际上是大地水准面形状。所以我假设GeodeticCalculator更准确。
如果你想在GIS堆栈交换中更好地提出要求。
答案 1 :(得分:2)
在进行更多研究后回答我自己的问题:
Geotools库在这里更精确,因为如果使用空构造函数进行实例化,它默认使用WGS84模型。
另一个公式使用地球的真空球形模型。