ST_Intersects
Determines if two GEOMETRY or GEOGRAPHY objects intersect or touch at a single point.
Determines if two GEOMETRY or GEOGRAPHY objects intersect or touch at a single point. If ST_Disjoint returns TRUE, ST_Intersects returns FALSE for the same GEOMETRY or GEOGRAPHY objects.
GEOGRAPHY Polygons with a vertex or border on the International Date Line (IDL) or the North or South pole are not supported.
Behavior type
ImmutableSyntax
ST_Intersects( g1, g2
[USING PARAMETERS bbox={true | false}, spheroid={true | false}])
Arguments
g1- Spatial object, type GEOMETRY
g2- Spatial object, type GEOMETRY
Parameters
bbox = {true | false}- Boolean. Intersects the bounding box of
g1andg2.Default: False
spheroid = {true | false}(Optional) BOOLEAN that specifies whether to use a perfect sphere or WGS84.
Default: False
Returns
BOOLEAN
Supported data types
| Data Type | GEOMETRY | GEOGRAPHY (WGS84) |
|---|---|---|
| Point | Yes | Yes |
| Multipoint | Yes | No |
| Linestring | Yes | No |
| Multilinestring | Yes | No |
| Polygon | Yes | Yes |
| Multipolygon | Yes | No |
| GeometryCollection | Yes | No |
Compatible GEOGRAPHY pairs:
| Data Type | GEOGRAPHY (WGS84) |
|---|---|
| Point-Point | No |
| Linestring-Point | No |
| Polygon-Point | Yes |
| Multipolygon-Point | No |
Examples
The following examples show how to use ST_Intersects.
Two polygons do not intersect or touch:

=> SELECT ST_Intersects (ST_GeomFromText('POLYGON((-1 2,0 3,0 1,-1 2))'),
ST_GeomFromText('POLYGON((1 0,1 1,2 2,1 0))'));
ST_Intersects
--------------
f
(1 row)
Two polygons touch at a single point:

=> SELECT ST_Intersects (ST_GeomFromText('POLYGON((-1 2,0 3,0 1,-1 2))'),
ST_GeomFromText('POLYGON((1 0,1 1,0 1,1 0))'));
ST_Intersects
--------------
t
(1 row)
Two polygons intersect:

=> SELECT ST_Intersects (ST_GeomFromText('POLYGON((-1 2, 0 3, 0 1, -1 2))'),
ST_GeomFromText('POLYGON((0 2, -1 3, -2 0, 0 2))'));
ST_Intersects
--------------
t
(1 row)