Name

ST_SelfIntersection — Returns the points where a Line intersects itself.

Synopsis

geometry ST_SelfIntersection(bytea Line);

Alias

SelfIntersection

Description

Returns the points where a Line intersects itself.

The incoming geometry must be a LineString or MultiLineString. Return Null if there isn't an Intersection

[Note]

This method does not support GeometryCollections

Coordinate Dimensions
2D3DM

-

-

Spatial Standards Support
OGC SFS for SQL. 1.1 (1999)OGC SFS for SQL. 1.1.0 (2005)OGC SFS for SQL. 1.2.0 (2006)SQL-MM Part 3
----

Examples

--3D LineString
SELECT ST_AsEWKT(ST_SelfIntersection(ST_GeomFromText('LINESTRING (1 1 2, 3 3 4, 3 2 3, 2 4 6)')));
--Result
POINT (2.666666666666666 2.666666666666666)

--2D MultiLineString
SELECT ST_AsEWKT(ST_SelfIntersection(ST_GeomFromText('MULTILINESTRING ((1 1, 3 3, 3 2, 2 4), 
  (1 2, 3 4))')));
--Result
MULTIPOINT ((2.333333333333334 3.333333333333334), (2.666666666666666 2.666666666666666))

--Line without self-intersection
SELECT ST_Issimple(GeomA), ST_AsText(ST_SelfIntersection(GeomA)) 
FROM (SELECT ST_GeomFromText('LINESTRING (1 2, 3 4)') as geomA) as foo;
--Result
 st_issimple | st_astext
-------------+-----------
 t           |

GeomA

ST_SelfIntersection(GeomA)

Related functions

ST_IsSimple