Compartir vía


geo_point_buffer()

Calcula el polígono que contiene todos los puntos dentro del radio especificado del punto en la Tierra.

Sintaxis

geo_point_buffer(tolerancia de radio, de latitud de longitud, , )

Obtenga más información sobre las convenciones de sintaxis.

Parámetros

Nombre Type Obligatorio Descripción
longitude real ✔️ Valor de longitud de coordenada geoespacial en grados. El valor válido es un número real y en el intervalo [-180, +180].
latitude real ✔️ Valor de latitud de coordenada geoespacial en grados. El valor válido es un número real y en el intervalo [-90, +90].
radio real ✔️ Radio de búfer en metros. El valor válido debe ser positivo.
tolerance real Define la tolerancia en medidores que determina cuánto un polígono puede desviarse del radio ideal. Si no se especifica, se usa el valor predeterminado 10. La tolerancia no debe ser inferior al 0,0001 % del radio. Al especificar la tolerancia mayor que el radio, se reduce la tolerancia al mayor valor posible por debajo del radio.

Devoluciones

Polígono alrededor del punto de entrada. Si las coordenadas o el radio o la tolerancia no son válidas, la consulta genera un resultado NULO.

Nota:

Ejemplos

La consulta siguiente calcula el polígono alrededor de las coordenadas [-115.1745008278, 36.1497251277], con radio de 20km.

print buffer = geo_point_buffer(-115.1745008278, 36.1497251277, 20000)
buffer
{"type": "Polygon","coordinates": [ ... ]}

La consulta siguiente calcula el búfer alrededor de cada punto y unifica el 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","coordinates": [ ... ]}

En el ejemplo siguiente se devuelve true, debido a un punto no válido.

print result = isnull(geo_point_buffer(200, 1,0.1))
resultado
True

En el ejemplo siguiente se devuelve true, debido a un radio no válido.

print result = isnull(geo_point_buffer(10, 10, -1))
resultado
True