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