全部產品
Search
文件中心

ApsaraDB RDS:ST_Values

更新時間:Feb 28, 2024

查詢Raster對象中與Geometry對象相交的所有像元對應的地理座標以及像元值。

文法

set of record ST_Values(raster raster_obj,
                     geometry geom,
                     integer pyramidLevel default 0,
                     cstring bands default '',  /* All bands */
                     cstring clipOption default '',
                     out point cords,
                     out integer band,
                     out float8 value)

參數

參數名稱描述
raster_obj需要裁剪的raster對象。
pyramidLevel金字塔層級。
geom需要裁剪的geometry對象。
bands需要裁剪的波段,用'0-2'或者‘1,2,3’這種形式表示,以0開始。 預設為'', 表示裁剪所有的波段。
clipOptionjson字串表示的裁剪選項。
cords返回結果欄位之一,像素值的經緯度(地理)座標。
band返回結果欄位之一,像素值所在波段號。
value返回結果欄位之一,像素值。

clipOption參數如下。

參數名稱類型預設值描述
window_clipboolfalse是否使用geometry的外包框進行裁剪。取值:
  • true:使用geometry的MBR裁剪;
  • false:使用geometry對象裁剪。

描述

  • Geometry對象與Raster對象都需要有空間參考資訊,且兩者空間參考必須一致。
  • 預設的裁剪緩衝為100MB,代表最多隻能裁剪出100MB大小的結果資料,如果需要調整返回結果大小,可使用參數 ganos.raster.clip_max_buffer_size 調整緩衝的大小。

樣本

-- 基於點選擇
SELECT ( ST_Values(rast, ST_geomfromtext('POINT(128.135 29.774)', 4326)::geometry, 0,'{"window_clip":"true"}')).*
from rat_clip WHERE id=1;
    coord     | band | value 
--------------+------+-------
 (127.8,29.7) |    0 |    11
 (127.8,29.7) |    1 |    10
 (127.8,29.7) |    2 |    50
(3 rows)

-- 基於線選擇
SELECT ( ST_Values(rast, ST_geomfromtext('LINESTRING(0 0, 45 45, 90 0, 135 45)', 4326)::geometry, 0)).*
from rat_clip WHERE id=1 limit 10;
    coord    | band | value 
-------------+------+-------
 (44.1,45)   |    0 |   115
 (44.1,45)   |    1 |   112
 (44.1,45)   |    2 |    69
 (45,45)     |    0 |   122
 (45,45)     |    1 |   117
 (45,45)     |    2 |    75
 (134.1,45)  |    0 |    37
 (134.1,45)  |    1 |    64
 (134.1,45)  |    2 |    13
 (43.2,44.1) |    0 |    66
(10 rows)