Skip to main content
Forces the geometry into a 3-dimensional model so that all output representations will have X, Y and Z coordinates. An optionally given zValue is tacked onto the geometry if the geometry is 2-dimensional. Default value of zValue is 0.0 If the given geometry is 3-dimensional, no change is performed on it. If the given geometry is empty, no change is performed on it.
Example output is after calling ST_AsText() on returned geometry, which adds Z for in the WKT for 3D geometries
ST_Force3D

Signatures

ST_Force3D(geometry: Geometry, zValue: Double)

Parameters

geometry
Geometry
required
The input geometry.
zValue
Double
required
The Z coordinate value to assign. Defaults to 0.0 if not specified.

Return type

The resulting geometry.

Examples

SELECT ST_AsText(ST_Force3D(ST_GeomFromText('POLYGON((0 0 2,0 5 2,5 0 2,0 0 2),(1 1 2,3 1 2,1 3 2,1 1 2))'), 2.3))
POLYGON Z((0 0 2, 0 5 2, 5 0 2, 0 0 2), (1 1 2, 3 1 2, 1 3 2, 1 1 2))
SELECT ST_AsText(ST_Force3D(ST_GeomFromText('LINESTRING(0 1,1 0,2 0)'), 2.3))
LINESTRING Z(0 1 2.3, 1 0 2.3, 2 0 2.3)
SELECT ST_AsText(ST_Force3D(ST_GeomFromText('LINESTRING EMPTY'), 3))
LINESTRING EMPTY