geo_point_buffer()
Aplica-se a: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Calcula o polígono que contém todos os pontos dentro do raio determinado do ponto na Terra.
Sintaxe
geo_point_buffer(
longitude,
latitude,
tolerância de raio,
)
Saiba mais sobre as convenções de sintaxe.
Parâmetros
Nome | Digitar | Obrigatória | Descrição |
---|---|---|---|
longitude | real |
✔️ | Valor de longitude de coordenadas geoespaciais em graus. O valor válido é um número real e está no intervalo [-180, +180]. |
latitude | real |
✔️ | Valor de latitude de coordenadas geoespaciais em graus. O valor válido é um número real e está no intervalo [-90, +90]. |
raio | real |
✔️ | Raio do buffer em metros. O valor válido deve ser positivo. |
tolerance | real |
Define a tolerância em metros que determina o quanto um polígono pode se desviar do raio ideal. Se não for especificado, o valor padrão 10 será usado. A tolerância não deve ser inferior a 0,0001% do raio. Especificar a tolerância maior que o raio reduz a tolerância para o maior valor possível abaixo do raio. |
Devoluções
Polígono ao redor do ponto de entrada. Se as coordenadas, o raio ou a tolerância forem inválidos, 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 .
- O dado geodésico usado para medir a distância na Terra é uma esfera.
Exemplos
A consulta a seguir calcula o polígono em torno de [-115.1745008278, 36.1497251277] coordenadas, com raio de 20 km.
print buffer = geo_point_buffer(-115.1745008278, 36.1497251277, 20000)
Buffer |
---|
{"tipo": "Polígono","coordenadas": [ ... ]} |
A consulta a seguir calcula o buffer em torno de cada ponto e unifica o resultado
datatable(longitude:real, latitude:real, radius:real)
[
real(-80.3212217992616), 25.268683367546604, 5000,
real(-80.81717403605833), 24.82658441221962, 3000
]
| project buffer = geo_point_buffer(longitude, latitude, radius)
| summarize polygons = make_list(buffer)
| project result = geo_union_polygons_array(polygons)
result |
---|
{"type": "MultiPolygon","coordinates": [ ... ]} |
O exemplo a seguir retorna true, devido a um ponto inválido.
print result = isnull(geo_point_buffer(200, 1,0.1))
result |
---|
Verdadeiro |
O exemplo a seguir retorna true, devido a um raio inválido.
print result = isnull(geo_point_buffer(10, 10, -1))
result |
---|
Verdadeiro |