Megosztás a következőn keresztül:


geo_point_in_circle()

Kiszámítja, hogy a térinformatikai koordináták a Föld egy körén belül vannak-e.

Syntax

geo_point_in_circle(, p_longitude, p_latitude, pc_longitude, pc_latitudec_radius)

További információ a szintaxis konvenciókról.

Paraméterek

Név Típus Kötelező Leírás
p_longitude real ✔️ Térinformatikai koordináták hosszúsági értéke fokban. Az érvényes érték egy valós szám, és a(z) [-180, +180] tartományban van.
p_latitude real ✔️ Térinformatikai koordináták szélességi értéke fokban. Az érvényes érték egy valós szám, és a(z) [-90, +90] tartományban van.
pc_longitude real ✔️ Kör középen térinformatikai koordináta hosszúsági értéke fokban. Az érvényes érték egy valós szám, és a(z) [-180, +180] tartományban van.
pc_latitude real ✔️ kör középen térinformatikai koordináta szélességi érték fokban. Az érvényes érték egy valós szám, és a(z) [-90, +90] tartományban van.
c_radius real ✔️ Kör sugara méterben. Az érvényes értéknek pozitívnak kell lennie.

Válaszok

Azt jelzi, hogy a térinformatikai koordináták egy körön belül vannak-e. Ha a koordináták vagy körök érvénytelenek, a lekérdezés null eredményt ad.

Megjegyzés

  • A térinformatikai koordinátákat a WGS-84 koordináta-referenciarendszer képviseli.
  • A Föld távolságának mérésére használt geodéziai datum egy gömb.
  • A kör egy gömb alakú kupak a Földön. A kupak sugarát a gömb felszínén mérik.

Példák

A következő példa a következő kör által meghatározott területen található összes helyet megtalálja: 18 km-es sugarú sugár, középpont: [-122.317404, 47.609119] koordináták.

Képernyőkép egy térképről Seattle 18 km-es körzetében.

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

Kimenet

helyet
Seattle
Kirkland
Redmond

Az alábbi példa a vihareseményeket találja Orlando-ban. Az eseményeket 100 km-re szűrjük Orlando koordinátáin belül, és eseménytípus és kivonat szerint összesítjük.

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

Kimenet

Képernyőkép az orlandói vihareseményről, amely kördiagram-pontokkal jelenik meg egy térképen.

Az alábbi példában a New York-i taxifelvételek egy adott hely 10 méteres körzetében láthatók. A vonatkozó csomagfelvételek kivonat alapján vannak összesítve.

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)

Kimenet

Képernyőkép a renderelt térképről, amelyen a new york-i taxifelvételek a lekérdezésben meghatározottak szerint láthatók.

Az alábbi példa a következőt adja truevissza: .

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

Kimenet

in_circle
true

Az alábbi példa a következőt adja falsevissza: .

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

Kimenet

in_circle
hamis

Az alábbi példa null eredményt ad vissza az érvénytelen koordináta-bemenet miatt.

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

Kimenet

in_circle

Az alábbi példa null eredményt ad vissza az érvénytelen kör sugarú bemenet miatt.

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

Kimenet

in_circle