Freigeben über


geo_distance_2points()

Gilt für: ✅Microsoft Fabric✅Azure Data ExplorerAzure MonitorMicrosoft Sentinel

Berechnet den kürzesten Abstand in Metern zwischen zwei Geospatialkoordinaten auf der Erde.

Syntax

geo_distance_2points(p1_longitude p1_latitude p2_longitudep2_latitude,,,)

Erfahren Sie mehr über Syntaxkonventionen.

Parameter

Name Type Erforderlich Beschreibung
p1_longitude real ✔️ Der Längengradwert in Grad der ersten geospatialen Koordinate. Ein gültiger Wert befindet sich im Bereich [-180, +180].
p1_latitude real ✔️ Der Breitengradwert in Grad der ersten geospatialen Koordinate. Ein gültiger Wert befindet sich im Bereich [-90, +90].
p2_longitude real ✔️ Der Längengradwert in Grad der zweiten geospatialen Koordinate. Ein gültiger Wert befindet sich im Bereich [-180, +180].
p2_latitude real ✔️ Der Breitengradwert in Grad der zweiten geospatialen Koordinate. Ein gültiger Wert befindet sich im Bereich [-90, +90].

Gibt zurück

Die kürzeste Entfernung zwischen zwei geografischen Standorten auf der Erde. Wenn die Koordinaten ungültig sind, erzeugt die Abfrage ein NULL-Ergebnis.

Hinweis

Beispiele

Im folgenden Beispiel wird die kürzeste Entfernung zwischen Seattle und Los Angeles gefunden.

Entfernung zwischen Seattle und Los Angeles.

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

Output

distance_in_meters
1546754.35197381

Im folgenden Beispiel wird eine Annäherung des kürzesten Pfads von Seattle nach London gefunden. Die Linie besteht aus Koordinaten entlang der LineString und innerhalb von 500 Metern davon.

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)

Output

Screenshot des Seattle to London LineString.

Im folgenden Beispiel werden alle Zeilen gefunden, in denen der kürzeste Abstand zwischen zwei Koordinaten zwischen einem Meter und 11 Metern liegt.

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

Output

distance_1_to_11m
10.5723100154958
7.92153588248414

Im folgenden Beispiel wird ein NULL-Ergebnis aufgrund der ungültigen Koordinateneingabe zurückgegeben.

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

Output

distance