ST_ContainsProperly
如果两个输入几何体都为非空,并且第二个几何体的 2D 投影的所有点都是第一个几何体的 2D 投影的内部点,则 ST_ContainsProperly 返回 true。
语法
ST_ContainsProperly(geom1, geom2)
参数
- geom1
-
一个
GEOMETRY
数据类型的值,或一个计算结果为GEOMETRY
类型的表达式。子类型不能为GEOMETRYCOLLECTION
。 - geom2
-
一个
GEOMETRY
数据类型的值,或一个计算结果为GEOMETRY
类型的表达式。子类型不能为GEOMETRYCOLLECTION
。将此值与 geom1 进行比较,以确定其所有点是否都是 geom1 的内点。
返回类型
BOOLEAN
如果 geom1 或 geom2 为 null,则返回 null。
如果 geom1 和 geom2 不具有相同的空间参考系统标识符 (SRID) 值,则返回一个错误。
如果 geom1 或 geom2 为几何体集合,则返回一个错误。
示例
在输入线串与输入面的内部和边界(但不是其外部)相交的位置,以下 SQL 返回 ST_Contains 和 ST_ContainsProperly 的值。面包含线串,但没有正确包含线串。
WITH tmp(g1, g2) AS (SELECT ST_GeomFromText('POLYGON((0 0,10 0,10 10,0 10,0 0))'), ST_GeomFromText('LINESTRING(5 5,10 5,10 6,5 5)')) SELECT ST_Contains(g1, g2), ST_ContainsProperly(g1, g2) FROM tmp;
st_contains | st_containsproperly
-------------+---------------------
t | f