ST_Angle - Amazon Redshift

ST_Angle

ST_Angle devuelve el ángulo en radianes entre los puntos medidos en el sentido de las agujas del reloj de la siguiente manera:

  • Si hay tres puntos de entrada, entonces el ángulo devuelto P1-P2-P3 se mide como si el ángulo se obtuviera al rotar de P1 a P3 alrededor de P2 en el sentido de las agujas del reloj.

  • Si hay cuatro puntos de entrada, se devuelve el ángulo devuelto en el sentido de las agujas del reloj formado por las líneas dirigidas P1-P2 y P3-P4. Si la entrada es un caso degenerado (es decir, P1 es igual a P2 o P3 es igual a P4), entonces se devuelve el valor null.

El valor de retorno está en radianes y en el rango [0, 2π).

ST_Angle opera en proyecciones 2D de las geometrías de entrada.

Sintaxis

ST_Angle(geom1, geom2, geom3)
ST_Angle(geom1, geom2, geom3, geom4)

Argumentos

geom1

Un valor de tipo de datos GEOMETRY o una expresión que toma el valor de un tipo GEOMETRY. El subtipo debe ser POINT .

geom2

Un valor de tipo de datos GEOMETRY o una expresión que toma el valor de un tipo GEOMETRY. El subtipo debe ser POINT .

geom3

Un valor de tipo de datos GEOMETRY o una expresión que toma el valor de un tipo GEOMETRY. El subtipo debe ser POINT .

geom4

Un valor de tipo de datos GEOMETRY o una expresión que toma el valor de un tipo GEOMETRY. El subtipo debe ser POINT .

Tipo de retorno

DOUBLE PRECISION.

Si geom1 es igual a geom2 o geom2 es igual a geom3, se devuelve un valor nulo.

Si geom1, geom2, geom3 o geom4 es null, se devuelve un valor nulo.

Si alguna de las funciones geom1, geom2, geom3 o geom4 es el punto vacío, se devuelve un error.

Si geom1, geom2, geom3 y geom4 no tienen el mismo valor en el identificador de sistema de referencia espacial (SRID), se devuelve un error.

Ejemplos

El siguiente SQL devuelve el ángulo convertido en grados de tres puntos de entrada.

SELECT ST_Angle(ST_Point(1,1), ST_Point(0,0), ST_Point(1,0)) / Pi() * 180.0 AS angle;
angle --------------- 45

El siguiente SQL devuelve el ángulo convertido en grados de cuatro puntos de entrada.

SELECT ST_Angle(ST_Point(1,1), ST_Point(0,0), ST_Point(1,0), ST_Point(2,0)) / Pi() * 180.0 AS angle;
angle --------------- 225