如果Geometry对象A包含Geometry对象B,则返回True。
语法
boolean ST_Contains(geometry geomA , geometry geomB);
参数
参数名称 | 描述 |
---|---|
geomA | 第一个Geometry对象。 |
geomB | 第二个Geometry对象。 |
描述
- 当且仅当B对象的点不位于A的外部且B内部至少存在一个点位于A内部时,A对象才包含B对象:
- A不包含其边界,但包含其自身。
- 当使用ST_ContainsProperly函数时,A不包含其自身。
- 两个Geometry对象必须都具有相同的投影方式,并且具有相同的SRID。
- ST_Contains函数是ST_Within的反函数。
ST_Contains(A,B)与ST_Within(B,A)结果一致,除非输入的Geometry对象是无效的Geometry对象。
- 该函数不支持GeometryCollection类型对象作为输入参数。
- 该函数会自动生成一个bounding box用于利用Geometry对象上的索引。如果不想使用索引,请使用函数_ST_Contains。
示例
SELECT ST_Contains('POLYGON((0 0,0 3,3 0,0 0))'::geometry,'POLYGON((0 0,0 1,1 0,0 0))'::geometry);
st_contains
-------------
t
(1 row)