أكثر

تصفية الإحداثيات خارج الحدود

تصفية الإحداثيات خارج الحدود


لدي مجموعة من الإحداثيات التي أستلمها من GPS. أقوم بتخزينها في قاعدة بيانات ، وهندستها هي 4326. أنا أستخدم الاستعلام التالي لحساب المسافة المقطوعة:

ST_length (ST_Transform (st_makeline (نقاط) ، 26986)) AS مسافة

كان كل شيء يعمل بشكل جيد حتى تلقيت الخطأ التالي:

تعذر عرض النقطة (741.695 176.355 0): تجاوز خط العرض أو خط الطول الحدود (-14)

ربما يرجع الخطأ إلى عطل في جهاز GPS. ما هي الطريقة الأكثر فاعلية وأناقة لتصفية النقاط "خارج الحدود" (أي بديل للتصفية حسب [180 ، -180 ، 90 ، -90] في عبارة WHERE) - هل توجد أي وظيفة مضمنة في Postgis قادرة للقيام بالترشيح على أساس SRID؟


كما قال فينس ، إذا كان نظام تحديد المواقع العالمي (GPS) يعمل بشكل سيء لدرجة أنه لا يعطي إحداثيات صالحة (بدلاً من مجرد إحداثيات غير دقيقة) ، فلن أثق في أي من بياناته. يبدو من الأرجح أن البيانات ليست في 4326 كما توقعت. ربما قمت بتعيين الجدول على 4326 عندما تكون البيانات التي يحتويها بالفعل في 26986 بالفعل؟

قد يكون لديك أيضًا بعض النقاط السيئة فقط. يجب أن يمنحك شيء ما مثل الاستعلام أدناه فكرة عن عدد الإحداثيات السيئة الموجودة في الجدول إذا كان يحتوي على srid من 4326.

حدد معرف ، ST_AsText (geom) ، ST_X (geom) ، ST_Y (geom) من البئر حيث ST_X (geom)> 180 أو ST_Y (geom)> 90 أو ST_X (geom) <-180 أو ST_Y (geom) <-90 ORDER بواسطة معرف ؛

شاهد الفيديو: Lara Fabian - Je taime Мурашки по коже Goosebumps