ST_Contains — 如果網格 rastB 的任何點都不位於網格 rastA 的外部,且 rastB 內部至少有一個點位於 rastA 的內部,則返回 true。
boolean ST_Contains(
網格 rastA , 整數 nbandA , 網格 rastB , 整數 nbandB )
;
boolean ST_Contains(
網格 rastA , 網格 rastB )
;
當且僅當網格 rastB 的任何點都不位於 rastA 的外部,且 rastB 內部至少有一個點位於 rastA 的內部時,網格 rastA 才包含 rastB。如果未提供波段編號(或設定為 NULL),則在測試中僅考慮網格的凸包。如果提供了波段編號,則在測試中僅考慮具有值(非 NODATA)的像素。
![]() |
|
此函數將利用網格上可能存在的任何索引。 |
![]() |
|
若要測試網格和幾何圖形之間的空間關係,請在網格上使用 ST_Polygon,例如 ST_Contains(ST_Polygon(raster), geometry) 或 ST_Contains(geometry, ST_Polygon(raster))。 |
![]() |
|
ST_Contains() 是 ST_Within() 的反向操作。因此,ST_Contains(rastA, rastB) 暗示 ST_Within(rastB, rastA)。 |
可用性:2.1.0
-- specified band numbers SELECT r1.rid, r2.rid, ST_Contains(r1.rast, 1, r2.rast, 1) FROM dummy_rast r1 CROSS JOIN dummy_rast r2 WHERE r1.rid = 1; NOTICE: The first raster provided has no bands rid | rid | st_contains -----+-----+------------- 1 | 1 | 1 | 2 | f
-- no band numbers specified SELECT r1.rid, r2.rid, ST_Contains(r1.rast, r2.rast) FROM dummy_rast r1 CROSS JOIN dummy_rast r2 WHERE r1.rid = 1; rid | rid | st_contains -----+-----+------------- 1 | 1 | t 1 | 2 | f