GISarabia.org
PostGIS › الدليل الرسمي › 7. مرجع PostGIS › 7.14. معالجة الأشكال الهندسية
PostGIS 3.6 · Official Manual · ترجمة عربية

ST_FilterByM

الصفحة الأصلية بالإنجليزية postgis.net ↗

الاسم

ST_FilterByM — تُزيل الرؤوس بناءً على قيمة M الخاصة بها

المختصر

geometry ST_FilterByM(geometry geom, double precision min, double precision max = null, boolean returnM = false);

الوصف

تُرشّح نقاط الرؤوس بناءً على قيمة M. وتُعيد شكلاً هندسياً لا يحتوي إلا على نقاط الرؤوس التي تكون قيمة M فيها أكبر من القيمة الدنيا أو مساوية لها، وأصغر من القيمة القصوى أو مساوية لها. إذا حُذف وسيط القيمة القصوى فلا تُؤخذ في الحسبان إلا القيمة الدنيا. وإذا حُذف الوسيط الرابع فلن تكون قيمة M موجودة في الشكل الناتج. وإذا بقي في الشكل الناتج عدد من نقاط الرؤوس أقل مما يلزم لنوعه فسيُعاد شكل فارغ. وفي مجموعة الأشكال، تُستبعد الأشكال التي لا تحتوي على نقاط كافية بصمت.

هذه الدالة مخصصة أساساً للاستخدام مع ST_SetEffectiveArea. تضبط ST_EffectiveArea المساحة الفعّالة لكل رأس في قيمة M الخاصة به. ثم يمكن باستخدام ST_FilterByM الحصول على نسخة مبسّطة من الشكل دون أي حسابات، بمجرد الترشيح

[ملاحظة]

هناك فرق فيما تُعيده ST_SimplifyVW مقارنة بـ ST_FilterByM عندما لا يستوفي المعايير عدد كافٍ من النقاط. فـ ST_SimplifyVW تُعيد الشكل بعدد كافٍ من النقاط، في حين تُعيد ST_FilterByM شكلاً فارغاً

[ملاحظة]

لاحظ أن الشكل المُعاد قد يكون غير صالح

[ملاحظة]

تُعيد هذه الدالة جميع الأبعاد، بما فيها قيم Z وM

متاحة منذ: 2.5.0

أمثلة

ترشيح خط

SELECT ST_AsText(ST_FilterByM(geom,30)) simplified
FROM (SELECT  ST_SetEffectiveArea('LINESTRING(5 2, 3 8, 6 20, 7 25, 10 10)'::geometry) geom) As foo;

result

         simplified
----------------------------
 LINESTRING(5 2,7 25,10 10)
                

انظر أيضًا

ST_SetEffectiveArea, ST_SimplifyVW