ST_Raster.getValue
Определение
Функция ST_Raster.getValue возвращает значение отдельного пиксела, получив местоположение этого пиксела внутри объекта ST_Raster. Местоположение пиксела может быть выбрано или с помощью координат пиксела, или с помощью географических координат. Функция возвращает ошибку в случае, если выбранное местоположение находится вне измерения пиксела растра, или вне географического экстента. ST_Raster.getValue возвращает NULL, если значением пиксела в выбранном местоположении является NoData.
Синтаксис
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)
Возвраты
Oracle
Число (Number)
PostgreSQL
8-битовый с плавающей точкой (Float8)
SQL Server
Двойной точности (Double)
Параметры
Параметр | Описание |
---|---|
band (канал) | Номер канала пиксела (начиная с 1) |
level (уровень) | Уровень пирамидного слоя пиксела |
x | Значение координаты x пиксела |
y | Значение координаты y пиксела |
точка | Географическая координата пиксела |
растр | Объект ST_Raster, содержащий значение пиксела |
Примеры
В первом примере возвращаются значения пикселов для каналов 1, 2, и 3 для базового уровня пирамидных слоев в расположении пиксела с координатами (0,0).
Во втором примере возвращаются значения пикселов для каналов 1, 2, и 3 для базового уровня пирамидных слоев в географическом расположении с координатами (100.5, 20.5).
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