Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Calcula a distância mais curta em metros entre duas coordenadas geoespaciais na Terra.
Sintaxe
geo_distance_2points(
,
p1_longitude,
p1_latitude,
p2_longitude,
p2_latitude[ use_spheroid ])
Saiba mais sobre as convenções de sintaxe.
Parâmetros
Nome | Digitar | Obrigatória | Descrição |
---|---|---|---|
p1_longitude | real |
✔️ | O valor da longitude em graus da primeira coordenada geoespacial. Um valor válido está no intervalo [-180, +180]. |
p1_latitude | real |
✔️ | O valor da latitude em graus da primeira coordenada geoespacial. Um valor válido está no intervalo [-90, +90]. |
p2_longitude | real |
✔️ | O valor de longitude em graus da segunda coordenada geoespacial. Um valor válido está no intervalo [-180, +180]. |
p2_latitude | real |
✔️ | O valor da latitude em graus da segunda coordenada geoespacial. Um valor válido está no intervalo [-90, +90]. |
use_spheroid | bool |
Se false usar uma esfera como um datum geodésico para medir a distância. Se true medir a distância usando esferoide. Se não for especificado, o valor false padrão será usado. |
Devoluções
A distância mais curta, em metros, entre duas localizações geográficas na Terra. Se as coordenadas forem inválidas, a consulta produzirá um resultado nulo.
Observação
- As coordenadas geoespaciais são interpretadas como representadas pelo sistema de referência de coordenadas WGS-84 .
- A maioria dos aplicativos deve medir a distância usando a esfera ('use_spheroid' = false), que é mais performante. Se for necessária precisão extra, a opção "use_spheroid" poderá ser definida como "true", para precisão extra, o que pode ser mais relevante para distâncias maiores, o que pode ser afetado devido à curvatura da Terra.
Exemplos
O exemplo a seguir encontra a distância mais curta entre Seattle e Los Angeles.
print distance_in_meters = geo_distance_2points(-122.407628, 47.578557, -118.275287, 34.019056)
Saída
distance_in_meters |
---|
1546754.35197381 |
O exemplo a seguir encontra uma aproximação do caminho mais curto de Seattle a Londres. A linha consiste em coordenadas ao longo da LineString e dentro de 500 metros dela.
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)
Saída
O exemplo a seguir localiza todas as linhas nas quais a distância mais curta entre duas coordenadas está entre um metro e 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
Saída
distance_1_to_11m |
---|
10.5723100154958 |
7.92153588248414 |
O exemplo a seguir retorna um resultado nulo devido à entrada de coordenadas inválida.
print distance = geo_distance_2points(300,1,1,1)
Saída
distance |
---|