Partager via


geo_angle()

S’applique à : ✅Microsoft Fabric✅Azure Data ExplorerAzure MonitorMicrosoft Sentinel

Calcule l’angle au niveau des aiguilles d’une montre en radians entre deux lignes sur Terre. La première ligne est [point1, point2] et la deuxième ligne est [point2, point3].

Syntaxe

geo_angle(,p1_longitude p1_latitude,p2_longitude,p2_latitude,p3_longitude p3_latitude,)

En savoir plus sur les conventions de syntaxe.

Paramètres

Nom Type Requise Description
p1_longitude real ✔️ Valeur de longitude en degrés de la première coordonnée géospatiale. Une valeur valide se trouve dans la plage [-180, +180].
p1_latitude real ✔️ Valeur de latitude en degrés de la première coordonnée géospatiale. Une valeur valide se trouve dans la plage [-90, +90].
p2_longitude real ✔️ Valeur de longitude en degrés de la deuxième coordonnée géospatiale. Une valeur valide se trouve dans la plage [-180, +180].
p2_latitude real ✔️ Valeur de latitude en degrés de la deuxième coordonnée géospatiale. Une valeur valide se trouve dans la plage [-90, +90].
p3_longitude real ✔️ Valeur de longitude en degrés de la deuxième coordonnée géospatiale. Une valeur valide se trouve dans la plage [-180, +180].
p3_latitude real ✔️ Valeur de latitude en degrés de la deuxième coordonnée géospatiale. Une valeur valide se trouve dans la plage [-90, +90].

Retours

Angle en radians dans la plage [0, 2pi) entre deux lignes [p1, p2] et [p2, p3]. L’angle est mesuré CW de la première ligne à la deuxième ligne.

Remarque

  • Les coordonnées géospatiales sont interprétées comme représentées par le système de référence de coordonnées WGS-84 .
  • La référence géodésique utilisée pour mesurer la distance sur terre est une sphère. Les bords de ligne sont géodésiques sur la sphère.
  • Si les coordonnées ne sont pas valides, la requête produit un résultat null.
  • Si point1 est égal à point2, la requête produit un résultat null.
  • Si point2 est égal à point3, la requête produit un résultat null.
  • Si point1 et point2 sont antipodaux, la requête produit un résultat null.
  • Si point2 et point3 sont antipodaux, la requête produit un résultat null.

Exemples

L’exemple suivant calcule l’angle en radians.

print angle_in_radians = geo_angle(0, 10, 0,5, 3,-10)

Sortie

angle_in_radians
2.94493843406882

L’exemple suivant calcule l’angle en degrés.

let angle_in_radians = geo_angle(0, 10, 0,5, 3,-10);
print angle_in_degrees = degrees(angle_in_radians)

Sortie

angle_in_degrees
168.732543198009

L’exemple suivant retourne null, car le 1er point est égal à 2e point.

print is_null = isnull(geo_angle(0, 10, 0, 10, 3, -10))

Sortie

is_null
True