الاسم
ST_DumpAsPolygons — تُعيد مجموعة من صفوف geomval (geom,val) من نطاق رستر مُعطى. إذا لم يُحدَّد رقم النطاق، فالقيمة الافتراضية لرقم النطاق هي 1.
المختصر
setof geomval ST_DumpAsPolygons(raster rast, integer band_num=1, boolean exclude_nodata_value=TRUE);
الوصف
هذه دالة تُعيد مجموعة (SRF). تُعيد مجموعة من صفوف geomval، يتكوّن كل منها من شكل هندسي (geom) وقيمة بكسل النطاق (val). كل مضلع هو اتحاد جميع بكسلات ذلك النطاق التي لها قيمة البكسل نفسها المشار إليها بـ val.
تفيد ST_DumpAsPolygon في تحويل الرسترات إلى مضلعات. وهي عكس GROUP BY من حيث إنها تُنشئ صفوفًا جديدة. على سبيل المثال، يمكن استخدامها لتوسيع رستر واحد إلى عدة POLYGONS/MULTIPOLYGONS.
تغيّرت في: 3.3.0 عُطّل التحقق من الصلاحية والإصلاح لتحسين الأداء. قد ينتج عن ذلك أشكال هندسية غير صالحة.
متاحة منذ: تتطلب GDAL 1.7 أو أحدث.
|
|
|
إذا كانت هناك قيمة NODATA معيّنة لنطاق، فلن تُعاد البكسلات ذات تلك القيمة إلا في حالة exclude_nodata_value=false. |
|
|
|
إذا كان كل ما يهمك هو عدد البكسلات ذات قيمة معيّنة في رستر، فمن الأسرع استخدام ST_ValueCount. |
|
|
|
يختلف هذا عن ST_PixelAsPolygons التي تُعيد شكلًا هندسيًا واحدًا لكل بكسل بغض النظر عن قيمة البكسل. |
أمثلة
-- this syntax requires PostgreSQL 9.3+
SELECT val, ST_AsText(geom) As geomwkt
FROM (
SELECT dp.*
FROM dummy_rast, LATERAL ST_DumpAsPolygons(rast) AS dp
WHERE rid = 2
) As foo
WHERE val BETWEEN 249 and 251
ORDER BY val;
val | geomwkt
-----+--------------------------------------------------------------------------
249 | POLYGON((3427927.95 5793243.95,3427927.95 5793243.85,3427928 5793243.85,
3427928 5793243.95,3427927.95 5793243.95))
250 | POLYGON((3427927.75 5793243.9,3427927.75 5793243.85,3427927.8 5793243.85,
3427927.8 5793243.9,3427927.75 5793243.9))
250 | POLYGON((3427927.8 5793243.8,3427927.8 5793243.75,3427927.85 5793243.75,
3427927.85 5793243.8, 3427927.8 5793243.8))
251 | POLYGON((3427927.75 5793243.85,3427927.75 5793243.8,3427927.8 5793243.8,
3427927.8 5793243.85,3427927.75 5793243.85))
انظر أيضًا
geomval, ST_AsRasterAgg, ST_Value, ST_Polygon, ST_ValueCount