ST_Contains — 如果栅格栅格B的点没有位于栅格RASTA的外部,并且栅格B的内部至少有一个点位于RASTA的内部,则返回TRUE。
boolean
ST_Contains
(
raster
rastA
, integer
nbandA
, raster
rastB
, integer
nbandB
)
;
boolean
ST_Contains
(
raster
rastA
, raster
rastB
)
;
Raster Rasta包含rastB当且仅当rastB的点没有位于rastA的外部并且rastB的内部至少有一个点位于rastA的内部。如果未提供波段编号(或设置为空),则在测试中仅考虑栅格的凸包。如果提供了波段编号,则在测试中只考虑那些有值的像素(不考虑NODATA)。
![]() |
|
此函数将使用栅格上可用的任何索引。 |
![]() |
|
要测试栅格和几何图形的空间关系,请对栅格使用ST_Polygon,例如ST_CONTAINS(ST_Polygon(RASTER),GEOMETRY)或ST_CONTAINS(GEOMETRY,ST_POLYGON(RASTER))。 |
![]() |
|
ST_CONTAINS()与ST_WINDOWS()相反。因此,ST_CONTAINS(RASTA,rastB)隐含ST_WINDOWS(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