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

ST_SimplifyVW

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

الاسم

ST_SimplifyVW — تُعيد تمثيلاً مبسّطاً لشكل هندسي باستخدام خوارزمية Visvalingam-Whyatt

المختصر

geometry ST_SimplifyVW(geometry geom, float tolerance);

الوصف

تُعيد تمثيلاً مبسّطاً لشكل هندسي باستخدام خوارزمية Visvalingam-Whyatt. تسامح التبسيط tolerance قيمة مساحة بوحدات النظام المرجعي المكاني للمُدخل. ويُزيل التبسيط الرؤوس التي تُكوّن "زوايا" مساحتها أقل من التسامح. وقد لا تكون النتيجة صالحة حتى لو كان المُدخل صالحاً.

يمكن استدعاء الدالة مع أي نوع من الأشكال الهندسية (بما فيها GeometryCollection)، لكن لا تُبسَّط إلا عناصر الخطوط والمضلعات. ويُحافظ على نقاط نهايات الأشكال الخطية.

[ملاحظة]

قد يفقد الشكل المُعاد بساطته (انظر ST_IsSimple)، وقد لا يُحافظ على الطوبولوجيا، وقد تكون النتائج المضلّعية غير صالحة (انظر ST_IsValid). استخدم ST_SimplifyPreserveTopology للحفاظ على الطوبولوجيا وضمان الصلاحية. كما تحافظ ST_CoverageSimplify على الطوبولوجيا والصلاحية.

[ملاحظة]

لا تحافظ هذه الدالة على الحدود المشتركة بين المضلعات. استخدم ST_CoverageSimplify إذا كان ذلك مطلوباً.

[ملاحظة]

تتعامل هذه الدالة مع الأبعاد الثلاثية، وسيؤثر البعد الثالث في النتيجة.

متاحة منذ: 2.2.0

أمثلة

تبسيط LineString بتسامح مساحة دنيا قدره 30.

SELECT ST_AsText(ST_SimplifyVW(geom,30)) simplified
  FROM (SELECT 'LINESTRING(5 2, 3 8, 6 20, 7 25, 10 10)'::geometry AS geom) AS t;

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

تبسيط خط.

SELECT ST_SimplifyVW(
  'LINESTRING (10 10, 50 40, 30 70, 50 60, 70 80, 50 110, 100 100, 90 140, 100 180, 150 170, 170 140, 190 90, 180 40, 110 40, 150 20)',
    1600);

تبسيط مضلع.

SELECT ST_SimplifyVW(
  'MULTIPOLYGON (((90 110, 80 180, 50 160, 10 170, 10 140, 20 110, 90 110)), ((40 80, 100 100, 120 160, 170 180, 190 70, 140 10, 110 40, 60 40, 40 80), (180 70, 170 110, 142.5 128.5, 128.5 77.5, 90 60, 180 70)))',
    40);