2014-09-02 145 views
1

我正在比较计算两个点之间距离的两种不同方法。在网页上找到什么距离计算(经度,纬度)更精确?

  1. 半正矢式:http://www.movable-type.co.uk/scripts/latlong.html

  2. 的geotools库的以下功能:

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

在范围为约两个坐标结果100米相差约3米。距离更远(约1000公里)甚至更远(几公里)。 但是,由于您没有真正可以信任的参考资料,因此很难检查哪一个更精确。 (不知道,例如谷歌地图是否如此精确)

任何想法?

+0

最近我回答了一个类似的问题,Haversine vs地理类型在SQL Server空间中,请参阅:http://stackoverflow.com/questions/25422857/differences-in-distance-calculated-between-javascript-function-and-sql -server-ST/25432042#25432042。你对地球形状的假设是正确的。 – 2014-09-02 12:50:38

回答

2

只是回答我的问题后,一些调查研究:

Geotools库是更精确的位置,因为它使用默认的WGS84模式如果实例化一个空的构造。

另一个公式使用地球的非球形模型。

1

我不是专家,但Haversine公式中的文档表示它假设了一个球形地球。而地球是一个大地水准面的形状。所以我会假定GeodeticCalculator更准确。

如果您希望在GIS堆栈交换中更好地提问。

相关问题