Abrufen von "ST_PixelData" aus einer "ST_Raster"-Spalte in eine "ST_PixelData"-Spalte
Sie können die Funktion "ST_Raster getPixelData" verwenden, um den "ST_PixelData"-Wert aus einem "ST_Raster"-Wert zu extrahieren. Dieser Wert kann in "ST_Pixeldata" eingefügt oder in eine "ST_PixelData"-Variable abgerufen werden.
-
Verwenden Sie eine SELECT-Anweisung, um den "ST_PixelData"-Wert aus "ST_Raster" abzurufen.
Wenn Sie die SELECT-Anweisung in eine INSERT-Anweisung einfügen, wird das Ergebnis der "ST_PixelData"-Extrahierung in die angegebene Spalte eingefügt.
In den folgenden Beispielen wird der "ST_PixelData"-Wert der obersten Ebene aus der Spalte "ST_Raster" der Tabelle "urban_area" abgerufen und in die "ST_PixelData"-Spalte (pdata) der Tabelle "pixels" eingefügt.
Oracle
INSERT INTO PIXELS (pdata) SELECT t.raster.getPixelData('level=1') FROM URBAN_AREA t WHERE t.raster.raster_id = 1;
PostgreSQL
INSERT INTO pixels (pdata) SELECT getPixelData(raster,'level=1') FROM urban_area WHERE raster_id(raster) = 1;
SQL Server
INSERT INTO pixels (pdata) SELECT raster.getPixelData('level=1') FROM urban_area WHERE raster.raster_id = 1;
In diesen Beispielen wird "ST_PixelData" mithilfe der "ST_Raster"-Methode "getPixelData" aus der Spalte "ST_Raster" der Tabelle "urban_area" in die Variable "ST_PixelData" abgerufen.
Oracle
DECLARE p sde.st_pixeldata; BEGIN SELECT t.raster.getPixelData() INTO p FROM URBAN_AREA t WHERE t.raster.rasterid = 1; END; /
PostgreSQL
DROP FUNCTION IF EXISTS fetch_pixeldata(); CREATE OR REPLACE FUNCTION fetch_pixeldata() RETURNS integer AS ' DECLARE p st_pixeldata; BEGIN SELECT getPixelData(raster) INTO p FROM urban_area WHERE raster_id(raster) = 1; END;' LANGUAGE plpgsql; SELECT edit_pixeldata(); DROP FUNCTION IF EXISTS fetch_pixeldata();
SQL Server
DECLARE @p ST_PIXELDATA; SET @p = (SELECT raster.getPixelData(NULL) FROM urban_area WHERE raster.raster_id = 1);