ST_Crosses - Amazon Redshift

ST_Crosses

如果两个输入几何体的 2D 投影相互交叉,ST_Crosses 将返回 true。

语法

ST_Crosses(geom1, geom2)

参数

geom1

一个 GEOMETRY 数据类型的值,或一个计算结果为 GEOMETRY 类型的表达式。

geom2

一个 GEOMETRY 数据类型的值,或一个计算结果为 GEOMETRY 类型的表达式。

返回类型

BOOLEAN

如果 geom1geom2 为 null,则返回一个错误。

如果 geom1geom2 为几何体集合,则返回一个错误。

如果 geom1geom2 不具有相同的空间参考系统标识符 (SRID) 值,则返回一个错误。

示例

以下 SQL 检查第一个面是否与第二个多点相交。在此示例中,多点与面的内部和外部相交,这就是 ST_Crosses返回 true 的原因。

SELECT ST_Crosses (ST_GeomFromText('polygon((0 0,10 0,10 10,0 10,0 0))'), ST_GeomFromText('multipoint(5 5,0 0,-1 -1)'));
st_crosses ------------- true

以下 SQL 检查第一个面是否与第二个多点相交。在此示例中,多点与面的外部相交,而不是其内部相交,这就是 ST_Crosses 返回 false 的原因。

SELECT ST_Crosses (ST_GeomFromText('polygon((0 0,10 0,10 10,0 10,0 0))'), ST_GeomFromText('multipoint(0 0,-1 -1)'));
st_crosses ------------- false