Tous les produits
Search
Centre de documentation

ApsaraDB RDS:ST_Clip

Dernière mise à jour :Aug 22, 2026

Découpe un objet raster à l'aide d'une zone de délimitation ou d'une géométrie et renvoie le résultat sous forme de blob binaire. Par défaut, toutes les bandes sont découpées. Contrôlez le format de sortie et la compression via storageOption.

Syntaxe

bytea ST_Clip(raster raster_obj, integer pyramidLevel, box extent, BoxType boxType);

bytea ST_Clip(raster raster_obj, integer pyramidLevel, box extent, BoxType boxType, integer destSrid);

record ST_Clip(raster raster_obj,
               geometry geom,
               integer pyramidLevel default 0,
               cstring bands default '',
               float8[] nodata default NULL,
               cstring clipOption default '',
               cstring storageOption default '',
               out box outwindow,
               out bytea rasterblob)

Paramètres

Paramètre Description
raster_obj Objet raster à découper.
pyramidLevel Niveau de pyramide de l'objet raster.
extent Zone de délimitation utilisée pour le découpage. Format : '((minX,minY),(maxX,maxY))'.
boxType Système de coordonnées de la zone de délimitation. Valeurs valides : Raster (coordonnées en pixels) et World (coordonnées mondiales).
destSrid Identifiant du système de référence spatiale (SRID) du sous-ensemble de cellules en sortie.
geom Objet géométrique utilisé pour le découpage.
bands Bandes à découper, spécifiées sous forme de plage ('0-2') ou de liste séparée par des virgules ('1,2,3'). La numérotation des bandes commence à 0. Valeur par défaut : '' (toutes les bandes).
nodata Tableau de valeurs de remplissage NoData (type float8[]) pour les zones situées en dehors de la région découpée. Si le nombre de valeurs fournies est inférieur au nombre de bandes, la valeur NoData prédéfinie de chaque bande restante est utilisée. Si une bande ne possède aucune valeur NoData prédéfinie, la valeur 0 est appliquée.
clipOption Chaîne JSON contrôlant le comportement de découpage. Consultez les champs clipOption.
storageOption Chaîne JSON contrôlant le format de sortie. Consultez les champs storageOption.
outwindow (OUT) Zone de délimitation de l'objet raster renvoyé.
rasterblob (OUT) Matrice de pixels binaire.

Champs clipOption

Champ Type Valeur par défaut Description
window_clip bool false Contrôle la région de découpage. true : découpe selon le rectangle englobant minimal (MBR) de la géométrie. false : découpe selon la forme exacte de la géométrie.
rast_coord bool false Interprète les coordonnées géométriques comme des coordonnées raster (numéros de colonne et de ligne, tous deux commençant à 0) plutôt que comme des coordonnées mondiales.

Champs storageOption

Champ Type Valeur par défaut Description
compression string lz4 Algorithme de compression. Valeurs valides : none, jpeg, zlib, png, lzo, lz4.
quality integer 75 Qualité de compression JPEG. S'applique uniquement lorsque compression est défini sur jpeg.
interleaving string Identique à la source Format d'entrelacement. Valeurs valides : bip (bandes entrelacées par pixel) et bsq (bandes séquentielles).
endian string Identique à la source Ordre des octets. Valeurs valides : NDR (little endian) et XDR (big endian).

Notes d'utilisation

Limite de taille de sortie : Le cache de découpage par défaut est de 100 Mo. Pour ajuster cette limite, définissez ganos.raster.clip_max_buffer_size.

Comportement de secours NoData : Le tableau nodata est associé aux bandes dans l'ordre. Si le tableau est plus court que le nombre de bandes découpées, Ganos utilise la valeur NoData prédéfinie de chaque bande pour les bandes restantes. Si une bande ne possède aucune valeur NoData prédéfinie, la valeur 0 est utilisée.

Région de découpage contre zone de délimitation : Par défaut (window_clip: false), le raster est découpé selon la forme exacte de la géométrie. Définissez window_clip: true pour découper selon le MBR de la géométrie, ce qui produit un résultat rectangulaire.

Exemples

Découpage par zone de délimitation utilisant des coordonnées mondiales

SELECT ST_Clip(raster_obj, 0, '((128.980,30.0),(129.0,30.2))', 'World')
FROM clip_table;

Découpage par zone de délimitation et reprojection de la sortie

Spécifiez destSrid pour définir le système de référence spatiale de la sortie.

SELECT ST_Clip(raster_obj, 0, '((128.980,30.0),(129.0,30.2))', 'World', 4326)
FROM clip_table;

Découpage par géométrie avec les paramètres par défaut

Toutes les bandes sont découpées selon la forme exacte du polygone. Le résultat inclut à la fois la fenêtre de sortie et la matrice de pixels binaire.

SELECT (ST_Clip(rast, ST_GeomFromText('POLYGON((0 0, 45 45, 90 45, 45 0, 0 0))', 4326), 0)).*
FROM clip_table
WHERE id = 1;

Découpage par géométrie avec un arrière-plan blanc et une sortie PNG

Définissez nodata sur ARRAY[254, 254, 254] pour remplir les zones découpées en blanc. Utilisez storageOption pour compresser la sortie au format PNG avec un entrelacement BIP.

SELECT (ST_Clip(
    rast,
    ST_GeomFromText('POLYGON((0 0, 45 45, 90 45, 45 0, 0 0))', 4326),
    0,
    '',
    ARRAY[254, 254, 254],
    '',
    '{"compression":"png","interleaving":"bip"}'
)).*
FROM clip_table
WHERE id = 1;

Découpage utilisant la zone de délimitation d'une géométrie (découpage par fenêtre)

Définir window_clip sur true permet de découper selon le MBR du polygone plutôt que selon sa forme elle-même, produisant ainsi une sortie rectangulaire.

SELECT (ST_Clip(
    rast,
    ST_GeomFromText('POLYGON((0 0, 45 45, 90 45, 45 0, 0 0))', 4326),
    0,
    '',
    NULL,
    '{"window_clip":true}',
    ''
)).*
FROM clip_table
WHERE id = 1;