Tous les produits
Search
Centre de documentation

ApsaraDB RDS:ST_InterpolateRaster

Dernière mise à jour :Oct 10, 2026

Effectue une interpolation spatiale à partir d'un ensemble de points 3D et renvoie le résultat sous la forme d'un nouvel objet raster. Un point 3D s'exprime au format (x,y,z).

Syntaxe

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

Paramètres

Paramètre Description
input_points Ensemble des points d'interpolation.
width Nombre de colonnes des données raster.
height Nombre de lignes des données raster.
interpolateOptions Chaîne JSON décrivant les paramètres de l'algorithme d'interpolation spatiale.
storageOption Chaîne JSON décrivant les chunks pour le stockage de l'objet raster.

Le tableau suivant décrit les champs du paramètre interpolateOptions.

Champ Description Type Valeur par défaut Configuration
method Méthode d'interpolation. string IDW Seule l'interpolation par pondération inverse de la distance (IDW) est prise en charge.
radius Rayon de recherche. double 0.0 Si la valeur est 0, le rayon de recherche est calculé en fonction du nombre de points d'entrée et de la surface.
power Poids d'interpolation. double 2.0 Aucune.
max_points Nombre maximal de points. integer 10 Doit être supérieur à la valeur du champ min_points.
min_points Nombre minimal de points. integer 2 Aucune.
nodata Valeur nodata. double 0.0 Aucune.
parallel Degré de parallélisme (DOP). integer 1 Aucune.

Le tableau suivant décrit les champs du paramètre storageOption.

Champ Description Type Format Valeur par défaut Notes
chunkdim Taille de chaque chunk. string (w, h, b) Identique à la taille de chaque chunk dans l'objet d'origine. Aucune.
chunktable Nom de la table de chunks. string Aucune. Aucune. Si ce champ n'est pas spécifié, une table temporaire est créée.
celltype Type de pixel de l'objet raster. string Aucune. 16BUI Valeurs valides : 8BSI, 8BUI, 16BSI, 16BUI, 32BSI, 32BUI, 32BF, 64BF.

Exemples

L'exemple suivant utilise ST_Collect pour agréger des points 3D issus de point_table et les interpole dans un raster de 256×256 à l'aide de la méthode IDW avec un rayon de recherche 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}}}

L'exemple suivant définit parallel sur 4 afin d'activer l'interpolation parallèle avec un degré de parallélisme (DOP) de 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}}}