_Geo_Diff - Exakte Berechnung der Distanz zweier Punkte auf der Erdoberfläche

  • Titel sagt viel, das Skript den Rest ^^ . Beispiel ist mit dabei.


  • Interessante Lösung.
    Wo stammt dieser Näherungsalgorithmus her und vor allem die Angabe, dass es immer im Bereich ± 0.05 km liegt?
    Für dein Beispiel betrug die Differenz zur exakten Lösung auf dem angegeben Ellipsoid übrigens 6m was ja im Bereich liegt.


    Vielleicht sollte man aber dazusagen: Bei Koordinatenberechnungen auf dem Ellipsoid müssen die angegebenen Koordinaten in einem Bezugssytem ermittelt wurden sein welchem das verwendete Ellipsoid zu Grunde liegt. Sonst sind die ermittelten Werte verfälscht. In Wikipedia z.B. sind die Angaben meist auf WGS84 bezogen (Referenzsystem für GPS-Koordinaten), also muss man auch dessen Werte für die Halbachse und Abplattung verwenden wenn man mit deren Koordinaten rechnen möchte.


    Theoretisch kann man auf dem Ellipsoid bis zu jeder beliebigen Genauigkeit rechnen. Da es sich hier aber um elliptische Integrale handelt welche ein Randwertproblem darstellen, ist die Berechnung ziemlich tricky und nur iterativ zu lösen.
    Hier mal eine Version welche auf etwa 1nm genau rechnet:


    Ein Hinweis vielleicht noch: Bei deinem Koordinatenparsing negierst du die Koordinatenangaben wenn sie Ostkoordinaten sind. Normal ist es aber eigentlich Westkoordinaten zu negieren.
    Am Ergebnis ändert das aber nichts - eher ein Schönheitsdetail.


    Ein sehr schönes Online-Tool mit dem man sich das ganze berechnen und vor allem anzeigen lassen kann ist hier zu finden: http://geographiclib.sourcefor…/scripts/geod-google.html (unser Anwendungsfall ist der "Inverse")


    Edit: Hab auch mal die Azimutwinkel im Anfangs und Endpunkt mit hinzugefügt, damit man weiß in welche Richtung man loslaufen muss und in welche man ankommt.
    Edit2: Auf Romberg-Integration umgestellt.
    Edit3: Link zum Online-Tool hinzugefügt

  • Wo stammt dieser Näherungsalgorithmus her


    Laut meinem Gekritzel ist das eine Methode von Andoyer. Das stammt aus meinen Aufzeichnungen ausm Astronomie-Kurs. Wir hatten das damals in Excel umgesetzt, aber ich wollte es nochmal als AutoIt Funktion umschreiben.


    Ein Hinweis vielleicht noch: Bei deinem Koordinatenparsing negierst du die Koordinatenangaben wenn sie Ostkoordinaten sind. Normal ist es aber eigentlich Westkoordinaten zu negieren.
    Am Ergebnis ändert das aber nichts - eher ein Schönheitsdetail.


    Da habe ich genau das Gegenteil gelernt und damit auch in Prüfungen gerechnet ^^


    Theoretisch kann man auf dem Ellipsoid bis zu jeder beliebigen Genauigkeit rechnen.


    Das ist sicher richtig, aber diese Näherung reicht völlig aus, wenn man sie z.B. mit der geläufigen AGPS Triangulation vergleicht.

  • Da habe ich genau das Gegenteil gelernt und damit auch in Prüfungen gerechnet

    Na dann: Glück gehabt. Wenn du nicht gerade mal derartige Prüfungen schreibst, kannst du es ja von nun an richtig herum machen.


    Das ist sicher richtig, aber diese Näherung reicht völlig aus, wenn man sie z.B. mit der geläufigen AGPS Triangulation vergleicht.

    Das wollte ich Dir hiermit ja zum Ausdruck bringen. Wenn deine Koordinaten aus GPS-Messungen stammen müsstest du auch mit dem WGS84-Ellipsoid rechnen anstatt einem beliebigen.
    Für das Beispiel hier hat man schon allein dadurch einen Fehler von 3m der nicht sein müsste.
    Herkömmliche GPS-Messungen sind außerdem deutlich genauer als 50m und eine höhere Rechengenauigkeit für die Distanz daher auch hierbei durchaus wünschenswert.

  • Ja das ist erstmal bisschen verwirrend, aber richtig so.
    Kurz: Die Winkel müssen nicht zusammen 360° ergeben.
    Wenn man sich auf einer Kugel ein Dreieck zeichnet und die Kanten dabei die jeweils kürzesten Verbindungen auf der Kugel sind dann ist die Innenwinkelsumme in diesem Dreieck größer als 180°.
    Die Gesetzmäßigkeiten der planaren Geometrie gelten nicht mehr vollständig.


    Oder ist der WGS84 Geoid so kartoffelig?

    Nein nein es ist ein ganz glattes normales Rotationsellipsoid.
    Kartoffelig ist erst das Geoid.