Todos os produtos
Search
Central de documentação

ApsaraDB RDS:ST_CreateRast

Última atualização: Jun 26, 2026

Cria um objeto raster a partir de um arquivo no Alibaba Cloud Object Storage Service (OSS), em um bucket do MinIO (Multi-Cloud Object Storage) ou em um caminho do Hadoop Distributed File System (HDFS). Alternativamente, gera um objeto raster a partir de dados em um array unidimensional.

Sintaxe

-- Variant 1: Create from a storage path
raster ST_CreateRast(cstring url);

-- Variant 2: Create from a storage path with chunk and interleaving options
raster ST_CreateRast(cstring url, cstring storageOption);

-- Variant 3: Create from a storage path with chunk, interleaving, and import options
raster ST_CreateRast(cstring url, cstring storageOption, cstring createOption);

-- Variant 4: Generate from a one-dimensional array
raster ST_CreateRast(anyarray data, integer width, cstring storageOption, geometry extent);

Parâmetros

Variantes 1, 2 e 3: Criar a partir de um caminho de armazenamento

ParâmetroTipoDescrição
urlcstringO caminho do arquivo de origem. Compatível com caminhos OSS, MinIO e HDFS. Para detalhes sobre o formato do caminho, consulte Caminhos de armazenamento de objeto.
storageOptioncstring(Variantes 2 e 3) Uma string JSON que controla como os chunks e o interleaving são armazenados na pirâmide raster. Consulte os campos de storageOption.
createOptioncstring(Somente Variante 3) Uma string JSON que controla o cálculo de estatísticas de bandas durante a importação. Consulte os campos de createOption.

Variante 4: Gerar a partir de um array unidimensional

ParâmetroTipoDescrição
dataanyarrayDados raster como um array unidimensional. O número de elementos deve ser igual ao número de colunas multiplicado pelo número de linhas.
widthintegerO número de colunas nos dados raster.
storageOptioncstringUma string JSON que especifica as opções de armazenamento de chunks. O campo chunk_table é obrigatório para esta variante. Consulte os campos de storageOption.
extentgeometry(Opcional) A extensão espacial 3D do raster, representada como uma geometria.

Campos de storageOption

CampoTipoPadrãoDescrição
chunkdimstringIgual ao tamanho de chunk originalAs dimensões de cada chunk no formato (width,height,bands), por exemplo, (256,256,3).
interleavingstringbsqO tipo de interleaving do objeto raster. Valores válidos: bip (banda intercalada por pixel, BIP), bil (banda intercalada por linha, BIL), bsq (banda sequencial, BSQ), auto (determinado automaticamente).
chunk_tablestringNenhumO nome da tabela de chunks. Obrigatório ao usar a Variante 4 para gerar um objeto raster a partir de um array.
Nota

Altere chunkdim ou interleaving dos valores padrão somente quando necessário:

  • Para visualizar um raster como um composto multiband vermelho, verde e azul (RGB) quando o interleaving atual for bsq, altere-o para bip.

  • Se a imagem de origem tiver chunks de 1×n colunas, mas você precisar de chunks de 256×256, defina chunkdim como (256,256,3).

Campos de createOption

CampoTipoPadrãoDescrição
compute_statsbooleanfalseEspecifica se as estatísticas de bandas devem ser calculadas automaticamente durante a importação.
approxbooleanfalseEspecifica se um método de amostragem deve ser usado para calcular as estatísticas. Quando true, os resultados podem ser aproximados.
factorinteger4O fator de amostragem. Um valor de n significa que cada unidade de amostragem cobre n pixels. Tem efeito somente quando approx é true.
exclusive_nodatabooleantrueEspecifica se os valores nodata devem ser excluídos dos cálculos estatísticos.

Descrição

Use a função ST_RasterDrivers para obter os tipos de dados compatíveis.

Formato de URL por tipo de armazenamento:

Cada tipo de armazenamento usa um esquema de URL diferente:

ArmazenamentoFormato de URLExemplo
OSSOSS://<ak>:<ak_secret>@<endpoint>/<bucket>/<path>OSS://mykey:mysecret@oss-cn-beijing-internal.aliyuncs.com/mybucket/data/image.tif
MinIOMIO://<ak>:<ak_secret>@<host>:<port>/<bucket>/<path>MIO://mykey:mysecret@10.0.0.1:443/mybucket/data/image.tif
HDFSHDFS://<user_name>@<host>:<port>/<path>HDFS://myuser@10.0.0.1:8020/path/image.tif

Para formatos com múltiplos datasets como NetCDF e HDF5, acrescente o nome do dataset ao caminho:

  • NetCDF: image.nc:<dataset>

  • HDF5: image.hdf5://<group>/<dataset>

Exemplos

Criar um objeto raster a partir de um arquivo OSS:

SELECT ST_CreateRast('OSS://<ak>:<ak_secret>@oss-cn-beijing-internal.aliyuncs.com/mybucket/data/image.tif');

Criar um objeto raster a partir de um arquivo MinIO:

SELECT ST_CreateRast('MIO://<ak>:<ak_secret>@10.0.0.1:443/mybucket/data/image.tif');

Criar um objeto raster a partir de um arquivo HDFS:

SELECT ST_CreateRast('HDFS://<user_name>@10.0.0.1:8020/path/image.tif');

Definir dimensões de chunk e interleaving:

SELECT ST_CreateRast(
  'OSS://<ak>:<ak_secret>@oss-cn-beijing-internal.aliyuncs.com/mybucket/data/image.tif',
  '{"chunkdim":"(256,256,3)","interleaving":"auto"}'
);

Calcular estatísticas de bandas durante a importação:

SELECT ST_CreateRast(
  'OSS://<ak>:<ak_secret>@oss-cn-beijing-internal.aliyuncs.com/mybucket/data/image.tif',
  '{"chunkdim":"(256,256,3)","interleaving":"auto"}',
  '{"compute_stats":true}'
);

Criar um objeto raster a partir de um arquivo NetCDF com um dataset nomeado:

SELECT ST_CreateRast('OSS://<ak>:<ak_secret>@oss-cn-beijing-internal.aliyuncs.com/mybucket/data/image.nc:hcc');

Criar um objeto raster a partir de um arquivo HDF5 com um dataset nomeado:

SELECT ST_CreateRast('OSS://<ak>:<ak_secret>@oss-cn-beijing-internal.aliyuncs.com/mybucket/data/image.hdf5://ds/hcc');

Gerar um objeto raster a partir de um array:

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)
  )
);

Agregar vários registros em um objeto raster usando array_agg:

SELECT ST_FixedRid(
  ST_CreateRast(
    (SELECT array_agg(value) FROM point_table),
    300,
    '{"chunktable":"rbt"}'
  )
);

Consulte também