如果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)