ST_Overlaps
Name
ST_Overlaps — Returns true if two geometries intersect and have the same dimension, but are not completely contained by each other.
Synopsis
boolean
ST_Overlaps
(
geometry
A
, geometry
B
)
;
Description
Returns TRUE if the Geometries "spatially overlap". By that we mean they intersect, but one does not completely contain another.
This function automatically includes a bounding box comparison
that makes use of any spatial indexes that are available on the geometries.
To avoid index use, use the function

Performed by the GEOS module
Enhanced: 3.0.0 enabled support for

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
This method implements the SQL/MM specification. SQLMM 3: 5.1.32
Examples
The following illustrations all return
TRUE
.



a point on a line is contained by the line and is of a lower dimension, and therefore does not overlap the line nor crosses SELECT ST_Overlaps(a,b) As a_overlap_b, ST_Crosses(a,b) As a_crosses_b, ST_Intersects(a, b) As a_intersects_b, ST_Contains(b,a) As b_contains_a FROM (SELECT ST_GeomFromText('POINT(1 0.5)') As a, ST_GeomFromText('LINESTRING(1 0, 1 1, 3 5)') As b) As foo a_overlap_b  a_crosses_b  a_intersects_b  b_contains_a +++ f  f  t  t a line that is partly contained by circle, but not fully is defined as intersecting and crossing,  but since of different dimension it does not overlap SELECT ST_Overlaps(a,b) As a_overlap_b, ST_Crosses(a,b) As a_crosses_b, ST_Intersects(a, b) As a_intersects_b, ST_Contains(a,b) As a_contains_b FROM (SELECT ST_Buffer(ST_GeomFromText('POINT(1 0.5)'), 3) As a, ST_GeomFromText('LINESTRING(1 0, 1 1, 3 5)') As b) As foo; a_overlap_b  a_crosses_b  a_intersects_b  a_contains_b +++ f  t  t  f  a 2dimensional bent hot dog (aka buffered line string) that intersects a circle,  but is not fully contained by the circle is defined as overlapping since they are of the same dimension,  but it does not cross, because the intersection of the 2 is of the same dimension  as the maximum dimension of the 2 SELECT ST_Overlaps(a,b) As a_overlap_b, ST_Crosses(a,b) As a_crosses_b, ST_Intersects(a, b) As a_intersects_b, ST_Contains(b,a) As b_contains_a, ST_Dimension(a) As dim_a, ST_Dimension(b) as dim_b, ST_Dimension(ST_Intersection(a,b)) As dima_intersection_b FROM (SELECT ST_Buffer(ST_GeomFromText('POINT(1 0.5)'), 3) As a, ST_Buffer(ST_GeomFromText('LINESTRING(1 0, 1 1, 3 5)'),0.5) As b) As foo; a_overlap_b  a_crosses_b  a_intersects_b  b_contains_a  dim_a  dim_b  dima_intersection_b ++++++ t  f  t  f  2  2  2