ST_Covers
如果第一个输入几何体的 2D 投影被第二个输入几何体的 2D 投影覆盖,则 ST_Covers 返回 true。如果几何体 A
和几何体 B
都是非空的,并且 B
中的每个点均为 A
中的一个点,则前者覆盖了后者。
ST_Covers(A
, B
) 与 ST_CoveredBy(B
, A
) 等效。
语法
ST_Covers(geom1, geom2)
参数
- geom1
-
一个
GEOMETRY
数据类型的值,或一个计算结果为GEOMETRY
类型的表达式。 - geom2
-
一个
GEOMETRY
数据类型的值,或一个计算结果为GEOMETRY
类型的表达式。此值将与 geom1进行比较以确定它是否覆盖了 geom1。
返回类型
BOOLEAN
如果 geom1 或 geom2 为 null,则返回 null。
如果 geom1 和 geom2 不具有相同的空间参考系统标识符 (SRID) 值,则返回一个错误。
如果 geom1 或 geom2 为几何体集合,则返回一个错误。
示例
以下 SQL 检查第一个多边形是否覆盖了第二个多边形。
SELECT ST_Covers(ST_GeomFromText('POLYGON((0 2,1 1,0 -1,0 2))'), ST_GeomFromText('POLYGON((-1 3,2 1,0 -3,-1 3))'));
st_covers
-----------
false