geo_distance_2points()

Kiszámítja a föld két térinformatikai koordinátája közötti legrövidebb távolságot méterben.

Syntax

geo_distance_2points(, p1_longitude, p1_latitude, p2_longitudep2_latitude)

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

Paraméterek

Név Típus Kötelező Leírás
p1_longitude real ✔️ A hosszúsági érték az első térinformatikai koordináta fokában. Az érvényes érték a [-180, +180] tartományban van.
p1_latitude real ✔️ A földrajzi szélesség értéke az első térinformatikai koordináta fokában. Az érvényes érték a [-90, +90] tartományban van.
p2_longitude real ✔️ A hosszúsági érték a második térinformatikai koordináta fokában. Az érvényes érték a [-180, +180] tartományban van.
p2_latitude real ✔️ A második térinformatikai koordináta fokában megadott szélességi érték. Az érvényes érték a [-90, +90] tartományban van.

Válaszok

A legrövidebb távolság, méterben, két földrajzi hely között a Földön. Ha a koordinátá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.

Példák

Az alábbi példa megkeresi Seattle és Los Angeles közötti legrövidebb távolságot.

Távolság Seattle és Los Angeles között.

print distance_in_meters = geo_distance_2points(-122.407628, 47.578557, -118.275287, 34.019056)

Kimenet

distance_in_meters
1546754.35197381

Az alábbi példa a Seattle és London közötti legrövidebb útvonalat keresi. A vonal koordinátákból áll a LineString mentén és attól 500 méterre.

range i from 1 to 1000000 step 1
| project lng = rand() * real(-122), lat = rand() * 90
| where lng between(real(-122) .. 0) and lat between(47 .. 90)
| where geo_distance_point_to_line(lng,lat,dynamic({"type":"LineString","coordinates":[[-122,47],[0,51]]})) < 500
| render scatterchart with (kind=map)

Kimenet

Képernyőkép a Seattle-London LineStringről.

Az alábbi példa megkeresi azokat a sorokat, amelyekben a két koordináta közötti legrövidebb távolság egy méter és 11 méter között van.

StormEvents
| extend distance_1_to_11m = geo_distance_2points(BeginLon, BeginLat, EndLon, EndLat)
| where distance_1_to_11m between (1 .. 11)
| project distance_1_to_11m

Kimenet

distance_1_to_11m
10.5723100154958
7.92153588248414

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

print distance = geo_distance_2points(300,1,1,1)

Kimenet

Távolság