Retorna a geometria de polígono que delimita cada pixel de uma banda raster, além do valor do pixel e suas coordenadas de linha e coluna.
Ao contrário da função ST_DumpAsPolygons, que agrupa pixels com o mesmo valor em uma única geometria, a função ST_PixelAsPolygons retorna um polígono para cada pixel.
Sintaxe
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);
Parâmetros
|
Parâmetro |
Descrição |
|
|
Raster a consultar. |
|
|
ID da banda a consultar. Os IDs de banda começam em 0. Padrão: |
|
|
ID do nível de pirâmide a consultar. Padrão: |
|
|
Defina se os pixels NoData serão excluídos do conjunto de resultados. Padrão: |
Colunas de saída
Cada linha retornada pela função contém as seguintes colunas:
|
Coluna |
Tipo |
Descrição |
|
|
integer |
Número da linha do pixel. |
|
|
integer |
Número da coluna do pixel. |
|
|
integer |
ID da banda à qual o pixel pertence. |
|
|
double |
Valor do pixel. |
|
|
geometry |
Extensão espacial (polígono) do pixel. |
Exemplo
O exemplo a seguir consulta a tabela rast_table em busca de pixels na banda 1 e filtra o resultado para linhas nas quais o valor do pixel excede 38,0.
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;
Saída de exemplo:
rowsn | columnsn | bandsn | value | st_asewkt
-------+----------+--------+-------+------------------------------------------------------------
100 | 100 | 0 | 43 | SRID=4326;POLYGON((-180 90,-180 89.1,-179.1 89.1,-179.1 90,-180 90))
Veja também
ST_DumpAsPolygons— agrupa pixels com o mesmo valor em geometrias de polígono mescladasST_PixelAsPolygon— retorna a geometria de polígono de um único pixel na linha e coluna especificadasST_PixelAsPoint— retorna a geometria de ponto de um único pixelST_PixelAsPoints— retorna geometrias de ponto para todos os pixels de uma bandaST_PixelAsCentroid— retorna o centroide do polígono de um único pixelST_PixelAsCentroids— retorna as geometrias de centroide de todos os pixels de uma banda