سؤال

أحتاج إلى استعلام (أو وظيفة) 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