geo_point_in_circle()
S’applique à : ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Calcule si les coordonnées géospatiales se trouvent à l’intérieur d’un cercle sur la Terre.
Syntaxe
geo_point_in_circle(
,
p_longitude p_latitude,
pc_longitude,
pc_latitude c_radius,
)
En savoir plus sur les conventions de syntaxe.
Paramètres
Nom | Type | Requise | Description |
---|---|---|---|
p_longitude | real |
✔️ | Valeur de longitude des coordonnées géospatiales en degrés. La valeur valide est un nombre réel et dans la plage [-180, +180]. |
p_latitude | real |
✔️ | Valeur de latitude de coordonnées géospatiales en degrés. La valeur valide est un nombre réel et dans la plage [-90, +90]. |
pc_longitude | real |
✔️ | Valeur de longitude de coordonnées géospatiales du centre cercle en degrés. La valeur valide est un nombre réel et dans la plage [-180, +180]. |
pc_latitude | real |
✔️ | valeur de latitude de coordonnées géospatiales du centre cercle en degrés. La valeur valide est un nombre réel et dans la plage [-90, +90]. |
c_radius | real |
✔️ | Rayon de cercle en mètres. La valeur valide doit être positive. |
Retours
Indique si les coordonnées géospatiales se trouvent à l’intérieur d’un cercle. Si les coordonnées ou le cercle ne sont pas valides, la requête produit un résultat null.
Remarque
- Les coordonnées géospatiales sont interprétées comme représentées par le système de référence de coordonnées WGS-84 .
- La référence géodésique utilisée pour mesurer la distance sur terre est une sphère.
- Un cercle est un capuchon sphérique sur Terre. Le rayon du capuchon est mesuré le long de la surface de la sphère.
Exemples
L’exemple suivant recherche tous les endroits de la zone définie par le cercle suivant : Rayon de 18 km, centre à [-122.317404, 47.609119] coordonnées.
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
Sortie
adresse |
---|
Seattle |
Kirkland |
Redmond |
L’exemple suivant recherche les événements storm à Orlando. Les événements sont filtrés de 100 km dans les coordonnées d’Orlando, et agrégés par type d’événement et hachage.
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
Sortie
L’exemple suivant montre les micros de taxi de New York dans les 10 mètres d’un emplacement particulier. Les enlèvements pertinents sont agrégés par hachage.
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)
Sortie
L’exemple suivant renvoie true
.
print in_circle = geo_point_in_circle(-122.143564, 47.535677, -122.100896, 47.527351, 3500)
Sortie
in_circle |
---|
true |
L’exemple suivant renvoie false
.
print in_circle = geo_point_in_circle(-122.137575, 47.630683, -122.100896, 47.527351, 3500)
Sortie
in_circle |
---|
false |
L’exemple suivant retourne un résultat Null en raison de l’entrée de coordonnées non valide.
print in_circle = geo_point_in_circle(200, 1, 1, 1, 1)
Sortie
in_circle |
---|
L’exemple suivant retourne un résultat Null en raison de l’entrée de rayon du cercle non valide.
print in_circle = geo_point_in_circle(1, 1, 1, 1, -1)
Sortie
in_circle |
---|