Partilhar via


geo_point_buffer()

Aplica-se a: ✅Microsoft FabricAzure Data ExplorerAzure MonitorMicrosoft Sentinel

Calcula o polígono que contém todos os pontos dentro do raio dado do ponto na Terra.

Sintaxe

geo_point_buffer( , longitude, latitude,tolerância)

Saiba mais sobre convenções de sintaxe.

Parâmetros

Nome Tipo Obrigatório Descrição
longitude real ✔️ Valor da longitude das coordenadas geoespaciais em graus. O valor válido é um número real e está no intervalo [-180, +180].
latitude real ✔️ Valor da latitude das coordenadas geoespaciais em graus. O valor válido é um número real e está no intervalo [-90, +90].
raio real ✔️ Raio de buffer em metros. O valor válido deve ser positivo.
tolerância 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 10 padrão será usado. A tolerância não deve ser inferior a 0,0001% do raio. Especificar tolerância maior que raio reduz a tolerância para o maior valor possível abaixo do raio.

Devoluções

Polígono em torno do ponto de entrada. Se as coordenadas, raio ou 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

O exemplo a seguir calcula o polígono em torno das coordenadas [-115.1745008278, 36.1497251277], com raio de 20 km.

print buffer = geo_point_buffer(-115.1745008278, 36.1497251277, 20000)
memória temporária
{"type": "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)
Resultado
{"type": "MultiPolygon","coordenadas": [ ... ]}

O exemplo a seguir retorna true, devido a um ponto inválido.

print result = isnull(geo_point_buffer(200, 1,0.1))
Resultado
Verdade

O exemplo a seguir retorna true, devido ao raio inválido.

print result = isnull(geo_point_buffer(10, 10, -1))
Resultado
Verdade