الاسم
ST_CoverageUnion — تحسب اتحاد مجموعة من المضلعات التي تشكّل تغطية بإزالة الحواف المشتركة.
المختصر
geometry ST_CoverageUnion(geometry set geom);
الوصف
دالة تجميعية توحّد مجموعة من المضلعات التي تشكّل تغطية مضلعية. والنتيجة شكل هندسي مضلعي يغطي المساحة نفسها التي تغطيها التغطية. تُنتج هذه الدالة النتيجة نفسها التي تُنتجها ST_Union، لكنها تستخدم بنية التغطية لحساب الاتحاد بسرعة أكبر بكثير.
|
|
|
إذا لم يكن المُدخل تغطية صالحة فقد تظهر عيوب غير متوقعة في الناتج (مثل مضلعات غير مدمجة أو متداخلة). استخدم ST_CoverageInvalidEdges لتحديد ما إذا كانت التغطية صالحة. |
متاحة منذ: 3.4.0 - تتطلب GEOS >= 3.8.0
أمثلة
|
التغطية المُدخلة
|
نتيجة الاتحاد
|
WITH coverage(id, geom) AS (VALUES
(1, 'POLYGON ((10 10, 10 150, 80 190, 110 150, 90 110, 40 110, 50 60, 10 10))'::geometry),
(2, 'POLYGON ((120 10, 10 10, 50 60, 100 70, 120 10))'::geometry),
(3, 'POLYGON ((140 80, 120 10, 100 70, 40 110, 90 110, 110 150, 140 80))'::geometry),
(4, 'POLYGON ((140 190, 120 170, 140 130, 160 150, 140 190))'::geometry),
(5, 'POLYGON ((180 160, 170 140, 140 130, 160 150, 140 190, 180 160))'::geometry)
)
SELECT ST_AsText(ST_CoverageUnion(geom))
FROM coverage;
--------------------------------------
MULTIPOLYGON (((10 150, 80 190, 110 150, 140 80, 120 10, 10 10, 10 150), (50 60, 100 70, 40 110, 50 60)), ((120 170, 140 190, 180 160, 170 140, 140 130, 120 170)))
انظر أيضًا
ST_CoverageInvalidEdges, ST_CoverageSimplify, ST_CoverageClean, ST_Union