geo_point_buffer()
Se aplica a: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
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:
- Las coordenadas geoespaciales se interpretan como representadas por el sistema de referencia de coordenadas WGS-84 .
- El dato geodético utilizado para medir la distancia en la Tierra es una esfera.
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 |