Name

ST_Angle — Retorna a linha 3-dimensional mais longa entre duas geometrias

Synopsis

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

float ST_Angle(geometry line1, geometry line2);

Descrição

Retorna a linha 3-dimensional mais longa entre duas geometrias

Variant 1: computes the angle enclosed by the points P1-P2-P3. If a 4th point provided computes the angle points P1-P2 and P3-P4

Variant 2: computes the angle between two vectors S1-E1 and S2-E2, defined by the start and end points of the input lines

O azimute é matematicamente conceituado como o ângulo entre um plano de referência e um ponto, com unidades angulares em radianos. As unidades podem ser convertidas para graus usando uma função PostgreSQL graus () embutida, como mostrado no exemplo.

Note that ST_Angle(P1,P2,P3) = ST_Angle(P2,P1,P2,P3).

Availability: 2.5.0

Exemplos

linha mais longa entre polígono e polígono

SELECT degrees( ST_Angle('POINT(0 0)', 'POINT(10 10)', 'POINT(20 0)') );

 degrees
---------
     270

Angle between vectors defined by four points

SELECT degrees( ST_Angle('POINT (10 10)', 'POINT (0 0)', 'POINT(90 90)', 'POINT (100 80)') );

      degrees
-------------------
 269.9999999999999

Angle between vectors defined by the start and end points of lines

SELECT degrees( ST_Angle('LINESTRING(0 0, 0.3 0.7, 1 1)', 'LINESTRING(0 0, 0.2 0.5, 1 0)') );

      degrees
--------------
           45

Veja também

ST_Azimuth