ST_Touches
Determines if two GEOMETRY objects touch at a single point or along a boundary, but do not have interiors that intersect.
	Determines if two GEOMETRY objects touch at a single point or along a boundary, but do not have interiors that intersect.
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_Touches( g1, g2
                        [USING PARAMETERS spheroid={true | false}] )
Arguments
- g1
- Spatial object, value of type GEOMETRY
- g2
- Spatial object, value of type GEOMETRY
Parameters
- 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_Touches.
Two polygons touch at a single point:
=> SELECT ST_Touches(ST_GeomFromText('POLYGON((-1 2,0 3,0 1,-1 2))'),
   ST_GeomFromText('POLYGON((1 3,0 3,1 2,1 3))'));
 ST_Touches
------------
 t
(1 row)
Two polygons touch only along part of the boundary:
=> SELECT ST_Touches(ST_GeomFromText('POLYGON((-1 2,0 3,0 1,-1 2))'),
   ST_GeomFromText('POLYGON((1 2,0 3,0 1,1 2))'));
 ST_Touches
------------
 t
(1 row)
Two polygons do not touch at any point:
=> SELECT ST_Touches(ST_GeomFromText('POLYGON((-1 2,0 3,0 1,-1 2))'),
   ST_GeomFromText('POLYGON((0 2,-1 3,-2 0,0 2))'));
 ST_Touches
------------
 f
(1 row)