Todos os produtos
Search
Central de documentação

ApsaraDB RDS:ST_Clip

Última atualização: Aug 22, 2026

Recorta um objeto raster com base em uma bounding box ou geometria e retorna o resultado como um blob binário. Por padrão, todas as bandas são recortadas. Controle o formato de saída e a compressão por meio de storageOption.

Sintaxe

bytea ST_Clip(raster raster_obj, integer pyramidLevel, box extent, BoxType boxType);

bytea ST_Clip(raster raster_obj, integer pyramidLevel, box extent, BoxType boxType, integer destSrid);

record ST_Clip(raster raster_obj,
               geometry geom,
               integer pyramidLevel default 0,
               cstring bands default '',
               float8[] nodata default NULL,
               cstring clipOption default '',
               cstring storageOption default '',
               out box outwindow,
               out bytea rasterblob)

Parâmetros

Parâmetro

Descrição

raster_obj

Objeto raster a recortar.

pyramidLevel

Nível de pirâmide do objeto raster.

extent

Bounding box para recorte. Formato: '((minX,minY),(maxX,maxY))'.

boxType

Sistema de coordenadas da bounding box. Valores válidos: Raster (coordenadas de pixel) e World (coordenadas mundiais).

destSrid

Identificador do sistema de referência espacial (SRID) do subconjunto de células de saída.

geom

Objeto de geometria usado como base para o recorte.

bands

Bandas a recortar, especificadas como intervalo ('0-2') ou lista separada por vírgulas ('1,2,3'). A numeração das bandas começa em 0. Padrão: '' (todas as bandas).

nodata

Array de valores de preenchimento NoData (tipo float8[]) para áreas fora da região de recorte. Se houver menos valores que o número de bandas, o sistema usa o valor NoData predefinido de cada banda restante. Caso uma banda não tenha valor NoData predefinido, 0 será usado.

clipOption

String JSON que controla o comportamento do recorte. Consulte campos de clipOption.

storageOption

String JSON que define o formato de saída. Consulte campos de storageOption.

outwindow

(OUT) Bounding box do objeto raster retornado.

rasterblob

(OUT) Matriz de pixels binária.

Campos de clipOption

Campo

Tipo

Padrão

Descrição

window_clip

bool

false

Define a região de recorte. true: recorta pelo retângulo delimitador mínimo (MBR) da geometria. false: recorta pela forma exata da geometria.

rast_coord

bool

false

Interpreta as coordenadas da geometria como coordenadas de raster (números de coluna e linha, ambos começando em 0) em vez de coordenadas mundiais.

Campos de storageOption

Campo

Tipo

Padrão

Descrição

compression

string

lz4

Algoritmo de compressão. Valores válidos: none, jpeg, zlib, png, lzo, lz4.

quality

integer

75

Qualidade da compressão JPEG. Aplica-se apenas quando compression está definido como jpeg.

interleaving

string

Igual ao source

Formato de intercalação. Valores válidos: bip (band interleaved by pixel) e bsq (band sequential).

endian

string

Igual ao source

Ordem dos bytes. Valores válidos: NDR (little endian) e XDR (big endian).

Observações de uso

Limite de tamanho de saída: O cache padrão de recorte é de 100 MB. Para ajustar esse limite, defina ganos.raster.clip_max_buffer_size.

Comportamento de fallback de NoData: O array nodata é associado às bandas em ordem. Se o array for menor que o número de bandas recortadas, o Ganos utiliza o valor NoData predefinido de cada banda para as bandas restantes. Quando uma banda não possui valor NoData predefinido, 0 é aplicado.

Região de recorte versus bounding box: Por padrão (window_clip: false), o raster é recortado conforme a forma exata da geometria. Defina window_clip: true para recortar pelo MBR da geometria e gerar um resultado retangular.

Exemplos

Recorte por bounding box com coordenadas mundiais

SELECT ST_Clip(raster_obj, 0, '((128.980,30.0),(129.0,30.2))', 'World')
FROM clip_table;

Recorte por bounding box com reprojeção da saída

Especifique destSrid para definir o sistema de referência espacial da saída.

SELECT ST_Clip(raster_obj, 0, '((128.980,30.0),(129.0,30.2))', 'World', 4326)
FROM clip_table;

Recorte por geometria com configurações padrão

Todas as bandas são recortadas pela forma exata do polígono. O resultado inclui tanto a janela de saída quanto a matriz de pixels binária.

SELECT (ST_Clip(rast, ST_GeomFromText('POLYGON((0 0, 45 45, 90 45, 45 0, 0 0))', 4326), 0)).*
FROM clip_table
WHERE id = 1;

Recorte por geometria com fundo branco e saída PNG

Defina nodata como ARRAY[254, 254, 254] para preencher as áreas recortadas com branco. Use storageOption para comprimir a saída como PNG com intercalação BIP.

SELECT (ST_Clip(
    rast,
    ST_GeomFromText('POLYGON((0 0, 45 45, 90 45, 45 0, 0 0))', 4326),
    0,
    '',
    ARRAY[254, 254, 254],
    '',
    '{"compression":"png","interleaving":"bip"}'
)).*
FROM clip_table
WHERE id = 1;

Recorte pela bounding box de uma geometria (window clip)

Ao definir window_clip como true, o recorte ocorre pelo MBR do polígono em vez da própria forma do polígono, produzindo uma saída retangular.

SELECT (ST_Clip(
    rast,
    ST_GeomFromText('POLYGON((0 0, 45 45, 90 45, 45 0, 0 0))', 4326),
    0,
    '',
    NULL,
    '{"window_clip":true}',
    ''
)).*
FROM clip_table
WHERE id = 1;