ST_Project — Returns a point projected from a start point by a distance and bearing (azimuth).
geometry ST_Project(
geometry
g1, float
distance, float
azimuth)
;
geometry ST_Project(
geometry
g1, geometry
g2, float
distance)
;
geography ST_Project(
geography
g1, float
distance, float
azimuth)
;
geography ST_Project(
geography
g1, geography
g2, float
distance)
;
Returns a point projected from a point along a geodesic using a given distance and azimuth (bearing). This is known as the direct geodesic problem.
The two-point version uses the path from the first to the second point to implicitly define the azimuth and uses the distance as before.
The distance is given in meters. Negative values are supported.
The azimuth (also known as heading or bearing) is given in radians. It is measured clockwise from true north.
North is azimuth zero (0 degrees)
East is azimuth π/2 (90 degrees)
South is azimuth π (180 degrees)
West is azimuth 3π/2 (270 degrees)
Negative azimuth values and values greater than 2π (360 degrees) are supported.
Availability: 2.0.0
Enhanced: 2.4.0 Allow negative distance and non-normalized azimuth.
Enhanced: 3.4.0 Allow geometry arguments and two-point form omitting azimuth.
SELECT ST_AsText(ST_Project('POINT(0 0)'::geography, 100000, radians(45.0))); -------------------------------------------- POINT(0.635231029125537 0.639472334729198)