geo_distance_2points()
Se aplica a: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Calcula la distancia más corta en metros entre dos coordenadas geoespaciales en la Tierra.
Sintaxis
geo_distance_2points(
,
p1_longitude p1_latitude,
p2_longitude p2_latitude,
)
Obtenga más información sobre las convenciones de sintaxis.
Parámetros
Nombre | Type | Obligatorio | Descripción |
---|---|---|---|
p1_longitude | real |
✔️ | Valor de longitud en grados de la primera coordenada geoespacial. Un valor válido está en el intervalo [-180, +180]. |
p1_latitude | real |
✔️ | Valor de latitud en grados de la primera coordenada geoespacial. Un valor válido está en el intervalo [-90, +90]. |
p2_longitude | real |
✔️ | Valor de longitud en grados de la segunda coordenada geoespacial. Un valor válido está en el intervalo [-180, +180]. |
p2_latitude | real |
✔️ | Valor de latitud en grados de la segunda coordenada geoespacial. Un valor válido está en el intervalo [-90, +90]. |
Devoluciones
La distancia más corta, en metros, entre dos ubicaciones geográficas en la Tierra. Si las coordenadas no son válidas, la consulta genera un resultado NULO.
Nota:
- Las coordenadas geoespaciales se interpretan como representadas por el sistema de referencia de coordenadas WGS-84 .
- El dato geodético utilizado para medir la distancia en la Tierra es una esfera.
Ejemplos
En el ejemplo siguiente se encuentra la distancia más corta entre Seattle y Los Ángeles.
print distance_in_meters = geo_distance_2points(-122.407628, 47.578557, -118.275287, 34.019056)
Salida
distance_in_meters |
---|
1546754.35197381 |
En el ejemplo siguiente se encuentra una aproximación de la ruta más corta de Seattle a Londres. La línea consta de coordenadas a lo largo de lineString y a 500 metros de ella.
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)
Salida
En el ejemplo siguiente se buscan todas las filas en las que la distancia más corta entre dos coordenadas está entre un medidor y 11 metros.
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
Salida
distance_1_to_11m |
---|
10.5723100154958 |
7.92153588248414 |
En el ejemplo siguiente se devuelve un resultado NULO debido a la entrada de coordenadas no válida.
print distance = geo_distance_2points(300,1,1,1)
Salida
distance |
---|