Converte pixels em uma posição especificada de um raster em objetos geométricos. Cada objeto é representado por um ponto na posição de referência dentro da geometria.
Sintaxe
setof record ST_PixelAsPoints(raster raster_obj,
integer band default 0,
integer pyramid default 0,
boolean exclude_nodata_value default true,
cstring ref_point default 'UPPERLEFT',
out integer rowsn,
out integer columnsn,
out integer bandsn,
out double value,
out geometry geom);
Parâmetros
|
Parâmetro |
Tipo |
Padrão |
Descrição |
|
|
raster |
— |
Raster a consultar. |
|
|
integer |
|
ID da banda a consultar. IDs válidos começam em |
|
|
integer |
|
ID do nível de pirâmide a consultar. |
|
|
boolean |
|
Define se os pixels NoData serão excluídos. |
|
|
cstring |
|
Posição de referência do ponto no objeto geométrico. Valores válidos: |
|
|
out integer |
— |
Número da linha do pixel. |
|
|
out integer |
— |
Número da coluna do pixel. |
|
|
out integer |
— |
ID da banda do pixel. |
|
|
out double |
— |
Valor do pixel. |
|
|
out geometry |
— |
Extensão espacial do pixel. |
Descrição
A função ST_PixelAsPoints converte pixels de uma posição específica do raster em objetos geométricos. Cada objeto corresponde a um único ponto, posicionado conforme o parâmetro ref_point: no canto superior esquerdo (UPPERLEFT) ou no centro (CENTER) da geometria do pixel.
Exemplo
O exemplo a seguir recupera todos os pixels da banda 1 do raster com id = 10, filtra aqueles com valor superior a 38.0 e retorna a linha, a coluna, a banda, o valor e a geometria de cada pixel no formato Extended WKT.
WITH tmp AS (
SELECT (ST_PixelAsPoints(rast, 1)).*
FROM rast_table
WHERE id = 10
)
SELECT rowsn, columnsn, bandsn, value, ST_AsEWKT(geom)
FROM tmp
WHERE value > 38.0;
Saída:
rowsn | columnsn | bandsn | value | st_asewkt
-------+----------+--------+-------+---------------------------
100 | 100 | 0 | 43 | SRID=4326;POINT(-90 0)