geo_point_in_circle()
Se aplica a: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Calcula si las coordenadas geoespaciales están dentro de un círculo en la Tierra.
Sintaxis
geo_point_in_circle(
,
p_longitude p_latitude,
pc_longitude,
pc_latitude c_radius,
)
Obtenga más información sobre las convenciones de sintaxis.
Parámetros
Nombre | Type | Obligatorio | Descripción |
---|---|---|---|
p_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]. |
p_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]. |
pc_longitude | real |
✔️ | Valor de longitud de coordenada geoespacial del centro del círculo en grados. El valor válido es un número real y en el intervalo [-180, +180]. |
pc_latitude | real |
✔️ | círculo centro geoespacial valor de latitud de coordenadas geoespaciales en grados. El valor válido es un número real y en el intervalo [-90, +90]. |
c_radius | real |
✔️ | Radio de círculo en metros. El valor válido debe ser positivo. |
Devoluciones
Indica si las coordenadas geoespaciales están dentro de un círculo. Si las coordenadas o el círculo no son válidos, 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.
- Un círculo es un capuchón esférico en la Tierra. El radio del extremo se mide a lo largo de la superficie de la esfera.
Ejemplos
En el ejemplo siguiente se buscan todos los lugares del área definida por el siguiente círculo: Radio de 18 km, centro en las coordenadas [-122.317404, 47.609119].
datatable(longitude:real, latitude:real, place:string)
[
real(-122.317404), 47.609119, 'Seattle', // In circle
real(-123.497688), 47.458098, 'Olympic National Forest', // In exterior of circle
real(-122.201741), 47.677084, 'Kirkland', // In circle
real(-122.443663), 47.247092, 'Tacoma', // In exterior of circle
real(-122.121975), 47.671345, 'Redmond', // In circle
]
| where geo_point_in_circle(longitude, latitude, -122.317404, 47.609119, 18000)
| project place
Salida
lugar |
---|
Seattle |
Kirkland |
Redmond |
En el ejemplo siguiente se buscan eventos de tormenta en Orlando. Los eventos se filtran por 100 km dentro de las coordenadas de Orlando y se agregan por tipo de evento y hash.
StormEvents
| project BeginLon, BeginLat, EventType
| where geo_point_in_circle(BeginLon, BeginLat, real(-81.3891), 28.5346, 1000 * 100)
| summarize count() by EventType, hash = geo_point_to_s2cell(BeginLon, BeginLat)
| project geo_s2cell_to_central_point(hash), EventType, count_
| render piechart with (kind=map) // map pie rendering available in Kusto Explorer desktop
Salida
En el ejemplo siguiente se muestran las recogidas de taxis de la ciudad de Nueva York dentro de 10 metros de una ubicación determinada. Las recogidas pertinentes se agregan mediante hash.
nyc_taxi
| project pickup_longitude, pickup_latitude
| where geo_point_in_circle( pickup_longitude, pickup_latitude, real(-73.9928), 40.7429, 10)
| summarize by hash = geo_point_to_s2cell(pickup_longitude, pickup_latitude, 22)
| project geo_s2cell_to_central_point(hash)
| render scatterchart with (kind = map)
Salida
El siguiente ejemplo devuelve true
.
print in_circle = geo_point_in_circle(-122.143564, 47.535677, -122.100896, 47.527351, 3500)
Salida
in_circle |
---|
true |
El siguiente ejemplo devuelve false
.
print in_circle = geo_point_in_circle(-122.137575, 47.630683, -122.100896, 47.527351, 3500)
Salida
in_circle |
---|
false |
En el ejemplo siguiente se devuelve un resultado NULO debido a la entrada de coordenadas no válida.
print in_circle = geo_point_in_circle(200, 1, 1, 1, 1)
Salida
in_circle |
---|
En el ejemplo siguiente se devuelve un resultado NULO debido a la entrada de radio de círculo no válida.
print in_circle = geo_point_in_circle(1, 1, 1, 1, -1)
Salida
in_circle |
---|