Todos os produtos
Search
Central de documentação

ApsaraDB RDS:ST_AsPNG

Última atualização: Sep 15, 2026

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 '0-2' ou '1,2,3'. O valor padrão é vazio. Imagens PNG aceitam 1, 2, 3 ou 4 bandas; se não especificado, usa as três primeiras.

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

  • true: Processa os valores NoData.

  • false: Trata o valor NoData como um valor normal.

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:

  • none: Sem realce.

  • stats: Estica a imagem com base em valores estatísticos.

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;