Mengembalikan centroid setiap piksel dalam raster sebagai geometri titik, lengkap dengan nomor baris, kolom, band, dan nilai piksel tersebut.
Sintaksis
setof record ST_PixelAsCentroids(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);Parameter
| Parameter | Deskripsi |
|---|---|
raster_obj | Raster yang akan dikueri. |
band | Band yang akan dikueri. ID yang valid dimulai dari 0. |
pyramid | Level piramida yang akan dikueri. |
exclude_nodata_value | Menentukan apakah pixel NoData dikecualikan atau tidak. Default: true. |
rowsn | (Out) Nomor baris pixel. |
columnsn | (Out) Nomor kolom pixel. |
bandsn | (Out) ID band pixel. |
value | (Out) Nilai pixel. |
geom | (Out) Titik pusat pixel, dikembalikan sebagai geometri titik. |
Deskripsi
Setiap catatan yang dikembalikan berisi (rowsn, columnsn, bandsn, value, geom), dengan geom berupa geometri titik di pusat piksel.
Jikaexclude_nodata_valuebernilaitrue, piksel dengan nilai NoData tidak disertakan dalam hasil. Jika kueri Anda menghasilkan lebih sedikit baris dari yang diharapkan, periksa apakah piksel NoData telah difilter.
Fungsi ini menghasilkan output yang sama dengan ST_PixelAsPoints ketika ref_point diatur ke CENTER.
Contoh
Kueri berikut mengambil piksel dari band 1 raster dengan id = 10, lalu memfilter hanya piksel dengan nilai di atas 38,0.
WITH tmp AS (
SELECT (ST_PixelAsCentroids(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;POINT(-89.5 0.5)Lihat juga
ST_PixelAsPoints: Mengembalikan geometri piksel menggunakan titik referensi yang dapat dikonfigurasi (atur
ref_pointkeCENTERuntuk hasil yang setara).