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