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

  1. 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
  2. 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

  1. 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
  2. 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

  1. 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
  2. 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

7/10/2012