Sdílet prostřednictvím


geo_point_in_circle()

Vypočítá, zda jsou geoprostorové souřadnice uvnitř kruhu na Zemi.

Syntax

geo_point_in_circle(, p_longitude, p_latitude, pc_longitude, pc_latitudec_radius)

Přečtěte si další informace o konvencích syntaxe.

Parametry

Název Typ Vyžadováno Popis
p_longitude real ✔️ Hodnota geoprostorové souřadnice zeměpisné délky ve stupních Platná hodnota je reálné číslo v rozsahu [-180, +180].
p_latitude real ✔️ Hodnota zeměpisné šířky geoprostorových souřadnic ve stupních Platná hodnota je reálné číslo v rozsahu [-90, +90].
pc_longitude real ✔️ Geoprostorová souřadnice středu kruhu v hodnotě zeměpisné délky ve stupních Platná hodnota je reálné číslo v rozsahu [-180, +180].
pc_latitude real ✔️ geoprostorová hodnota zeměpisné šířky středu kruhu ve stupních. Platná hodnota je reálné číslo v rozsahu [-90, +90].
c_radius real ✔️ Poloměr kruhu v metrech. Platná hodnota musí být kladná.

Návraty

Určuje, zda jsou geoprostorové souřadnice uvnitř kruhu. Pokud jsou souřadnice nebo kruh neplatné, dotaz vygeneruje výsledek null.

Poznámka

  • Geoprostorové souřadnice jsou interpretovány jako reprezentované systémem souřadnic WGS-84 .
  • Geodetické datum používané k měření vzdálenosti na Zemi je koule.
  • Kruh je kulová čepice na Zemi. Poloměr uzávěru 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].

Snímek obrazovky s mapou s místy v okruhu 18 km od Seattlu

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
Redmond

Následující příklad najde události storm v Orlandu. Události jsou filtrovány podle 100 km v rámci souřadnic Orlando a agregovány 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

Snímek obrazovky s událostmi bouře v Orlandu vykresleným s body výsečového grafu na mapě

Následující příklad ukazuje vyzvednutí taxíkem ve městě New York do 10 metrů od konkrétního místa. Relevantní sběrná data 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

Snímek obrazovky s vykreslenou mapou zobrazující blízké vyzvednutí taxislužby v New Yorku, jak je definováno v dotazu

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řadnice.

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 z důvodu neplatného vstupu poloměru kruhu.

print in_circle = geo_point_in_circle(1, 1, 1, 1, -1)

Výstup

in_circle