الاسم
ST_PixelAsPolygons — تُعيد الشكل الهندسي المضلع الذي يحدّ كل بكسل في نطاق رستر مع القيمة وإحداثيَّي الرستر X وY لكل بكسل.
المختصر
setof record ST_PixelAsPolygons(raster rast, integer band=1, boolean exclude_nodata_value=TRUE);
الوصف
تُعيد الشكل الهندسي المضلع الذي يحدّ كل بكسل في نطاق رستر مع القيمة (double precision) وإحداثيَّي الرستر X وY (أعداد صحيحة) لكل بكسل.
صيغة السجل المُعاد: geom geometry، val double precision، x integer، y integers.
|
|
|
عندما يكون |
|
|
|
تُعيد ST_PixelAsPolygons شكلًا هندسيًا مضلعًا واحدًا لكل بكسل. وهذا يختلف عن ST_DumpAsPolygons حيث يمثّل كل شكل هندسي بكسلًا واحدًا أو أكثر لها قيمة البكسل نفسها. |
متاحة منذ: 2.0.0
حُسّنت في: 2.1.0 أُضيف الوسيط الاختياري exclude_nodata_value.
تغيّرت في: 2.1.1 تغيّر سلوك exclude_nodata_value.
أمثلة
-- get raster pixel polygon
SELECT (gv).x, (gv).y, (gv).val, ST_AsText((gv).geom) geom
FROM (SELECT ST_PixelAsPolygons(
ST_SetValue(ST_SetValue(ST_AddBand(ST_MakeEmptyRaster(2, 2, 0, 0, 0.001, -0.001, 0.001, 0.001, 4269),
'8BUI'::text, 1, 0),
2, 2, 10),
1, 1, NULL)
) gv
) foo;
x | y | val | geom
---+---+-----------------------------------------------------------------------------
1 | 1 | | POLYGON((0 0,0.001 0.001,0.002 0,0.001 -0.001,0 0))
1 | 2 | 1 | POLYGON((0.001 -0.001,0.002 0,0.003 -0.001,0.002 -0.002,0.001 -0.001))
2 | 1 | 1 | POLYGON((0.001 0.001,0.002 0.002,0.003 0.001,0.002 0,0.001 0.001))
2 | 2 | 10 | POLYGON((0.002 0,0.003 0.001,0.004 0,0.003 -0.001,0.002 0))