Converte um objeto raster em uma imagem bytea dentro de uma extensão geográfica ou de pixels especificada. Caso não se especifique bands, o sistema utiliza as três primeiras bandas e define PNG como formato de saída padrão.
Sintaxe
bytea ST_AsImage(raster raster_obj,
box extent,
integer pyramidLevel default 0,
cstring bands default '',
cstring format default 'PNG',
cstring option default '');
Parâmetros
|
Parâmetro |
Tipo |
Padrão |
Descrição |
|
|
raster |
— |
Objeto raster para conversão. |
|
|
box |
— |
Extensão espacial da imagem de saída. Usa o sistema de coordenadas geográficas por padrão. |
|
|
integer |
|
Nível de pirâmide para leitura. Valores válidos começam em |
|
|
cstring |
|
Bandas a incluir na saída. Aceita intervalos ( |
|
|
cstring |
|
Formato da imagem de saída. Valores válidos: |
|
|
cstring |
|
String JSON com opções adicionais de renderização. Consulte Campos de opção. |
Campos de opção
|
Campo |
Tipo |
Padrão |
Descrição |
|
|
bool |
|
Controla o tratamento de NoData. |
|
|
integer |
|
Valor NoData do raster. Obrigatório quando |
|
|
bool |
|
Define se a caixa |
|
|
string |
|
Modo de aprimoramento de exibição. |
|
|
integer |
|
Qualidade da compressão. Valores válidos: 1–100. |
Observações de uso
ST_AsImageretorna um valorbytea.Por padrão, cada consulta armazena em cache até 100 MB de dados recortados. Para ajustar esse limite, defina o parâmetro
ganos.raster.clip_max_buffer_size.-
O parâmetro
bandscontrola quais bandas compõem a imagem de saída. Há suporte para as seguintes contagens:1: banda única — exporta como imagem em escala de cinza.2: banda única + banda Alfa — exporta como imagem em escala de cinza com transparência.3: bandas R, G e B — exporta como imagem RGB.4: bandas R, G, B e Alfa — exporta como imagem RGBA.
Exemplos
Todos os exemplos leem de uma raster_table e filtram por id = 1. A extensão geográfica '(-180,-90), (0,0)'::box abrange o quadrante inferior esquerdo do globo.
Exportar com configurações padrão
SELECT ST_AsImage(raster_obj,
'(-180,-90), (0,0)'::box)
FROM raster_table
WHERE id = 1;
Exportar de um nível específico de pirâmide
SELECT ST_AsImage(raster_obj,
'(-180,-90), (0,0)'::box,
1)
FROM raster_table
WHERE id = 1;
Exportar bandas 0, 1 e 2
SELECT ST_AsImage(raster_obj,
'(-180,-90), (0,0)'::box,
1,
'0-2')
FROM raster_table
WHERE id = 1;
Exportar como PNG com formato explícito
SELECT ST_AsImage(raster_obj,
'(-180,-90), (0,0)'::box,
1,
'0-2',
'PNG')
FROM raster_table
WHERE id = 1;
Exportar com aprimoramento de exibição baseado em estatísticas
SELECT ST_AsImage(rast,
'(-180,-90), (0,0)'::box,
0,
'',
'PNG',
'{"nodata":"false","nodatavalue":"0","rast_coord":"false","strength":"stats","quality":"75"}')
FROM raster_table
WHERE id = 1;
Exportar uma região de coordenadas de pixel com aprimoramento de exibição
Use rast_coord: true para especifique a extensão em coordenadas de pixel em vez de coordenadas geográficas.
SELECT ST_AsImage(rast,
'(0,0), (200,100)'::box,
0,
'',
'PNG',
'{"nodata":"false","nodatavalue":"0","rast_coord":"true","strength":"stats","quality":"75"}')
FROM raster_table
WHERE id = 1;