Name

ST_Contains — 如果栅格栅格B的点没有位于栅格RASTA的外部,并且栅格B的内部至少有一个点位于RASTA的内部,则返回TRUE。

Synopsis

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)。

[Note]

此函数将使用栅格上可用的任何索引。

[Note]

要测试栅格和几何图形的空间关系,请对栅格使用ST_Polygon,例如ST_CONTAINS(ST_Polygon(RASTER),GEOMETRY)或ST_CONTAINS(GEOMETRY,ST_POLYGON(RASTER))。

[Note]

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
            

另请参阅

ST_Intersects, ST_Within