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

ST_OffsetCurve

Introduction: Returns a line at a given offset distance from a linear geometry. If the distance is positive, the offset is on the left side of the input line; if it is negative, it is on the right side. Returns null for empty geometries.

The optional third parameter quadrantSegments controls the number of line segments used to approximate a quarter circle at round joins. The default value is 8.

Format: ST_OffsetCurve(geometry: Geometry, distance: Double, quadrantSegments: Integer)

Format: ST_OffsetCurve(geometry: Geometry, distance: Double)

Return type: Geometry

SQL Example:

ST_OffsetCurve Positive

SELECT ST_AsText(ST_OffsetCurve(ST_GeomFromWKT('LINESTRING(0 0, 10 0, 10 10)'), 5.0))

Output: LINESTRING (0 5, 5 5, 5 10)

SQL Example:

ST_OffsetCurve Negative

SELECT ST_NPoints(ST_OffsetCurve(ST_GeomFromWKT('LINESTRING(0 0, 10 0, 10 10)'), -3.0))

Output: 11

SQL Example:

ST_OffsetCurve QuadrantSegments

SELECT ST_NPoints(ST_OffsetCurve(ST_GeomFromWKT('LINESTRING(0 0, 10 0, 10 10)'), -3.0, 16))

Output: 19