GPS Koordinaten umrechnen

  • Moin,

    verzweifel hier ein wenig :/

    Ich möchte auf einem Bild, welches die Weltkarte darstellt, einen beliebigen Koordinatenpunkt darstellen.

    Als bild hab ich erstmal zum test ein abbild von der Google Map genommen -> Siehe hier
    (Schwarzes Kreuz Mittelpunkt des Bildes, grüner der des Koordinatensystems)

    Mein Versuch war bis jetzt folgender:
    https://codepen.io/MarcelL/pen/VPoXRe?editors=1111

    Bei diesem wurden auch der Nullpunkt des Koordinatensystems (Achtung ich meine nicht den Mittelpunkt des Bildes) bzw. die oberen/unteren (-90/0 | 90/0) und rechten/linken (-180/0 | 180/0) Koordinaten richtig anzeigt.
    Allerdings stimmen die die anderen Koordinaten nicht. Die Abweichung ist bei diesen Ziemlich groß. Dies liegt, soweit ich weis, daran das solche Karten halt nicht Rund, sondern immer etwas gestreckt bzw. gestraucht sind.

    Stichwort -> sphärische Trigonometrie

    Aber trotzdem komme ich nicht auf die richtige Umrechnungsformel :wallbash: :wallbash:
    Muss ja gehen denn bei Google & Co geht's ja :D

    Eventuell kann mir ja jemand helfen :thumbs1:

    Gruß Swoopo

  • Hallo,

    Zitat

    Dies liegt, soweit ich weis, daran das solche Karten halt nicht Rund, sondern immer etwas gestreckt bzw. gestraucht sind.


    Es gibt für Karten verschiedene Arten der Projektion (bei Wikipedia: https://de.wikipedia.org/wiki/Kartennetzentwurf). Die musst du mindestens kennen, damit die Koordinaten halbwegs brauchbar / genau berechnet werden können.

    Gibt es eigentlich eine Grund, warum du das so "von Hand" machen willst und nicht über die z.B. Google Maps API oder mit leaflet.js und OSM Daten?

    Gruß, noisefloor

  • Hallo,

    Zitat

    Warum ich das "von Hand" mache. hat eigentlich nur den Grund das ich nicht auf externe Anbieter zurückgreifen möchte.


    Gut, das ist ein Grund. Wobei das, was du vor hast, alles andere als trivial ist. Grundvoraussetzung ist halt, dass die eine _verläßliche_ Kartenquelle mit _bekannter_ Projektion hast.

    Welche Genauigkeit schwebt dir den vor? Bei einer pixel-basieren (also nicht vektorisierten Karte) ist die mögliche Genauigkeit ja noch von der Größe / Auflösung der Karte abhängig.

    Gruß, noisefloor

  • Sieht wie folgt aus:

  • Hallo zusammen,

    ich würde mal den Ausdruck innerhalb tan() mit dem Faktor pi / 180.0 multiplizieren. Dadurch werden aus Grad-Angaben solche im Bogenmaß = Vielfache von pi. Damit rechnen üblicherweise die trigonometrischen Funktionen sin(), cos(), tan(), cot() und deren Umkehrfunktionen arc...().
    (360 ° = 2 pi, 180 ° = pi)

    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

  • Ich kann leider kein Javascript, aber mit dem folgenden Python-Code:

    komme ich auf die selben Ergebnisse wie das PDF:

    Code
    $ python coord.py
     13.29  52.56 1289  785
    -73.78  40.64  708  902
      8.69  50.11 1258  812
    -80.22  25.79  665 1021
     13.74  51.05 1292  802
      2.35  48.86 1216  824

    Wo weicht Dein Code ab?

    Einmal editiert, zuletzt von Manul (21. Februar 2017 um 23:13)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!