All Products
Search
Document Center

PolarDB:ST_PixelAsPolygons

Last Updated:Mar 29, 2026

Mengembalikan setiap piksel dalam suatu band raster sebagai geometri poligon, lengkap dengan nomor baris, kolom, band, dan nilai piksel tersebut.

Sintaksis

setof record ST_PixelAsPolygons(raster raster_obj,
    integer band default  0,
    integer pyramid default 0,
    boolean exclude_nodata_value default true,
    out integer rowsn,
    out integer columnsn,
    out integer bandsn,
    out double value,
    out geometry geom);

Setiap record yang dikembalikan memiliki format: rowsn integer, columnsn integer, bandsn integer, value double, geom geometry.

Jika exclude_nodata_value bernilai true (nilai default), piksel dengan nilai NoData tidak disertakan dalam hasil. Atur menjadi false untuk menyertakan semua piksel tanpa memperhatikan nilainya.

Parameter

ParameterDeskripsi
raster_objRaster yang akan di-query.
bandID band yang akan di-query. ID band yang valid dimulai dari 0. Default: 0.
pyramidID level piramida yang akan di-query. Default: 0.
exclude_nodata_valueMenentukan apakah piksel NoData harus dikecualikan dari hasil. Default: true.
rowsnOutput. Nomor baris piksel.
columnsnOutput. Nomor kolom piksel.
bandsnOutput. ID band piksel.
valueOutput. Nilai piksel.
geomOutput. Luasan spasial piksel dalam bentuk geometri poligon.

Contoh

Contoh berikut mengambil piksel dari band 1 raster dengan id = 10, lalu memfilter piksel yang nilainya lebih besar dari 38.0. Sintaksis (ST_PixelAsPolygons(...)).* memperluas record yang dikembalikan menjadi kolom-kolom terpisah.

WITH tmp AS (
  SELECT (ST_PixelAsPolygons(rast, 1)).*
  FROM rast_table
  WHERE id = 10
)
SELECT rowsn, columnsn, bandsn, value, ST_AsEWKT(geom)
FROM tmp
WHERE value > 38.0;

Output:

    100 |      100 |      0 |    43 | SRID=4326;POLYGON((-180 90,-180 89.1,-179.1 89.1,-179.1 90,-180 90))