名稱

ST_Within — 如果網格 rastA 的任何點都不在網格 rastB 的外部,且 rastA 內部至少有一個點在 rastB 內部,則傳回 true。

概要

boolean ST_Within( 網格 rastA , 整數 nbandA , 網格 rastB , 整數 nbandB );

boolean ST_Within( 網格 rastA , 網格 rastB );

描述

當且僅當網格 rastA 的任何點都不在網格 rastB 的外部,且 rastA 內部至少有一個點在 rastB 內部時,網格 rastA 才在 rastB 內部。如果未提供(或設定為 NULL)頻帶編號,則僅在測試中考慮網格的凸包。如果提供了頻帶編號,則僅在測試中考慮那些具有值(非 NODATA)的像素。

[Note]

此運算元將使用網格上可能可用的任何索引。

[Note]

要測試網格和幾何圖形的空間關係,請在網格上使用 ST_Polygon,例如 ST_Within(ST_Polygon(raster), geometry) 或 ST_Within(geometry, ST_Polygon(raster))。

[Note]

ST_Within() 是 ST_Contains() 的反向。因此,ST_Within(rastA, rastB) 意味著 ST_Contains(rastB, rastA)。

可用性:2.1.0

範例

SELECT r1.rid, r2.rid, ST_Within(r1.rast, 1, r2.rast, 1) FROM dummy_rast r1 CROSS JOIN dummy_rast r2 WHERE r1.rid = 2;

 rid | rid | st_within
-----+-----+-----------
   2 |   1 | f
   2 |   2 | t