ST_Intersects — Returns true if two geometries intersect (they have at least one point in common).
boolean ST_Intersects(
            geometry
            geomA
          , 
            geometry
            geomB
          );
boolean ST_Intersects(
            geography
            geogA
          , 
            geography
            geogB
          );
If a geometry or geography shares any portion of space then they intersect. For geography -- tolerance is 0.00001 meters (so any points that are close are considered to intersect)
ST_Overlaps, ST_Touches, ST_Within all imply spatial intersection. If any of the aforementioned returns true, then the geometries also spatially intersect. Disjoint implies false for spatial intersection.
![]()  | |
This function automatically includes a bounding box comparison that makes use of any spatial indexes that are available on the geometries.  | 
Changed: 3.0.0 SFCGAL version removed and native support for 2D TINS added.
Enhanced: 2.5.0 Supports GEOMETRYCOLLECTION.
Enhanced: 2.3.0 Enhancement to PIP short-circuit extended to support MultiPoints with few points. Prior versions only supported point in polygon.
Performed by the GEOS module (for geometry), geography is native
Availability: 1.5 support for geography was introduced.
![]()  | |
For geography, this function has a distance tolerance of about 0.00001 meters and uses the sphere rather than spheroid calculation.  | 
![]()  | |
NOTE: this is the "allowable" version that returns a boolean, not an integer.  | 
 This method implements the OGC Simple Features
 Implementation Specification for SQL 1.1. s2.1.1.2 //s2.1.13.3
        - ST_Intersects(g1, g2 ) --> Not (ST_Disjoint(g1, g2 ))
      
 This method implements the SQL/MM specification. SQL-MM 3: 5.1.27
 This method supports Circular Strings and Curves
 This function supports Triangles and Triangulated Irregular Network Surfaces (TIN).
SELECT ST_Intersects('POINT(0 0)'::geometry, 'LINESTRING ( 2 0, 0 2 )'::geometry);
 st_intersects
---------------
 f
(1 row)
SELECT ST_Intersects('POINT(0 0)'::geometry, 'LINESTRING ( 0 0, 0 2 )'::geometry);
 st_intersects
---------------
 t
(1 row)
-- Look up in table. Make sure table has a GiST index on geometry column for faster lookup.
SELECT id, name FROM cities WHERE ST_Intersects(geom, 'SRID=4326;POLYGON((28 53,27.707 52.293,27 52,26.293 52.293,26 53,26.293 53.707,27 54,27.707 53.707,28 53))');
 id | name
----+-------
  2 | Minsk
(1 row)