استعلام 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
يشير مرجعك إلى تعديلات خط الأساس، لكنني لست متأكدًا من أن ذلك مطلوب.