ST_Contains — 如果栅格 rastB 的所有点都不位于栅格 rastA 的外部,并且 rastB 内部至少有一个点位于 rastA 内部,则返回 true。
boolean ST_Contains(
raster rastA , integer nbandA , raster rastB , integer nbandB )
;
boolean ST_Contains(
raster rastA , raster 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