Renvoie les valeurs de pixel de toutes les bandes à un emplacement spécifique d'un objet raster.
Syntaxe
SETOF record ST_PointValues(raster raster_obj, integer column_sn, integer row_sn, boolean exclude_nodata DEFAULT true, OUT integer* band, OUT float8 value)
SETOF record ST_PointValues(raster raster_obj, float8 x, float8 y, boolean exclude_nodata DEFAULT true, text options DEFAULT '{}', OUT integer band, OUT float8 value)
La première surcharge localise un pixel par ses indices de colonne et de ligne. La seconde le localise par sa longitude et sa latitude, avec un rééchantillonnage facultatif.
Paramètres
| Paramètre | Description |
|---|---|
raster_obj |
L'objet raster. |
column_sn |
L'indice de colonne du pixel cible, à partir du coin supérieur gauche. |
row_sn |
L'indice de ligne du pixel cible, à partir du coin supérieur gauche. |
x |
La longitude du pixel cible. |
y |
La latitude du pixel cible. |
exclude_nodata |
Indique s'il faut exclure les valeurs NoData. Si ce paramètre est défini sur true, les pixels ayant des valeurs NoData ne sont pas renvoyés. Valeur par défaut : true. |
options |
La méthode de rééchantillonnage, spécifiée sous forme de chaîne JSON. Consultez le sous-paramètre resample ci-dessous. Valeur par défaut : '{}'. |
band |
Paramètre de sortie. Numéro de bande du pixel. |
value |
Paramètre de sortie. Valeur du pixel. |
Sous-paramètre options : resample
Lorsque resample est configuré, le calcul utilise les quatre pixels voisins.
| Valeur | Description |
|---|---|
none |
Aucun rééchantillonnage. |
idw |
Rééchantillonnage par pondération par l'inverse de la distance (IDW). |
mean |
Rééchantillonnage par valeur moyenne. |
max |
Rééchantillonnage par valeur maximale. |
min |
Rééchantillonnage par valeur minimale. |
Exemple : '{"resample": "idw"}'
Valeurs de retour
| Champ | Type | Description |
|---|---|---|
band |
integer | Numéro de bande. |
value |
float8 | Valeur de pixel pour la bande. |
Description
ST_PointValues renvoie les valeurs de pixel de toutes les bandes à un emplacement donné. Spécifiez l'emplacement soit par les coordonnées du pixel (column_sn, row_sn), soit par les coordonnées géographiques (x pour la longitude, y pour la latitude).
Si vous spécifiez l'option resample, la fonction utilise les quatre pixels voisins pour calculer la valeur renvoyée :

Exemples
Requête par coordonnées géographiques
Les exemples suivants interrogent les valeurs de pixel du raster stocké dans t_pixel où id = 3, en utilisant les coordonnées longitude/latitude.
Requête avec l'exclusion des valeurs NoData désactivée (exclude_nodata = false) :
SELECT * FROM
(SELECT (st_pointValues(rast, 125.84382034243441, 47.67709555783107, false)).*
FROM t_pixel WHERE id = 3) a
ORDER BY band;
Résultat :
band | value
------+-------
0 | 66
1 | 87
2 | 28
Requête utilisant des coordonnées entières :
SELECT * FROM
(SELECT (st_pointValues(rast, 125, 47)).*
FROM t_pixel WHERE id = 3) a
ORDER BY band;
Résultat :
band | value
------+-------
0 | 39
1 | 66
2 | 11
Requête avec rééchantillonnage IDW
Spécifiez la méthode de rééchantillonnage idw.
SELECT * FROM
(SELECT (st_pointValues(rast, 125.84382034243441, 47.67709555783107, false, '{"resample": "idw"}')).*
FROM t_pixel WHERE id = 3) a
ORDER BY band;
Résultat :
band | value
------+--------------------
0 | 60.81401293159196
1 | 85.23822259113626
2 | 26.300926205142165