View a markdown version of this page

ST_Intersection - Amazon Redshift

2026 年 6 月 30 日之后,Amazon Redshift 不再支持使用 Python UDF。我们将分阶段开始执行。有关 Python 生命周期终止和迁移选项详情的更多信息,请参阅 2025 年 6 月 30 日发布的博客文章。

ST_Intersection

ST_Interction 返回一个表示两个几何体的点集交集的几何体。也就是说,它返回两个输入几何体间共享的部分。

语法

ST_Intersection(geom1, geom2)

参数

geom1

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

geom2

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

返回类型

GEOMETRY

如果 geom1 和 geom2 不共享任何空间(它们不相交),则返回一个空的几何体。

如果 geom1 或 geom2 为空,则返回一个空的几何体。

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

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

如果 geom1 或 geom2 非二维 (2D) 几何体,则返回一个错误。

示例

以下 SQL 返回表示两个输入几何体交集的非空几何体。

SELECT ST_AsEWKT(ST_Intersection(ST_GeomFromText('polygon((0 0,100 100,0 200,0 0))'), ST_GeomFromText('polygon((0 0,10 0,0 10,0 0))')));
st_asewkt ------------------------- POLYGON((0 0,0 10,5 5,0 0))

传递不相交(无交集)输入几何体时,以下 SQL 返回一个空几何体。

SELECT ST_AsEWKT(ST_Intersection(ST_GeomFromText('linestring(0 100,0 0)'), ST_GeomFromText('polygon((1 0,10 0,1 10,1 0))')));
st_asewkt ------------------ LINESTRING EMPTY