Partager via


geo_distance_2points()

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

Calcule la distance la plus courte en mètres entre deux coordonnées géospatiales sur Terre.

Syntaxe

geo_distance_2points(,p1_longitude p1_latitude,p2_longitude p2_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].

Retours

Distance la plus courte, en mètres, entre deux emplacements géographiques sur Terre. Si les coordonnées ne sont pas valides, la requête produit un résultat null.

Remarque

Exemples

L’exemple suivant recherche la distance la plus courte entre Seattle et Los Angeles.

Distance entre Seattle et Los Angeles.

print distance_in_meters = geo_distance_2points(-122.407628, 47.578557, -118.275287, 34.019056)

Sortie

distance_in_meters
1546754.35197381

L’exemple suivant recherche une approximation du chemin le plus court de Seattle à Londres. La ligne se compose de coordonnées le long de LineString et à moins de 500 mètres de celle-ci.

range i from 1 to 1000000 step 1
| project lng = rand() * real(-122), lat = rand() * 90
| where lng between(real(-122) .. 0) and lat between(47 .. 90)
| where geo_distance_point_to_line(lng,lat,dynamic({"type":"LineString","coordinates":[[-122,47],[0,51]]})) < 500
| render scatterchart with (kind=map)

Sortie

Capture d’écran de Seattle à Londres LineString.

L’exemple suivant recherche toutes les lignes dans lesquelles la distance la plus courte entre deux coordonnées est comprise entre un mètre et 11 mètres.

StormEvents
| extend distance_1_to_11m = geo_distance_2points(BeginLon, BeginLat, EndLon, EndLat)
| where distance_1_to_11m between (1 .. 11)
| project distance_1_to_11m

Sortie

distance_1_to_11m
10.5723100154958
7.92153588248414

L’exemple suivant retourne un résultat Null en raison de l’entrée de coordonnées non valide.

print distance = geo_distance_2points(300,1,1,1)

Sortie

distance