Skip to main content
Calculates a new point location given a starting point, distance, and azimuth. The azimuth indicates the direction, expressed in radians, and is measured in a clockwise manner starting from true north. The system can handle azimuth values that are negative or exceed 2π (360 degrees). The optional lenient parameter prevents an error if the input geometry is not a Point. Its default value is false. ST_Project

Signatures

ST_Project(point: Geometry, distance: Double, azimuth: Double, lenient: Boolean = False)
ST_Project(point: Geometry, distance: Double, Azimuth: Double)

Parameters

point
Geometry
required
The starting point geometry.
distance
Double
required
The distance to project, in the units of the coordinate system.
azimuth
Double
required
The azimuth (direction) in radians, measured clockwise from true north.
lenient
Boolean
default:"False"
If true, returns an empty point instead of throwing an error when the input is not a Point. Defaults to false.

Return type

The resulting geometry.

Examples

SELECT ST_Project(ST_GeomFromText('POINT (10 15)'), 100, radians(90))
POINT (110 14.999999999999975)
SELECT ST_Project(
        ST_GeomFromText('POLYGON ((1 5, 1 1, 3 3, 5 3, 1 5))'),
        25, radians(270), true)
POINT EMPTY