Tous les produits
Search
Centre de documentation

ApsaraDB RDS:ST_Values

Dernière mise à jour :Aug 26, 2026

Renvoie les coordonnées géographiques et les valeurs de pixel de toutes les cellules d'un objet raster qui intersectent un objet géométrique. Les bandes sont numérotées à partir de 0. Par défaut, la fonction renvoie toutes les bandes. Les deux objets doivent partager le même identifiant de système de référence spatiale (SRID).

Syntaxe

set of record ST_Values(raster raster_obj,
                     geometry geom,
                     integer pyramidLevel default 0,
                     cstring bands default '', /* All bands */
                     cstring clipOption default '',
                     out point cords,
                     out integer band,
                     out float8 value)

La fonction renvoie un ensemble d'enregistrements (set of record). Chaque ligne contient trois champs de sortie : cords (coordonnées géographiques), band (numéro de séquence de la bande) et value (valeur du pixel). Pour développer tous les champs de sortie dans une requête, utilisez la syntaxe .* :

SELECT (ST_Values(rast, geom)).*
FROM your_table;

Pour accéder à un champ spécifique, utilisez la notation par point :

SELECT (ST_Values(rast, geom)).cords,
       (ST_Values(rast, geom)).value
FROM your_table;

Paramètres

Paramètres d'entrée

Paramètre Type Valeur par défaut Description
raster_obj raster — L'objet raster à interroger.
geom geometry — L'objet géométrique utilisé pour le découpage. Il doit avoir le même SRID que raster_obj.
pyramidLevel integer 0 Le niveau de pyramide de l'objet raster à utiliser.
bands cstring '' Les numéros de séquence des bandes à renvoyer, au format '0-2' ou '1,2,3'. Les numéros de bande commencent à 0. La chaîne vide par défaut '' renvoie toutes les bandes.
clipOption cstring '' Options de découpage sous forme de chaîne au format JSON. Consultez les paramètres clipOption.

Champs de sortie

Champ Type Description
cords point Les coordonnées géographiques du pixel.
band integer Le numéro de séquence de la bande du pixel.
value float8 La valeur du pixel.

Paramètres clipOption

Paramètre Type Valeur par défaut Description
window_clip Boolean false Contrôle si le découpage s'effectue selon la boîte englobante de l'objet géométrique ou selon sa forme exacte. Définissez ce paramètre sur true pour découper selon le rectangle englobant minimal (MBR) de l'objet géométrique. Définissez-le sur false pour découper selon la forme exacte de l'objet géométrique.

Quand utiliser window_clip :

  • Utilisez window_clip: true lorsque vous souhaitez récupérer toutes les cellules situées dans l'enveloppe rectangulaire d'un objet géométrique, par exemple lors d'un découpage avec un point, afin de capturer la grille de pixels environnante plutôt que la seule intersection exacte.

  • Utilisez window_clip: false (valeur par défaut) lorsque vous avez besoin d'une intersection précise avec la forme réelle de l'objet géométrique, comme un découpage le long d'une linestring ou d'une limite de polygone.

Remarques d'utilisation

  • L'objet géométrique et l'objet raster doivent tous deux disposer d'un SRID valide, et leurs SRID doivent correspondre.

  • Par défaut, chaque appel renvoie jusqu'à 100 Mo de données. Pour ajuster cette limite, définissez le paramètre ganos.raster.clip_max_buffer_size.

Exemples

Tous les exemples appellent ST_Values avec la syntaxe .* pour développer la sortie en colonnes individuelles.

Découpage avec un objet géométrique de type point

Le fait de définir window_clip sur true permet de récupérer la grille de pixels située dans le MBR du point, plutôt qu'une seule cellule d'intersection exacte.

SELECT (ST_Values(rast, ST_geomfromtext('POINT(128.135 29.774)', 4326)::geometry, 0,'{"window_clip":"true"}')).*
FROM rat_clip WHERE id=1;
    coord     | band | value
--------------+------+-------
 (127.8,29.7) |    0 |    11
 (127.8,29.7) |    1 |    10
 (127.8,29.7) |    2 |    50
(3 rows)

Découpage avec un objet géométrique de type linestring

Cet exemple découpe le raster en utilisant la forme exacte d'une linestring, en renvoyant jusqu'à 10 lignes pour toutes les bandes.

SELECT (ST_Values(rast, ST_geomfromtext('LINESTRING(0 0, 45 45, 90 0, 135 45)', 4326)::geometry, 0)).*
FROM rat_clip WHERE id=1 LIMIT 10;
    coord    | band | value
-------------+------+-------
 (44.1,45)   |    0 |   115
 (44.1,45)   |    1 |   112
 (44.1,45)   |    2 |    69
 (45,45)     |    0 |   122
 (45,45)     |    1 |   117
 (45,45)     |    2 |    75
 (134.1,45)  |    0 |    37
 (134.1,45)  |    1 |    64
 (134.1,45)  |    2 |    13
 (43.2,44.1) |    0 |    66
(10 rows)

Étapes suivantes

  • ST_Value — Renvoie la valeur d'une seule cellule à un point ou à des coordonnées de pixel spécifiés.

  • ST_ClipByMask — Découpe un objet raster à l'aide d'un masque géométrique et renvoie le raster découpé.

  • ST_Clip — Découpe un objet raster par un objet géométrique et renvoie le raster découpé.

  • ST_Intersects — Teste si un objet raster et un objet géométrique s'intersectent.