geo_point_in_circle()
Platí pro: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Vypočítá, jestli jsou geoprostorové souřadnice uvnitř kruhu na Zemi.
Syntaxe
geo_point_in_circle(
c_radius p_longitude p_latitude,
pc_longitude pc_latitude,
,
,
)
Přečtěte si další informace o konvencích syntaxe.
Parametry
Název | Type | Požadováno | Popis |
---|---|---|---|
p_longitude | real |
✔️ | Hodnota zeměpisné délky geoprostorové souřadnice ve stupních Platná hodnota je reálné číslo a v rozsahu [-180, +180]. |
p_latitude | real |
✔️ | Geoprostorová souřadnice hodnoty zeměpisné šířky ve stupních. Platná hodnota je reálné číslo a v rozsahu [-90, +90]. |
pc_longitude | real |
✔️ | Geoprostorová zeměpisná délka středu kruhu ve stupních. Platná hodnota je reálné číslo a v rozsahu [-180, +180]. |
pc_latitude | real |
✔️ | geoprostorová souřadnice hodnoty zeměpisné šířky ve stupních středového středu. Platná hodnota je reálné číslo a v rozsahu [-90, +90]. |
c_radius | real |
✔️ | Kruhový poloměr v metrech. Platná hodnota musí být kladná. |
Návraty
Určuje, jestli jsou geoprostorové souřadnice uvnitř kruhu. Pokud jsou souřadnice nebo kruh neplatné, dotaz vytvoří výsledek null.
Poznámka:
- Geoprostorové souřadnice jsou interpretovány jako reprezentované referenčním systémem souřadnic WGS-84 .
- Geodetické datum použité k měření vzdálenosti na Zemi je sféra.
- Kruh je kulový čepice na Zemi. Poloměr čepice se měří podél povrchu koule.
Příklady
Následující příklad najde všechna místa v oblasti definované následujícím kruhem: Poloměr 18 km, střed v souřadnicích [-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
Výstup
místo |
---|
Seattle |
Kirkland |
Jihlava |
Následující příklad najde události storm v Orlandu. Události se filtrují podle 100 km v souřadnicích Orlando a agregují se podle typu události a hodnoty 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
Výstup
Následující příklad ukazuje newyorské taxi vyzvednutí do 10 metrů od konkrétního místa. Relevantní vyzvednutí se agregují podle hodnoty 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)
Výstup
Následující příklad vrátí true
.
print in_circle = geo_point_in_circle(-122.143564, 47.535677, -122.100896, 47.527351, 3500)
Výstup
in_circle |
---|
true |
Následující příklad vrátí false
.
print in_circle = geo_point_in_circle(-122.137575, 47.630683, -122.100896, 47.527351, 3500)
Výstup
in_circle |
---|
false (nepravda) |
Následující příklad vrátí výsledek null z důvodu neplatného vstupu souřadnic.
print in_circle = geo_point_in_circle(200, 1, 1, 1, 1)
Výstup
in_circle |
---|
Následující příklad vrátí výsledek null kvůli neplatnému vstupu poloměru kruhu.
print in_circle = geo_point_in_circle(1, 1, 1, 1, -1)
Výstup
in_circle |
---|