我需要一个MySQL查询(或函数)来计算纬度任意数量的地理中点/经度坐标。我想用方法C(平均纬度/经度)作为本页面 HTTP://www.geomidpoint .COM / calculation.html 但无法弄清楚如何将它转换成一个SQL查询。我在寻找形式的东西:

选择从点LATITUDE_AVG_FORMULA(points.latitude),LONGITUDE_AVG_FORMULA(points.longitude);

其中在点表中的每个点具有如图十进制格式相关联的纬度和经度。我希望有人不是已经有一个MySQL查询(或功能),他们使用的是此或与地理空间计算有很多更多的经验比我有。在此先感谢您的帮助!

有帮助吗?

解决方案

方法C似乎是基本上的加权平均。你的问题是接近MySQL的句法。鉴于这些都是十进制格式。

如果您有重物:

SELECT
    SUM( longitude * weight ) / SUM( weight ) AS Avg_Long,
    SUM( latitude * weight ) / SUM( weight ) AS Avg_Lat
FROM
    points

或未加权:

SELECT
    AVG( longitude ) AS Avg_Long,
    AVG( latitude ) AS Avg_Lat
FROM
    points

您参考暗指基线的调整,但我不知道这是必要的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top