Выборка ST_PixelData из столбца ST_Raster в столбец ST_PixelData
Для извлечения значения ST_PixelData из значения ST_Raster может использоваться функция ST_Raster getPixelData. Это значение может быть вставлено в ST_Pixeldata или оно может быть перенесено в переменную ST_PixelData.
Шаги:
-
Используйте выражение SELECT для извлечения значения ST_PixelData из значения ST_Raster.
Если вы разместите выражение SELECT внутри выражения INSERT, то результат извлеченного ST_PixelData будет вставлен в указанный столбец.
В следующих примерах значение первого уровня ST_PixelData выбрано из столбца ST_Raster таблицы urban_area и вставлено в столбец ST_PixelData таблицы пикселей.
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;
В этих примерах ST_PixelData выбрано из столбца ST_Raster таблицы urban_area и перенесено в переменную ST_PixelData методом ST_Raster getPixelData.
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);
Связанные темы
5/25/2014