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

ST_SetEffectiveArea

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

الاسم

ST_SetEffectiveArea — تضبط المساحة الفعّالة لكل رأس باستخدام خوارزمية Visvalingam-Whyatt.

المختصر

geometry ST_SetEffectiveArea(geometry geom, float threshold = 0, integer set_area = 1);

الوصف

تضبط المساحة الفعّالة لكل رأس باستخدام خوارزمية Visvalingam-Whyatt. تُخزَّن المساحة الفعّالة بوصفها قيمة M للرأس. وإذا استُخدم المعامل الاختياري "threshold"، فسيُعاد شكل مبسّط لا يحتوي إلا على الرؤوس التي تكون مساحتها الفعّالة أكبر من قيمة العتبة أو مساوية لها.

يمكن استخدام هذه الدالة للتبسيط من جهة الخادم عند تحديد عتبة. وثمة خيار آخر هو استخدام قيمة عتبة صفرية. وفي هذه الحالة سيُعاد الشكل الكامل مع المساحات الفعّالة بوصفها قيم M، ويمكن للعميل استخدامها للتبسيط بسرعة كبيرة.

لن تفعل شيئاً فعلياً إلا مع الخطوط (المتعددة) والمضلعات (المتعددة)، لكن يمكنك استدعاؤها بأمان مع أي نوع من الأشكال الهندسية. وبما أن التبسيط يجري كائناً كائناً، يمكنك أيضاً تمرير GeometryCollection إلى هذه الدالة.

[ملاحظة]

لاحظ أن الشكل المُعاد قد يفقد بساطته (انظر ST_IsSimple)

[ملاحظة]

لاحظ أن الطوبولوجيا قد لا يُحافظ عليها وقد ينتج عن ذلك أشكال غير صالحة. استخدم (انظر ST_SimplifyPreserveTopology) للحفاظ على الطوبولوجيا.

[ملاحظة]

سيفقد الشكل الناتج جميع المعلومات السابقة في قيم M

[ملاحظة]

تتعامل هذه الدالة مع الأبعاد الثلاثية، وسيؤثر البعد الثالث في المساحة الفعّالة

متاحة منذ: 2.2.0

أمثلة

حساب المساحة الفعّالة لـ LineString. ولأننا نستخدم قيمة عتبة صفرية، تُعاد جميع رؤوس الشكل المُدخل.

select ST_AsText(ST_SetEffectiveArea(geom)) all_pts, ST_AsText(ST_SetEffectiveArea(geom,30) ) thrshld_30
FROM (SELECT  'LINESTRING(5 2, 3 8, 6 20, 7 25, 10 10)'::geometry geom) As foo;
-result
 all_pts | thrshld_30
-----------+-------------------+
LINESTRING M (5 2 3.40282346638529e+38,3 8 29,6 20 1.5,7 25 49.5,10 10 3.40282346638529e+38) | LINESTRING M (5 2 3.40282346638529e+38,7 25 49.5,10 10 3.40282346638529e+38)

                

انظر أيضًا

ST_SimplifyVW