Kategorien:

Geodatenfunktionen

ST_AZIMUTH

Given two Points that are GEOGRAPHY objects, returns the azimuth (in radians) of the line segment formed by the two points.

Der Azimut ist der Winkel von Norden zum Liniensegment. Der Winkel ist im Uhrzeigersinn positiv und beträgt:

  • 0 für ein nach Norden zeigendes Liniensegment.

  • π/2 für ein nach Osten zeigendes Liniensegment.

  • π für ein nach Süden zeigendes Liniensegment.

  • 3π/2 für ein nach Westen zeigendes Liniensegment.

Wenn sich die beiden Punkte an derselben Stelle befinden, gibt die Funktion NULL zurück.

Auf einer kugelförmigen Erde wird die hier beschriebene Formel verwendet, um den Azimut zu bestimmen.

Vorsicht

Systeme, die ein elliptisches Erdmodell verwenden, verwenden einen komplexeren Algorithmus für den Azimut, der mitunter signifikant unterschiedliche Ergebnisse liefert.

Syntax

ST_AZIMUTH( <geography_expression_1> , <geography_expression_2> )

Argumente

geography_expression_1

Ein GEOGRAPHY-Objekt, das ein Punkt ist.

geography_expression_2

Ein GEOGRAPHY-Objekt, das ein Punkt ist.

Rückgabewerte

Gibt einen Wert vom Typ REAL zurück, der den Azimut im Bogenmaß wiedergibt.

Nutzungshinweise

  • Gibt NULL zurück, wenn ein oder beide Eingabepunkte NULL sind.

Beispiele

Das folgende Beispiel gibt den Azimut im Bogenmaß für zwei Punkte zurück, die ein nach Süden zeigendes Liniensegment bilden:

SELECT ST_AZIMUTH(
    TO_GEOGRAPHY('POINT(0 1)'),
    TO_GEOGRAPHY('POINT(0 0)')
);
+---------------------------------+
|                     ST_AZIMUTH( |
|     TO_GEOGRAPHY('POINT(0 1)'), |
|      TO_GEOGRAPHY('POINT(0 0)') |
|                               ) |
|---------------------------------|
|                     3.141592654 |
+---------------------------------+

Im folgenden Beispiel wird der Azimut in Grad für zwei Punkte zurückgegeben, die ein nach Nordosten zeigendes Liniensegment bilden:

SELECT DEGREES(ST_AZIMUTH(
    TO_GEOGRAPHY('POINT(0 1)'),
    TO_GEOGRAPHY('POINT(1 2)')
));
+---------------------------------+
|             DEGREES(ST_AZIMUTH( |
|     TO_GEOGRAPHY('POINT(0 1)'), |
|      TO_GEOGRAPHY('POINT(1 2)') |
|                              )) |
|---------------------------------|
|                    44.978182941 |
+---------------------------------+
Zurück zum Anfang