Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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[ use_spheroid ])
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]. |
use_spheroid | bool |
Si false usará una esfera como referencia geodética para medir la distancia. Si true medirá la distancia mediante spheroid. Si no se especifica, se usa el valor false predeterminado. |
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 .
- La mayoría de las aplicaciones deben medir la distancia mediante esfera ('use_spheroid' = false), que es más eficaz. Si se necesita precisión adicional, la opción "use_spheroid" se puede establecer en "true", para una precisión adicional, que podría ser más relevante para distancias más grandes, lo que podría verse afectado debido a la curvatura de tierra.
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 |
---|