Jaki jest przybliżony błąd twierdzenia Pitagorasa a wzoru Haversine'a w pomiarze odległości na kuli w różnych skalach?

30

Wiele osób, gdy po raz pierwszy próbuje obliczyć odległości między dwiema parami długości i szerokości geograficznej, pyta, czy twierdzenie Pitagorasa działa jako odpowiednia funkcja odległości.

Najczęściej ludzie odpowiadają „nie, twierdzenie Pitagorasa działa tylko na płaszczyźnie euklidesowej 2D”. Rzadko jednak ludzie wspominają wpływ skali i umiejscowienia na sferę na niedokładność twierdzenia Pitagorasa.

Podstawową ideą jest to, że w bardzo małych skalach powierzchnia kuli wygląda bardzo podobnie do płaszczyzny. W bardzo dużych skalach odległości wzdłuż powierzchni są bardziej zakrzywione, a zatem różnica między nieprawidłowym twierdzeniem Pitagorasa a poprawną formułą Haversine jest większa.

Czy ktoś zna wzór lub zasadę, która mówi ci różnicę między dwiema miarami odległości w oparciu o skalę odległości, którą próbujesz zmierzyć?

Myślę, że to wyraźnie pomogłoby w:

  1. wyjaśnienie, dlaczego twierdzenie Pitagorasa nie jest idealne; i
  2. informując ludzi, którzy szukają bardziej „szorstkich” odległości, kiedy Pitagoras rzeczywiście spełni swoje zadanie.
Amos Budde
źródło

Odpowiedzi:

34

Użycie formuły pitagorejskiej na pozycjach podanych w szerokości i długości geograficznej ma tak mały sens, jak, powiedzmy, obliczenie powierzchni koła za pomocą wzoru na kwadrat: chociaż daje liczbę, nie ma powodu, aby przypuszczać, że powinna działać.

Chociaż w małych skalach każda gładka powierzchnia wygląda jak płaszczyzna, dokładność Pitagorasa zależy od użytych współrzędnych . Gdy te współrzędne to szerokość i długość geograficzna na kuli (lub elipsoidzie), możemy się tego spodziewać

  1. Odległości wzdłuż linii długości geograficznej będą dość dokładne.

  2. Odległości wzdłuż równika będą dość dokładne.

  3. Wszystkie inne odległości będą błędne, w przybliżeniu proporcjonalne do różnic szerokości i długości geograficznej.

Błąd zależy od punktu początkowego i końcowego obliczeń odległości. Ponieważ jednak zarówno kula, jak i elipsoida mają okrągłą symetrię wokół osi, błąd zależy tylko od różnicy długości, więc aby zbadać ten błąd, równie dobrze możemy przyjąć punkt początkowy na południku zerowym. Ponieważ zarówno kula, jak i elipsoida są symetryczne w odbiciu północ-południe, musimy jedynie badać punkty początkowe na półkuli południowej. Dla każdego takiego punktu możemy narysować mapę konturową błędu względnego, równą [obliczeniom pitagorejskim] / [rzeczywistej odległości].

Formuła pitagorejska, wykorzystująca średni promień ziemi, jest następująca

Pythagorean distance =  6371000. * Sqrt[dx^2 + dy^2]] * pi / 180 meters

gdzie dx to różnica w długościach geograficznych, a dy to różnica w szerokościach geograficznych, zarówno w stopniach. (Różnica w wartościach długości geograficznej jest zmniejszona modulo 360, aby podać prawidłową wartość dx podczas przekraczania antimeridianu; nie zrobienie tego spowodowałoby sztucznie duże błędy, które nie mówią nam nic o samej formule pitagorejskiej.)

Poniższe wykresy pokazują błąd względny w porównaniu z prawidłową odległością na elipsoidzie WGS 84 dla szerokości geograficznych od -70 do 0 w krokach co 10 stopni. Współrzędna pozioma to różnica długości i współrzędna pionowa to szerokość geograficzna miejsca docelowego. Jasne obszary mają stosunkowo mały błąd: linie konturu mają 1, 1,01, 1,02, 1,05, 1,1, 1,2, 1,5, 2 itd. (Czyste białe obszary w rogach to miejsca, w których błąd wykracza poza zakres tych konturów .) Czerwone kropki wskazują punkt początkowy.

Działki

Pionowe białe pasy świadczą o poprawności oczekiwań (1): odległości pitagorejskie są dokładne, gdy występuje niewielka różnica długości. Poziome białe pasy na niskich szerokościach geograficznych potwierdzają oczekiwanie (2): w pobliżu równika odległości w poziomie są dość dokładne. W przeciwnym razie, jak pokazują rozległe ciemniejsze regiony, na wszystkich innych odległościach formuła pitagorejska jest zła.


Możemy dokonać oszacowań ilościowych maksimumbłąd osiągnięty dla par pobliskich punktów (w odległości, powiedzmy, kilkuset kilometrów od siebie). Skala - przy użyciu odpowiedniej wartości dla promienia - jest prawdziwa wzdłuż południka, ale wzdłuż koła szerokości geograficznej błądzi w przybliżeniu o sieczę szerokości geograficznej. Na przykład na szerokości 40 stopni secans wynosi 1,31, co oznacza, że ​​formuła pitagorejska da odległości o około 31% za duże w kierunku wschód-zachód. (Jest to widoczne na prawym górnym wykresie konturowym dla punktu początkowego na -40 stopni szerokości geograficznej, gdzie region bezpośrednio na wschód od zachodniej kropki czerwonej kropki leży między konturami 1,2 i 1,5). Krótkie odległości we wszystkich innych kierunkach będą wynosić zbyt duża o jakąś kwotę między 0% a 31%; dłuższe odległości mogą być nawet większe (jak pokazują wykresy konturowe).

Whuber
źródło
1
Naprawdę musi istnieć funkcja „ulubionej odpowiedzi” dla takich odpowiedzi.
Devdatta Tengshe 21.04.13
2
@DevdattaTengshe: wyraźnie wymaga, aby było to rozsądne: „gdzie dx to różnica w długościach (wyrażona między -180 a 180), a dy to różnica w szerokościach geograficznych, zarówno w stopniach”.
lynxlynxlynx
1
To 2, skoro 2 * 179 jest większe niż 180?
lynxlynxlynx
1
@whuber: Wiem o tym i wiesz o tym, ale większość ludzi, którzy ślepo próbują użyć geometrii pitagorejskiej / euklidesowej, nawet o tym nie myśli ani nie wie. Pomogłoby to, gdyby ten fakt (powinieneś użyć Modu 360) był obecny w twojej odpowiedzi.
Devdatta Tengshe,
1
@ToolmakerSteve W porządku - często używam tej korekty - ale mam nadzieję, że jej użytkownik zrozumie, że jest to przybliżenie i dla dużych odległości i kilku innych okoliczności może być daleko od celu.
whuber
8

Interpretowałem „odległość pitagońską” jako „odległość euklidesową”. Zatem odpowiedź jest taka sama jak „jaka jest różnica między długością cięciwy koła a założonym obwodem?” Niech promień będzie R, kąt pochylenia wynosi A (radiany).

perimeter = L = A*R
chord = C = 2*sin(A/2)*R
diff = D = L - C
     = (A-2*sin(A/2))*R
     = A^3/24 * R  (for A small)
     = L^3/(24*R^2) (eliminating A)
relative error = D/L
               = (L/R)^2/24

Dla ziemi zastąp R = 6400 km. Nawiasem mówiąc, nazwij to „wielką odległością od koła” (co to jest), a nie „odległością z tyłu” (jak to jest obliczane). (Jest to podobne do różnicy między odległością pitagorejską a odległością euklidesową).

cffk
źródło
Zgodnie z twoim rozumowaniem możesz dalej podstawić L i sprawić, by oszacowanie wymagało tylko A.
lynxlynxlynx 21.04.13
Czy potrafisz rozwinąć wyrażenie, które kończysz? Jak wyszło to A ^ 3/24 * R?
ciekawy
Rozwiń sin (A / 2) dla A small, używając sin (x) = x - x ^ 3/6, a otrzymasz ten wynik.
cffk
5

Dla pełnego i rygorystycznego odpowiedzi spojrzeniem odpowiedź whuber jest powyżej. Odpowiem w bardziej wizualny i podstawowy sposób.

Powodem, dla którego obliczenia planarne / pitagorejskie są nieodpowiednie, jest to, że obliczenia opierają się na fakcie, że przesunięcie jednego kroku w dowolnym kierunku jest stałą zmianą wielkości niezależnie od tego, gdzie jesteś na wykresie.

zwykły wykres

Długość geograficzna nie spełnia tego wymagania. Linie długości geograficznej zbiegają się na biegunach.

glob pokazujący zbieżność

Właśnie dlatego, gdy spłaszczamy Ziemię, aby odzwierciedlić reguły wykresu płaskiego, otrzymujemy zniekształcenie.

Mapa projekcyjna Mercator

Jeśli spojrzysz na tę mapę, wygląda to tak, jakby Grenlandia była mniej więcej wielkości Afryki, a Antarktyda mniej więcej wielkości Eurazji. Oczywiście, że to nieprawda. Grenlandia i Antarktyda są niezwykle zniekształcone, ponieważ znajdują się blisko biegunów, w których zbiegają się długości geograficznej.

widok globu półkuli północnej

Jak widać Grenlandia jest w przybliżeniu wielkości Meksyku.

widok rękawic półkuli południowej

A Antarktyda jest mniej więcej wielkości południowej Afryki (nie Południowej Afryki).

Jak widać błędy, które można zastosować stosując formuły pitagorejskie, bardziej zależą od tego, gdzie znajdują się punkty, niż odległość między nimi. Z ważnym zastrzeżeniem, że dłuższe odległości powiększą wszelkie błędy. To dlatego płaskie rozwiązania, choć kuszące, są złym wyborem. Zniekształcenia cię ugryzą i nie jest to tak proste jak przesunięcie. Błędy są wynikiem wypaczenia ziemi w celu dostosowania do niewłaściwych zasad.

Erik
źródło
W rzeczywistości pokazujesz inny rodzaj błędu. Stosowane poprawnie twierdzenie Pitagorasa oblicza odległość długości geograficznej na podstawie długości wzdłuż linii szerokości geograficznej, na której się znajdujesz, pomnożonej przezcos(lat) . Stosowane w ten sposób błędy są małe dla małych odległości, w dowolnym miejscu na kuli (z wyjątkiem przypadku przejścia bieguna N lub S.) To, co pokazujesz, to zniekształcenie rzutu całej ziemi, gdzie nieuchronnie niektóre regiony są bardzo zniekształcone. „błędy, które wystąpią… zależą bardziej od tego, gdzie… niż odległość” nie jest prawdą, jeśli użyjesz * cos(lat).
ToolmakerSteve