如果Geometry对象或Geography对象B没有任何坐标点在对象A之外,则返回True。

语法

boolean  ST_Covers(geometry  geomA , geometry  geomB);
boolean  ST_Covers(geography  geogpolyA , geography  geogpointB);

参数

参数名称 描述
geomA 第一个Geometry对象。
geomB 第二个Geometry对象。
geogpolyA 第一个Geography对象。
geogpointB 第二个Geography对象。

描述

  • 该函数不支持GeometryCollection类型对象作为输入参数。
  • 不要将该函数用于无效的Geometry对象,否则会得到不可预料的结果。
  • 该函数会自动生成一个bounding box用于利用Geometry对象上的索引。如果不想使用索引,请使用函数ST_Covers。

示例

ST_Covers与ST_Contains的区别:
SELECT ST_Covers(g1,g2), ST_Contains(g1,g2) FROM (SELECT 'POLYGON((0 0,1 1,1 0,0 0))'::geometry as g1,
                                                               'LINESTRING(0 0,1 1)'::geometry as g2) as test;
 st_covers | st_contains
-----------+-------------
 t         | f
(1 row)