ST_Raster.getValue
Definition
Mit der ST_Raster.getValue-Funktion wird der Wert eines einzelnen Pixels anhand der Position dieses Pixels im ST_Raster-Objekt zurückgegeben. Die Position kann entweder in Pixelkoordinaten oder in geographischen Koordinaten angegeben werden. Die Funktion gibt einen Fehler zurück, wenn sich die angegebene Position außerhalb der Raster-Pixeldimension oder geographischen Ausdehnung befindet. ST_Raster.getValue gibt NULL zurück, wenn der Pixelwert an der angegebenen Position "NoData" ist.
Syntax
Oracle
getValue (band INTEGER, level INTEGER, x INTEGER, y INTEGER) getValue (band INTEGER, level INTEGER, point SE_COORD)
PostgreSQL
getValue (raster IN ST_RASTER, band INT, level INT, x INT, y INT) getValue (raster IN ST_RASTER, band INT, level INT, point SE_COORD)
SQL Server
getValue (band IN NUMBER, level IN NUMBER, x IN NUMBER, y IN NUMBER) getValueByLoc (band IN NUMBER, level IN NUMBER, x IN DOUBLE, y IN DOUBLE)
Rückgaben
Oracle
Zahl
PostgreSQL
Float8
SQL Server
Double
Parameter
Parameter | Beschreibung |
---|---|
Band | Die Bandnummer des Pixels (beginnend bei 1) |
Ebene | Die Pyramidenebene des Pixels |
X | Die X-Koordinate des Pixels |
y | Die Y-Koordinate des Pixels |
Punkt | Die geographische Koordinate des Pixels |
Raster | Das ST_Raster-Objekt, das den Pixelwert enthält |
Beispiele
Im ersten Beispiel werden Pixelwerte für die Bänder 1, 2 und 3 für die Basispyramidenebene an Pixelposition (0,0) zurückgegeben.
Im zweiten Beispiel werden Pixelwerte für die Basispyramidenebene für die Bänder 1, 2 und 3 an einer geographischen Position (100,5; 20,5) zurückgegeben.
Oracle
-
SELECT t.image.getValue(1,0,0,0) r, t.image.getValue(2,0,0,0) g, t.image.getValue(3,0,0,0) b FROM VEG t WHERE t.image.raster_id = 1; R G B ---------- ---------- ---------- 83 49 173
-
SELECT t.image.getValue(1,0,se_coord(100.5,20.5)) r, t.image.getValue(2,0,se_coord(100.5,20.5)) g, t.image.getValue(3,0,se_coord(100.5,20.5)) b FROM VEG t WHERE t.image.raster_id = 1; R G B ---------- ---------- ---------- 83 49 173
PostgreSQL
-
SELECT getValue(image,1,0,0,0) r, getValue(image,2,0,0,0) g, getValue(image,3,0,0,0) b FROM veg WHERE raster_id(image) = 1; R G B ---------- ---------- ---------- 83 49 173
-
SELECT getValue(image,1,0,se_coord(100.5,20.5)) r, getValue(image,2,0,se_coord(100.5,20.5)) g, getValue(image,3,0,se_coord(100.5,20.5)) b FROM veg WHERE raster_id(image) = 1; R G B ---------- ---------- ---------- 83 49 173
SQL Server
-
SELECT image.getValue(1,0,0,0) r, image.getValue(2,0,0,0) g, image.getValue(3,0,0,0) b FROM veg WHERE image.raster_id = 1; R G B ---------- ---------- ---------- 83 49 173
-
SELECT getValueByLoc(image,1,0,100.5,20.5) as r, getValueByLoc(image,2,0,100.5,20.5) as g, getValueByLoc(image,3,0,100.5,20.5) as b FROM veg WHERE image.raster_id = 1; R G B ---------- ---------- ---------- 83 49 173