Todos os produtos
Search
Central de documentação

ApsaraDB RDS:ST_InterpolateRaster

Última atualização: Aug 27, 2026

Realiza interpolação espacial com base em um conjunto de pontos 3D e retorna o resultado como um novo objeto raster. Um ponto 3D é expresso no formato (x,y,z).

Sintaxe

raster ST_InterpolateRaster(
    geometry input_points,
    integer width,
    integer height,
    cstring interpolateOptions,
    cstring storageOptions);

Parâmetros

Parâmetro

Descrição

input_points

Conjunto de pontos de interpolação.

width

Número de colunas dos dados raster.

height

Número de linhas dos dados raster.

interpolateOptions

String JSON que descreve as configurações do algoritmo de interpolação espacial.

storageOption

String JSON que define os chunks para armazenamento do objeto raster.

A tabela a seguir detalha os campos do parâmetro interpolateOptions.

Campo

Descrição

Tipo

Valor padrão

Configuração

method

Método de interpolação.

string

IDW

Suporta apenas interpolação por Inverso da Distância Ponderada (IDW).

radius

Raio de busca.

double

0.0

Se definido como 0, o sistema calcula o raio de busca com base na quantidade de pontos de entrada e na área.

power

Peso da interpolação.

double

2.0

Nenhuma.

max_points

Quantidade máxima de pontos.

integer

10

Deve ser maior que o valor do campo min_points.

min_points

Quantidade mínima de pontos.

integer

2

Nenhuma.

nodata

Valor de nodata.

double

0.0

Nenhuma.

parallel

Grau de paralelismo (DOP).

integer

1

Nenhuma.

A tabela a seguir descreve os campos do parâmetro storageOption.

Campo

Descrição

Tipo

Formato

Valor padrão

Observações

chunkdim

Tamanho de cada chunk.

string

(w, h, b)

Igual ao tamanho de cada chunk no objeto original.

Nenhuma.

chunktable

Nome da tabela de chunks.

string

Nenhum.

Nenhum.

Se este campo não for especificado, o sistema cria uma tabela temporária.

celltype

Tipo de pixel do objeto raster.

string

Nenhum.

16BUI

Valores válidos: 8BSI, 8BUI, 16BSI, 16BUI, 32BSI, 32BUI, 32BF, 64BF.

Exemplos

O exemplo a seguir usa ST_Collect para agregar pontos 3D da tabela point_table e os interpola em um raster de 256×256 usando IDW com raio de busca de 3.0.

SELECT ST_InterpolateRaster(
  st_collect(ST_MakePoint(st_x(geom),st_y(geom),value)),
  256,
  256,
  '{"method":"IDW","radius":"3.0","max_points":"4","min_points":"1"}',
  '{"chunktable":"rbt","celltype":"8bui"}')
FROM point_table;

st_interpolateraster
---------------------
{"attributes":{"id":"f54cff0a-cca4-4e51-ac11-7aa5a3c9d9b6","name":"","type":"normal","version":1.1,"storage":{"mode":"internal","location":"rbt","md5":"","endian":"ndr","compress":"lz4","compressQuality":75,"fileSystem":"null","chunking":{"enable":true,"chunkHeight":256,"chunkWidth":256,"chunkBand":1,"rowChunksDimension":1,"columnChunksDimension":1,"bandChunksDimension":1},"cellType":"8bui","interleaving":"bsq"},"description":"","width":256,"height":256,"bands":1,"pyramid":{"resample":"near","level":0,"table":""},"overview":{"table":"","column":"","pyramidLevel":1},"referenceOriginPoint":{"type":"Raster","ulp":{"row":0,"column":0,"band":0},"rrp":{"row":0,"column":0,"band":0},"wrp":{"x":0,"y":0,"z":0}}},"spatialReference":{"valid":true,"srid":0,"refLocation":"center","affline":{"upperleftx":0.0,"upperlefty":2.0,"scalex":0.0078125,"scaley":-0.0078125,"skewx":0.0,"skewy":0.0},"gcps":{"count":0}}}

O exemplo abaixo defina parallel como 4 para ative a interpolação paralela com grau de paralelismo (DOP) igual a 4.

SELECT ST_InterpolateRaster(
  st_collect(ST_MakePoint(st_x(geom),st_y(geom),value)),
  256,
  256,
  '{"radius":"2.0","max_points":"4","min_points":"1","parallel":"4"}',
  '{"chunktable":"rbt","celltype":"8bui"}')
FROM point_table;

st_interpolateraster
---------------------
{"attributes":{"id":"b769c306-4416-4e31-9e60-d2b847642190","name":"","type":"normal","version":1.1,"storage":{"mode":"internal","location":"rbt","md5":"","endian":"ndr","compress":"lz4","compressQuality":75,"fileSystem":"null","chunking":{"enable":true,"chunkHeight":256,"chunkWidth":256,"chunkBand":1,"rowChunksDimension":1,"columnChunksDimension":1,"bandChunksDimension":1},"cellType":"8bui","interleaving":"bsq"},"description":"","width":256,"height":256,"bands":1,"pyramid":{"resample":"near","level":0,"table":""},"overview":{"table":"","column":"","pyramidLevel":1},"referenceOriginPoint":{"type":"Raster","ulp":{"row":0,"column":0,"band":0},"rrp":{"row":0,"column":0,"band":0},"wrp":{"x":0,"y":0,"z":0}}},"spatialReference":{"valid":true,"srid":0,"refLocation":"center","affline":{"upperleftx":0.0,"upperlefty":2.0,"scalex":0.0078125,"scaley":-0.0078125,"skewx":0.0,"skewy":0.0},"gcps":{"count":0}}}