Skip to content
🌵SedonaDB (Rust) 0.3.0 is out now, featuring larger-than-memory spatial joins, and row-level CRS!

ST_LineSegments

Introduction: This function transforms a LineString containing multiple coordinates into an array of LineStrings, each with precisely two coordinates. The lenient argument, true by default, prevents an exception from being raised if the input geometry is not a LineString.

ST_LineSegments

Format:

ST_LineSegments(geom: Geometry, lenient: Boolean)

ST_LineSegments(geom: Geometry)

Return type: Array<Geometry>

Since: v1.7.1

SQL Example:

SELECT ST_LineSegments(
        ST_GeomFromWKT('LINESTRING(0 0, 10 10, 20 20, 30 30, 40 40, 50 50)'),
       false
    )

Output:

[LINESTRING (0 0, 10 10), LINESTRING (10 10, 20 20), LINESTRING (20 20, 30 30), LINESTRING (30 30, 40 40), LINESTRING (40 40, 50 50)]

SQL Example:

SELECT ST_LineSegments(
        ST_GeomFromWKT('POLYGON((0 0, 10 0, 10 10, 0 10, 0 0))')
    )

Output:

[]