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

ST_ConvexHull

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

الاسم

ST_ConvexHull — تحسب الغلاف المحدب لشكل هندسي.

المختصر

geometry ST_ConvexHull(geometry geomA);

الوصف

تحسب الغلاف المحدب لشكل هندسي. الغلاف المحدب هو أصغر شكل هندسي محدب يحيط بجميع الأشكال في المُدخل.

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

في الحالة العامة يكون الغلاف المحدب مضلعاً (Polygon). والغلاف المحدب لنقطتين أو أكثر على استقامة واحدة هو LineString من نقطتين. والغلاف المحدب لنقطة واحدة أو أكثر متطابقة هو نقطة (Point).

هذه ليست دالة تجميعية. لحساب الغلاف المحدب لمجموعة من الأشكال الهندسية، استخدم ST_Collect لتجميعها في مجموعة أشكال (مثلاً ST_ConvexHull(ST_Collect(geom)).

تُنفَّذ بواسطة وحدة GEOS

تطبّق هذه الدالة مواصفة OGC Simple Features Implementation Specification for SQL 1.1. s2.1.1.3

تطبّق هذه الدالة مواصفة SQL/MM. SQL-MM IEC 13249-3: 5.1.16

تدعم هذه الدالة الأبعاد الثلاثية ولا تُسقط قيمة Z.

أمثلة

الغلاف المحدب لـ MultiLinestring وMultiPoint

SELECT ST_AsText(ST_ConvexHull(
    ST_Collect(
        ST_GeomFromText('MULTILINESTRING((100 190,10 8),(150 10, 20 30))'),
            ST_GeomFromText('MULTIPOINT(50 5, 150 30, 50 10, 10 10)')
            )) );
---st_astext--
POLYGON((50 5,10 8,10 10,100 190,150 30,150 10,50 5))
    

الاستخدام مع ST_Collect لحساب الأغلفة المحدبة لمجموعات أشكال هندسية.

--Get estimate of infected area based on point observations
SELECT d.disease_type,
    ST_ConvexHull(ST_Collect(d.geom)) As geom
    FROM disease_obs As d
    GROUP BY d.disease_type;