使用一组请求的点进行距离计算

Distance Calculation with a requested set of points

我需要确定提交集合中每个点 (lat/long) 到其他所有点的距离。可能是 2 到 200 点。像 Haversine 这样的公式是必需的。例如 A,B,C 将 return A-B - x.x 米,A-C - x.x 米,B-C = x.x 米。

我正在考虑 Java 中的自定义解决方案之类的选项,或者可能利用 Hadoop/Apache Spark 之类的分布式计算,或者 GeoProcessing 工具之类的工具 (ESRI/ARCGIS)。

有没有人解决过这个要求?

有什么经验教训吗?

对于 Esri Spatial Framework for Hadoop 坐标 [note X,Y order] 的点之间的距离(以米为单位),请使用 ST_GeodesicLengthWGS84

More samples of ST_GeodesicLengthWGS84 can be found in this test script.

GIS-SE 上的相关 Q/A:https://gis.stackexchange.com/questions/170479/join-on-range-query-using-esris-gis-tools-for-hadoop/#185660

[披露:合作者。]

更新:Java API - GeometryEngine.html#geodesicDistanceOnWGS84