我需要确定从每个点(纬度/经度)到提交的集合中的每个其他点的距离。可能是2到200分。像Haversine这样的公式是必需的。例如A,B,C将返回A-B - x.x米,A-C - x.x米,B-C = x.x米。
我正在考虑像Java中的自定义解决方案或者可能利用像Hadoop / Apache Spark这样的分布式计算或像GeoProcessing工具(ESRI / ARCGIS)这样的工具。
有没有人在此之前解决过这个问题?
任何经验教训?
答案 0 :(得分:0)
对于具有(lon,lat)坐标的点(注释X,Y顺序)与Esri Spatial Framework for Hadoop之间的距离,请使用ST_GeodesicLengthWGS84。
More samples of ST_GeodesicLengthWGS84 can be found in this test script
关于GIS-SE的相关问答:https://gis.stackexchange.com/questions/170479/join-on-range-query-using-esris-gis-tools-for-hadoop/#185660
[披露:合作者。]
更新:Java API - GeometryEngine.html#geodesicDistanceOnWGS84