geo_angle()
Calcula o ângulo no sentido horário em radianos entre duas linhas na Terra. A primeira linha é [point1, point2] e a segunda linha é [ponto2, ponto3].
Syntax
geo_angle(
,
p1_longitude,
p1_latitude,
p2_longitude,
p2_latitude,
p3_longitudep3_latitude)
Saiba mais sobre as convenções de sintaxe.
Parâmetros
Nome | Tipo | Obrigatório | Descrição |
---|---|---|---|
p1_longitude | real |
✔️ | O valor de longitude em graus da primeira coordenada geoespacial. Um valor válido está no intervalo [-180, +180]. |
p1_latitude | real |
✔️ | O valor de latitude em graus da primeira coordenada geoespacial. Um valor válido está no intervalo [-90, +90]. |
p2_longitude | real |
✔️ | O valor de longitude em graus da segunda coordenada geoespacial. Um valor válido está no intervalo [-180, +180]. |
p2_latitude | real |
✔️ | O valor de latitude em graus da segunda coordenada geoespacial. Um valor válido está no intervalo [-90, +90]. |
p3_longitude | real |
✔️ | O valor de longitude em graus da segunda coordenada geoespacial. Um valor válido está no intervalo [-180, +180]. |
p3_latitude | real |
✔️ | O valor de latitude em graus da segunda coordenada geoespacial. Um valor válido está no intervalo [-90, +90]. |
Retornos
Um ângulo em radianos no intervalo [0, 2pi) entre duas linhas [p1, p2] e [p2, p3]. O ângulo é medido cw da primeira linha para a segunda linha.
Observação
- As coordenadas geoespaciais são interpretadas como representadas pelo sistema de referência de coordenadas WGS-84 .
- O datum geodético usado para medir a distância na Terra é uma esfera. As bordas de linha são geodésicas na esfera.
- Se as coordenadas forem inválidas, a consulta produzirá um resultado nulo.
- Se point1 for igual a point2, a consulta produzirá um resultado nulo.
- Se point2 for igual a point3, a consulta produzirá um resultado nulo.
- Se point1 e point2 forem antipodais, a consulta produzirá um resultado nulo.
- Se point2 e point3 forem antipodais, a consulta produzirá um resultado nulo.
Exemplos
O exemplo a seguir calcula o ângulo em radianos.
print angle_in_radians = geo_angle(0, 10, 0,5, 3,-10)
Saída
angle_in_radians |
---|
2.94493843406882 |
O exemplo a seguir calcula o ângulo em graus.
let angle_in_radians = geo_angle(0, 10, 0,5, 3,-10);
print angle_in_degrees = degrees(angle_in_radians)
Saída
angle_in_degrees |
---|
168.732543198009 |
O exemplo a seguir retorna nulo porque 1º ponto é igual a 2º ponto.
print is_null = isnull(geo_angle(0, 10, 0, 10, 3, -10))
Saída
Is_null |
---|
True |
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de