Partilhar via


geo_point_buffer()

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

Syntax

geo_point_buffer(longitude,latitude,, raiotolerância)

Saiba mais sobre as convenções de sintaxe.

Parâmetros

Nome Tipo Necessário Descrição
longitude real ✔️ Coordenada geoespacial valor de longitude em graus. O valor válido é um número real e no intervalo [-180, +180].
latitude real ✔️ Coordenada geoespacial valor de latitude em graus. O valor válido é um número real e no intervalo [-90, +90].
raio real ✔️ Raio da memória intermédia em metros. O valor válido tem de ser positivo.
tolerância real Define a tolerância em medidores que determina a quantidade de polígonos que se pode desviar do raio ideal. Se não for especificado, é utilizado o valor 10 predefinido. A tolerância não deve ser inferior a 0,0001% do raio. Especificar tolerância maior do que o raio reduz a tolerância ao maior valor possível abaixo do raio.

Devoluções

Polígono à volta do ponto de entrada. Se as coordenadas, o raio ou a tolerância forem inválidos, a consulta produzirá um resultado nulo.

Nota

  • As coordenadas geoespaciais são interpretadas como representadas pelo sistema de referência de coordenadas WGS-84 .
  • O datum geodético usado para medir a distância na Terra é uma esfera.

Exemplos

A consulta seguinte calcula o polígono em torno das coordenadas [-115.1745008278, 36.1497251277], com raio de 20km.

print buffer = geo_point_buffer(-115.1745008278, 36.1497251277, 20000)
memória intermédia
{"type": "Polygon","coordinates": [ ... ]}

A consulta seguinte calcula a memória intermédia 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 seguinte devolve verdadeiro, devido a um ponto inválido.

print result = isnull(geo_point_buffer(200, 1,0.1))
result
Verdadeiro

O exemplo seguinte devolve verdadeiro, devido a um raio inválido.

print result = isnull(geo_point_buffer(10, 10, -1))
result
Verdadeiro