ST_Intersection
计算两个 GEOMETRY 对象共有的点集。
行为类型
不可变语法
ST_Intersection( g1, g2 )
参数
g1
- 空间对象,类型为 GEOMETRY
g2
- 空间对象,类型为 GEOMETRY
返回
GEOMETRY
支持的数据类型
- 数据类型
- GEOMETRY
- Point
- 是
- Multipoint
- 是
- Linestring
- 是
- Multilinestring
- 是
- Polygon
- 是
- Multipolygon
- 是
- GeometryCollection
- 是
示例
以下示例显示了 ST_Intersection 的用法。
两个多边形相交于一个点:
=> SELECT ST_AsText(ST_Intersection(ST_GeomFromText('POLYGON((0 2,1 1,0 -1,
0 2))'),ST_GeomFromText('POLYGON((-1 2,0 0,-2 0,-1 2))')));
ST_AsText
-----------------
POINT(0 0)
(1 row)
两个多边形:
=> SELECT ST_AsText(ST_Intersection(ST_GeomFromText('POLYGON((1 2,1 5,4 5,
4 2,1 2))'), ST_GeomFromText('POLYGON((3 1,3 3,5 3,5 1,3 1))')));
ST_AsText
------------------
POLYGON ((4 3, 4 2, 3 2, 3 3, 4 3))
(1 row)
两个未相交的线串:
=> SELECT ST_AsText(ST_Intersection(ST_GeomFromText('LINESTRING(1 1,1 3,3 3)'),
ST_GeomFromText('LINESTRING(1 5,1 7,-1 7)')));
ST_AsText
--------------------------
GEOMETRYCOLLECTION EMPTY
(1 row)