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 |
|
|
Caminho do arquivo source. Para consultar os formatos de caminho compatíveis, veja Object storage paths. |
|
|
String JSON que especifica as opções de armazenamento de chunks para a pirâmide raster. |
|
|
Array unidimensional que representa o raster. O comprimento do array deve corresponder ao produto do número de colunas pelo número de linhas. |
|
|
Número de colunas do raster. |
|
|
(Opcional) Espaço tridimensional representado por uma geometria. |
Campos de storageOption
|
Campo |
Tipo |
Formato |
Padrão |
Descrição |
|
|
String |
|
Igual ao tamanho do chunk no arquivo source |
Tamanho de cada chunk usado para armazenar dados raster. |
|
|
String |
— |
|
Método de intercalação. Valores válidos: |
|
|
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
interleavingestiver definido comobsq, mas a renderização do raster usar combinação RGB multibanda, definainterleavingcomobip.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
chunkdimcom 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"}'));