Name

ST_Angle — Gibt den Winkel zwischen 3 Punkten oder zwischen 2 Vektoren (4 Punkte oder 2 Linien) zurück.

Übersicht

float ST_Angle(geometry point1, geometry point2, geometry point3, geometry point4);

float ST_Angle(geometry line1, geometry line2);

Beschreibung

Gibt die größte 3-dimensionale Distanz zwischen zwei geometrischen Objekten als Linie zurück

Variante 1: berechnet den Winkel, der von den Punkten P1-P2-P3 eingeschlossen wird. Wenn ein 4. Punkt vorgesehen ist, werden die Winkel P1-P2 und P3-P4 berechnet

Variante 2: berechnet den Winkel zwischen zwei Vektoren S1-E1 und S2-E2, die durch die Anfangs- und Endpunkte der Eingabelinien definiert sind

Das Ergebnis wird in Radiant ausgegeben. Wie im folgenden Beispiel gezeigt, kann mit der in PostgreSQL integrierten Funktion "degrees()" von der Einheit Radiant auf die Einheit Grad umgerechnet werden.

ST_Angle(P1,P2,P3) = ST_Angle(P2,P1,P2,P3)

Verfügbarkeit: 2.5.0

Beispiele

Längste Strecke zwischen Polygon und Polygon

Code
SELECT degrees(ST_Angle('POINT(0 0)', 'POINT(10 10)', 'POINT(20 0)'));
Ausgabe von Rastern
270
Figure
Geometry figure for visual-st-angle-01

Winkel zwischen Vektoren, die durch vier Punkte definiert sind

Code
SELECT degrees(ST_Angle('POINT (10 10)', 'POINT (0 0)', 'POINT(90 90)', 'POINT (100 80)'));
Ausgabe von Rastern
269.9999999999999
Figure
Geometry figure for visual-st-angle-02

Winkel zwischen Vektoren, die durch die Anfangs- und Endpunkte von Linien definiert sind

Code
SELECT degrees(ST_Angle('LINESTRING(0 0,0.3 0.7,1 1)', 'LINESTRING(0 0,0.2 0.5,1 0)'));
Ausgabe von Rastern
45
Figure
Geometry figure for visual-st-angle-03

Siehe auch

ST_Azimuth