Todos os produtos
Search
Central de documentação

PolarDB:ST_CreateRast

Última atualização: Aug 20, 2026

Crie um objeto raster a partir de um arquivo armazenado em um bucket do OSS, em um bucket do MinIO ou em um arquivo HDFS. Também crie um objeto raster a partir de um array unidimensional.

Sintaxe

raster ST_CreateRast(cstring url);
raster ST_CreateRast(cstring url, cstring storageOption);
raster ST_CreateRast(anyarray data, integer width, cstring storageOption, geometry extent);

Parâmetros

Parâmetro

Descrição

url

Caminho do arquivo source. Para consultar os formatos de caminho compatíveis, veja Object storage paths.

storageOption

String JSON que especifica as opções de armazenamento de chunks para a pirâmide raster.

data

Array unidimensional que representa o raster. O comprimento do array deve corresponder ao produto do número de colunas pelo número de linhas.

width

Número de colunas do raster.

extent

(Opcional) Espaço tridimensional representado por uma geometria.

Campos de storageOption

Campo

Tipo

Formato

Padrão

Descrição

chunkdim

String

(w,h,b)

Igual ao tamanho do chunk no arquivo source

Tamanho de cada chunk usado para armazenar dados raster.

interleaving

String

bsq

Método de intercalação. Valores válidos: bip (band interleaved by pixel), bil (band interleaved by line), bsq (band sequential) e auto (determinado automaticamente).

chunk_table

String

Nenhum

Nome da tabela de chunks. Obrigatório ao criar um objeto raster a partir de um array unidimensional.

Notas de uso

Substitua os valores padrão de chunkdim e interleaving apenas nos seguintes casos:

  • Visualização multibanda RGB: Se interleaving estiver definido como bsq, mas a renderização do raster usar combinação RGB multibanda, defina interleaving como bip.

  • Incompatibilidade de tamanho de chunk: Caso a imagem source tenha chunks de 1 linha × n colunas e você precise de chunks de 256 × 256, defina chunkdim com o tamanho de chunk desejado.

Para obter a lista de formatos de dados compatíveis, chame a função ST_RasterDrivers.

Exemplos

Todos os exemplos usam ST_CreateRast para criar objetos raster a partir de diferentes backends de armazenamento.

-- Create a raster object from an OSS file using AccessKey credentials and an internal endpoint.
SELECT ST_CreateRast('OSS://<ak>:<ak_secret>@oss-cn-beijing-internal.aliyuncs.com/mybucket/data/image.tif');

-- Create a raster object from a MinIO bucket using the host and port in the URL.
SELECT ST_CreateRast('OSS://<ak>:<ak_secret>@10.0.XX.XX:443/mybucket/data/image.tif');

-- Create a raster object from an HDFS file using a username in the URL.
SELECT ST_CreateRast('HDFS://<user_name>@10.0.XX.XX:8020/path/image.tif');

-- Create a raster object with custom chunk dimensions and interleaving.
SELECT ST_CreateRast('OSS://<ak>:<ak_secret>@oss-cn-beijing-internal.aliyuncs.com/mybucket/data/image.tif', '{"chunkdim":"(256,256,3)","interleaving":"auto"}');

-- Create a raster object from a NetCDF file and select the hcc subset.
SELECT ST_CreateRast('OSS://<ak>:<ak_secret>@oss-cn-beijing-internal.aliyuncs.com/mybucket/data/image.nc:hcc');

-- Create a raster object from a one-dimensional array with a geometry extent.
SELECT ST_FixedRid(ST_CreateRast(ARRAY[10, 11, 8, 12], 2, '{"chunktable":"rbt"}', ST_GeomFromText('POLYGON((0 0, 10 0, 10 10, 0 10, 0 0))', 4326)));

-- Create a raster object by aggregating values from a table using array_agg.
SELECT ST_FixedRid(ST_CreateRast((SELECT array_agg(value) FROM point_table), 300, '{"chunktable":"rbt"}'));