ST_Angle — Gibt den Winkel zwischen 3 Punkten oder zwischen 2 Vektoren (4 Punkte oder 2 Linien) zurück.
float ST_Angle(
geometry point1, geometry point2, geometry point3, geometry point4)
;
float ST_Angle(
geometry line1, geometry line2)
;
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
Längste Strecke zwischen Polygon und Polygon
SELECT degrees( ST_Angle('POINT(0 0)', 'POINT(10 10)', 'POINT(20 0)') ); degrees --------- 270
Winkel zwischen Vektoren, die durch vier Punkte definiert sind
SELECT degrees( ST_Angle('POINT (10 10)', 'POINT (0 0)', 'POINT(90 90)', 'POINT (100 80)') ); degrees ------------------- 269.9999999999999
Winkel zwischen Vektoren, die durch die Anfangs- und Endpunkte von Linien definiert sind
SELECT degrees( ST_Angle('LINESTRING(0 0, 0.3 0.7, 1 1)', 'LINESTRING(0 0, 0.2 0.5, 1 0)') ); degrees -------------- 45