Name

ST_PixelAsPolygons — Retourne la géométrie polygonale qui délimite chaque pixel de la bande raster, avec la valeur et les coordonnées raster X et Y de chaque pixel.

Synopsis

setof record ST_PixelAsPolygons(raster rast, integer band=1, boolean exclude_nodata_value=TRUE);

Description

Retourne la géométrie polygonale qui délimite chaque pixel de la bande raster, avec la valeur (double précision) et les coordonnées raster X et Y (entiers) de chaque pixel.

Format de l'enregistrement de retour : geom geometry, val double precision, x entier, y entier.

[Note]

Si exclude_nodata_value = TRUE, seuls les pixels qui ne sont pas NODATA sont retournés.

[Note]

ST_PixelAsPolygons retourne un polygone pour chaque pixel. Ce comportement est différent de ST_DumpAsPolygons, où chaque géométrie représente un ou plusieurs pixels de même valeur.

Disponibilité : 2.0.0

Amélioration : 2.1.0 ajout du paramètre optionnel exclude_nodata_value.

Changement : 2.1.1 Changement du comportement de behavior of exclude_nodata_value.

Exemples

-- 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))