geo_point_in_circle()
Beräknar om geospatiala koordinater finns i en cirkel på jorden.
Syntax
geo_point_in_circle(
,
p_longitude,
p_latitude,
pc_longitude,
pc_latitudec_radius)
Läs mer om syntaxkonventioner.
Parametrar
Namn | Typ | Obligatorisk | Beskrivning |
---|---|---|---|
p_longitude | real |
✔️ | Geospatial koordinat longitudvärde i grader. Giltigt värde är ett verkligt tal och i intervallet [-180, +180]. |
p_latitude | real |
✔️ | Geospatial koordinat latitudvärde i grader. Giltigt värde är ett verkligt tal och i intervallet [-90, +90]. |
pc_longitude | real |
✔️ | Geospatialt värde för geospatial koordinat i grader i cirkelcenter. Giltigt värde är ett verkligt tal och i intervallet [-180, +180]. |
pc_latitude | real |
✔️ | cirkla centrera geospatial koordinat latitudvärde i grader. Giltigt värde är ett verkligt tal och i intervallet [-90, +90]. |
c_radius | real |
✔️ | Cirkelradie i meter. Giltigt värde måste vara positivt. |
Returer
Anger om geospatiala koordinater finns i en cirkel. Om koordinaterna eller cirkeln är ogiltiga genererar frågan ett null-resultat.
Anteckning
- De geospatiala koordinaterna tolkas som de representeras av WGS-84-koordinatreferenssystemet .
- Det geodetiska datum som används för att mäta avstånd på jorden är en sfär.
- En cirkel är en sfärisk keps på jorden. Lockets radie mäts längs sfärens yta.
Exempel
I följande exempel hittar du alla platser i området som definieras av följande cirkel: Radie på 18 km, mitt på koordinaterna [-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
Resultat
restaurangen |
---|
Seattle |
Kirkland |
Redmond |
I följande exempel hittar du stormhändelser i Orlando. Händelserna filtreras efter 100 km inom Orlando-koordinaterna och aggregeras efter händelsetyp och 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
Resultat
I följande exempel visas taxihämtningar i New York inom 10 meter från en viss plats. Relevanta upphämtningar aggregeras efter 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)
Resultat
I följande exempel returneras true
.
print in_circle = geo_point_in_circle(-122.143564, 47.535677, -122.100896, 47.527351, 3500)
Resultat
in_circle |
---|
true |
I följande exempel returneras false
.
print in_circle = geo_point_in_circle(-122.137575, 47.630683, -122.100896, 47.527351, 3500)
Resultat
in_circle |
---|
falskt |
I följande exempel returneras ett null-resultat på grund av ogiltiga koordinatindata.
print in_circle = geo_point_in_circle(200, 1, 1, 1, 1)
Resultat
in_circle |
---|
I följande exempel returneras ett null-resultat på grund av den ogiltiga cirkelradieinmatningen.
print in_circle = geo_point_in_circle(1, 1, 1, 1, -1)
Resultat
in_circle |
---|
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för