Codifica um objeto raster como um fluxo binário no formato PNG.
Sintaxe
bytea ST_AsPNG(raster raster_obj,box extent,
integer pyramidLevel default 0,
cstring bands default '',
cstring option default '');
Parâmetros
|
Nome do parâmetro |
Descrição |
|
raster_obj |
Objeto raster a processar. |
|
extent |
Extensão da imagem. Usa o sistema de coordenadas geográficas por padrão. |
|
pyramidLevel |
Nível de pirâmide da imagem. A contagem começa em 0 (valor padrão). |
|
bands |
Lista de bandas a recuperar, com indexação iniciada em 0. Use formatos como |
|
option |
Opções de conversão em uma string JSON. |
A tabela a seguir detalha o parâmetro option.
Parâmetro | Descrição | Tipo | Valor padrão | Observações |
nodata | Define se valores NoData devem ser considerados. | bool | false |
|
nodataValue | Valor considerado como NoData. | integer | 0 | Se nodata for true, defina um valor para este parâmetro. |
rast_coord | Indica se a caixa de entrada usa coordenadas de pixel. | bool | false | Neste modo, x representa o número da coluna e y o número da linha do pixel. Ambos começam em 0. |
strength | Controla o realce da imagem. | string | none | Método de realce aplicado. Valores válidos:
|
quality | Qualidade da compressão. | integer | 75 | Define a qualidade da compressão. Valores válidos: 1 a 100. |
Descrição
A função retorna os dados da imagem no formato bytea.
O cache de recorte padrão é de 100 MB, o que limita o tamanho dos dados resultantes. Para alterar esse limite, modifique o parâmetro ganos.raster.clip_max_buffer_size.
-
A quantidade de bandas determina o tipo de imagem gerada:
1 banda: Imagem em escala de cinza.
2 bandas: Escala de cinza combinada com canal alfa.
3 bandas: Canais R, G e B.
4 bandas: Canais R, G, B e alfa.
Exemplos
-- Use a clipping range.
SELECT ST_AsPNG(raster_obj,
'(-180,-90), (0,0)'::Box)
FROM raster_table
WHERE id =1;
-- Specify a pyramid level.
SELECT ST_AsPNG(raster_obj,
'(-180,-90), (0,0)'::Box,
1)
FROM raster_table
WHERE id =1;
-- Specify bands and a clipping range.
SELECT ST_AsPNG(raster_obj,
'(-180,-90), (0,0)'::Box,
1,
'0-2')
FROM raster_table
WHERE id =1;
-- Stretch the image using statistical values.
SELECT ST_AsPNG(rast,
'(-180,-90), (0,0)'::Box,
0,
'',
'{"nodata":"false", "nodatavalue":"0","rast_coord":"false", "strength":"stats", "quality":"75"}')
FROM raster_table
WHERE id =1;