Name

ST_Project — Gibt einen Punkt zurück, der von einem Startpunkt um eine bestimmte Entfernung und Peilung (Azimut) projiziert wird.

Synopsis

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);

Beschreibung

Gibt einen Punkt zurück, der von einem Punkt entlang einer Geodäte projiziert wird, wobei eine bestimmte Entfernung und ein bestimmter Azimut (Peilung) verwendet werden. Dies ist bekannt als das direkte geodätische Problem.

Bei der Zweipunktversion wird der Weg vom ersten zum zweiten Punkt verwendet, um implizit den Azimut zu definieren, und die Entfernung wird wie zuvor verwendet.

Die Entfernung wird in Metern angegeben. Negative Werte werden unterstützt.

Der Azimut (auch als Kurs oder Peilung bezeichnet) wird im Bogenmaß angegeben. Er wird im Uhrzeigersinn vom geografischen Norden aus gemessen.

  • Norden ist Azimut Null (0 Grad)

  • Osten ist Azimut π/2 (90 Grad)

  • Süden ist Azimut π (180 Grad)

  • West ist Azimut 3π/2 (270 Grad)

Negative Azimutwerte und Werte größer als 2π (360 Grad) werden unterstützt.

Verfügbarkeit: 2.0.0

Verbessert: 2.4.0 Erlaubt negative Entfernungen und nicht-normierte Azimute.

Verbessert: 3.4.0 Erlaubt Geometrieargumente und Zweipunktform ohne Azimut.

Beispiel: Projizierter Punkt auf 100.000 Meter und Peilung 45 Grad

SELECT ST_AsText(ST_Project('POINT(0 0)'::geography, 100000, radians(45.0)));
--------------------------------------------
 POINT(0.635231029125537 0.639472334729198)