多个点找到聚会点

时间:2019-01-15 14:32:22

标签: sql postgis

我在数据库中存储了许多经度和纬度的点。

现在我想找到一个“集合点”(=从数据库中每个点到点x的所有距离的最小总和->“集合点”)

是否有某种算法可以解决此问题,或者我最好是近似结果?

1 个答案:

答案 0 :(得分:1)

在某种意义上,汇合点(如问题所述)仅是汇合点的平均值。答案的复杂程度取决于您的观点有多远。如果它们都相对较近(例如,在一个城市内),那么实际上您可以对纬度和经度值进行平均,因为地球在本地非常接近平坦。

如果它们相距较远,则需要先将纬度/经度转换为笛卡尔坐标,然后对这些点求平均,然后再转换为纬度/经度。

如果它们之间的距离足够远,您就不必担心位置“翻滚”并有多条路径到达中心(例如,根据中心的确切位置,有些点会绕着世界东西方移动),那么您可能需要进行一次迭代以获得一个“粗糙点”,将坐标重新围绕该粗糙点进行居中,然后重新计算以获得一个精确点。