Mathematik-Überlauf in geographischen Berechnungen

Es mag wie ein Randproblem klingen, aber man kann es in einer Vielzahl von Software finden – in Apps und auch in Websites. Prominentes Beispiel: Die Site iss.de.astroviewer.net zeigt die aktuelle Position der ISS (International Space Station). Die Position wird auf einer Weltkarte dargestellt und jede Sekunde aufgefrischt, sie bewegt sich in grob östlicher Richtung (+/- 51.6°). Aber raten Sie mal was passiert, wenn die ISS den 180. Längengrad überquert. Sie springt in großen Schritten in westlicher Richtung zurück, so lange bis sie die aktuelle Position wieder trifft. Dieses seltsame Verhalten dauert ungefähr 1 Minute, danach wird die normale Bewegung fortgesetzt.

Der Grund für diesen Fehler ist offenbar ein mathematischer Algorithmus, der den 180°-Übergang unkorrekt behandelt. (Übrigens kann ein ähnliches Verhalten mitunter auch beim 360°-Übergang beobachtet werden.) In dem Beispiel oben ist es nur ein seltsamer Effekt, den man mit einem Grinsen ignorieren könnte. Aber stellen Sie sich einen Autopiloten vor, der ein Flugzeug oder Schiff steuert. Nehmen wir an, er soll eine kleine Kursänderung nach Backbord machen, sagen wir von 5° nach 355°. Aufgrund eines Software-Fehlers macht das Fahrzeug stattdessen einen (Fast-)Vollkreis von 350° nach Steuerbord. Das könnte zu ernsthaften Problemen führen, sogar zu einem Zusammenstoß, falls sich dort ein Hindernis befindet.

almost full circle

Die mathematische Lösung für korrektes Verhalten ist folgende: Man verwendet immer Winkel-Differenzen, die auf einen Bereich von +/- 180° normalisiert werden. Diese Deltas können für weitere Berechnungen verwendet werden, z.B. zum Filtern. Das Endergebnis wird dann wieder zurück gerechnet, diesmal auf den Bereich von 0°...360°. Klingt kompliziert, ist aber in Wirklichkeit sehr einfach. Und es liefert immer korrekte Ergebnisse.