ST_Intersection
Calculates the set of points shared by two GEOMETRY objects.
Behavior Type
Syntax
ST_Intersection( g1, g2 )
Arguments
g1 |
Spatial object, type GEOMETRY |
g2 |
Spatial object, type GEOMETRY |
Returns
GEOMETRY
Supported Data Types
Data Type | GEOMETRY |
Point |
Yes |
Multipoint |
Yes |
Linestring |
Yes |
Multilinestring |
Yes |
Polygon |
Yes |
Multipolygon |
Yes |
GeometryCollection |
Yes |
Examples
The following examples show how to use ST_Intersection.
Two polygons intersect at a single point:
=> 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)
Two polygons:
=> 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)
Two non-intersecting linestrings:
=> 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)