MySQL查询地理中点
-
13-09-2019 - |
题
我需要一个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
您参考暗指基线的调整,但我不知道这是必要的。
不隶属于 StackOverflow