geo_point_in_circle()

Oblicza, czy współrzędne geoprzestrzenne znajdują się wewnątrz okręgu na Ziemi.

Składnia

geo_point_in_circle(, p_longitude, p_latitude, pc_longitude, pc_latitudec_radius)

Dowiedz się więcej o konwencjach składniowych.

Parametry

Nazwa Typ Wymagane Opis
p_longitude real ✔️ Wartość współrzędnych współrzędnych geoprzestrzennych w stopniach. Prawidłowa wartość to liczba rzeczywista i w zakresie [-180, +180].
p_latitude real ✔️ Współrzędna geograficzna współrzędnych geoprzestrzennych w stopniach. Prawidłowa wartość to liczba rzeczywista i w zakresie [-90, +90].
pc_longitude real ✔️ Współrzędnych współrzędnych geoprzestrzennych okręgu w stopniach. Prawidłowa wartość to liczba rzeczywista i w zakresie [-180, +180].
pc_latitude real ✔️ szerokość geograficzna współrzędnych współrzędnych w stopniach. Prawidłowa wartość to liczba rzeczywista i w zakresie [-90, +90].
c_radius real ✔️ Promień okręgu w metrach. Prawidłowa wartość musi być dodatnia.

Zwraca

Wskazuje, czy współrzędne geoprzestrzenne znajdują się wewnątrz okręgu. Jeśli współrzędne lub okrąg są nieprawidłowe, zapytanie generuje wynik o wartości null.

Uwaga

  • Współrzędne geoprzestrzenne są interpretowane jako reprezentowane przez system odniesienia współrzędnych WGS-84 .
  • Dataum geodetyczne używane do mierzenia odległości na Ziemi jest sferą.
  • Okrąg jest kulistym czapką na Ziemi. Promień czapki jest mierzony wzdłuż powierzchni sfery.

Przykłady

Poniższy przykład znajduje wszystkie miejsca w obszarze zdefiniowanym przez następujące koło: Promień 18 km, środek o współrzędnych [-122.317404, 47.609119].

Zrzut ekranu przedstawiający mapę z miejscami w odległości 18 km od Seattle.

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

Dane wyjściowe

place (miejsce)
Seattle
Kirkland
Redmond

Poniższy przykład znajduje zdarzenia burzy w Orlando. Zdarzenia są filtrowane według 100 km we współrzędnych Orlando i agregowane według typu zdarzenia i skrótu.

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

Dane wyjściowe

Zrzut ekranu przedstawiający zdarzenia burzy w Orlando renderowane z punktami wykresu kołowego na mapie.

Poniższy przykład przedstawia odbiór taksówki w Nowym Jorku w odległości 10 metrów od określonej lokalizacji. Odpowiednie odbiory są agregowane przez skrót.

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)

Dane wyjściowe

Zrzut ekranu przedstawiający renderowaną mapę przedstawiającą pobliskie odbióry taksówek w Nowym Jorku zgodnie z definicją w zapytaniu.

Poniższy przykład zwraca wartość true.

print in_circle = geo_point_in_circle(-122.143564, 47.535677, -122.100896, 47.527351, 3500)

Dane wyjściowe

in_circle
true

Poniższy przykład zwraca wartość false.

print in_circle = geo_point_in_circle(-122.137575, 47.630683, -122.100896, 47.527351, 3500)

Dane wyjściowe

in_circle
fałsz

Poniższy przykład zwraca wynik o wartości null z powodu nieprawidłowych danych wejściowych współrzędnych.

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

Dane wyjściowe

in_circle

Poniższy przykład zwraca wynik o wartości null z powodu nieprawidłowych danych wejściowych promienia okręgu.

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

Dane wyjściowe

in_circle