geo_point_in_circle()
Si applica a: ✅Microsoft Fabric✅Azure Esplora dati✅ Azure Monitor✅Microsoft Sentinel
Calcola se le coordinate geospaziali si trovano all'interno di un cerchio sulla Terra.
Sintassi
geo_point_in_circle(
,
p_longitude p_latitude,
pc_longitude pc_latitude c_radius,
,
)
Altre informazioni sulle convenzioni di sintassi.
Parametri
Nome | Digita | Obbligatorio | Descrizione |
---|---|---|---|
p_longitude | real |
✔️ | Valore della longitudine della coordinata geospaziale in gradi. Il valore valido è un numero reale e nell'intervallo [-180, +180]. |
p_latitude | real |
✔️ | Valore della latitudine della coordinata geospaziale in gradi. Il valore valido è un numero reale e nell'intervallo [-90, +90]. |
pc_longitude | real |
✔️ | Valore di longitudine della coordinata geospaziale al centro del cerchio in gradi. Il valore valido è un numero reale e nell'intervallo [-180, +180]. |
pc_latitude | real |
✔️ | il valore della latitudine della coordinata geospaziale al centro del cerchio in gradi. Il valore valido è un numero reale e nell'intervallo [-90, +90]. |
c_radius | real |
✔️ | Raggio del cerchio in metri. Il valore valido deve essere positivo. |
Valori restituiti
Indica se le coordinate geospaziali si trovano all'interno di un cerchio. Se le coordinate o il cerchio non sono validi, la query produce un risultato Null.
Nota
- Le coordinate geospaziali vengono interpretate come rappresentate dal sistema di riferimento di coordinate WGS-84 .
- Il datum geodetico usato per misurare la distanza sulla Terra è una sfera.
- Un cerchio è un capretto sferico sulla Terra. Il raggio dell'estremità viene misurato lungo la superficie della sfera.
Esempi
Nell'esempio seguente vengono trovate tutte le posizioni nell'area definita dal cerchio seguente: Raggio di 18 km, centrato in corrispondenza delle coordinate [-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
Output
posto |
---|
Seattle |
Kirkland |
Redmond |
L'esempio seguente trova gli eventi storm in Orlando. Gli eventi vengono filtrati per 100 km all'interno delle coordinate di Orlando e aggregati in base al tipo di evento e all'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
Output
L'esempio seguente mostra i prelievi di taxi della città di New York entro 10 metri da una determinata posizione. I prelievi pertinenti vengono aggregati in base all'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)
Output
L'esempio seguente restituisce true
.
print in_circle = geo_point_in_circle(-122.143564, 47.535677, -122.100896, 47.527351, 3500)
Output
in_circle |
---|
true |
L'esempio seguente restituisce false
.
print in_circle = geo_point_in_circle(-122.137575, 47.630683, -122.100896, 47.527351, 3500)
Output
in_circle |
---|
false |
Nell'esempio seguente viene restituito un risultato Null a causa dell'input di coordinate non valido.
print in_circle = geo_point_in_circle(200, 1, 1, 1, 1)
Output
in_circle |
---|
Nell'esempio seguente viene restituito un risultato Null a causa dell'input del raggio del cerchio non valido.
print in_circle = geo_point_in_circle(1, 1, 1, 1, -1)
Output
in_circle |
---|