Seite 1 von 1

NMEA-Format in GoogleMaps-lesbares Format

Verfasst: 12.10.2007 - 11:24
von fishbone
Habe folgendes Problem:

Habe vom Sony CS1 eine Logdatei. Die sieht soweit auch wunderbar aus und mit GPS Babel funktioniert das auch alles.
Aber jetzt möchte ich selbst ein Progrämmchen schreiben, das mir nur die

$GPRMC

Zeile ausliest und auswertet. Ich brauch nur die Koordinaten, kein Höhenprofil oder ähnliches.

Allerdings habe ich mich schon fast zu Tode gesucht und keine "Formel" gefunden, wie man das in ein für GoogleMaps lesbares Format packen kann.

Hier eine Beispielzeile:

Code: Alles auswählen

$GPRMC,113926,A,4810.9071,N,00824.8134,E,000.0,298.6,081007,,,A*77
Ansich die Daten so auszulesen aus der Logdatei ist ja kein Ding. Jedoch die Daten dann so zu verarbeiten, dass GoogleMaps sie RICHTIG versteht, das ist eben mein Problem.
Hab schon öfter z.B. gehört, dass man die Zahl nach der Gradangabe durch 60 teilen soll, allerdings ist das dann ungefähr 50km entfernt vom eigentlichen Ziel.

Kann mir hier jemand weiterhelfen?

Danke.

Re: NMEA-Format in GoogleMaps-lesbares Format

Verfasst: 12.10.2007 - 15:30
von macnetz
fishbone hat geschrieben:Allerdings habe ich mich schon fast zu Tode gesucht und keine "Formel" gefunden, wie man das in ein für GoogleMaps lesbares Format packen kann.
hallo fishbone,

willkommen im Forum :)

4810.9071,N,00824.8134,E bedeutet:

48 Grad 10 (Dezimalpunkt) 9071 Minuten Nord, 8 Grad 24 (Dezimalpunkt) 8134 Ost.

in GoogleMaps ist das:
48 10.9071, 8 24.8134
oder:
48.181785, 8.413557
oder:
48 10 54.43, 8 24 48.80

das bedeutet:
+48° 10' 54.43", +8° 24' 48.80"

Grüsse - Anton

Verfasst: 12.10.2007 - 18:55
von fishbone
Super ;) Vielen Dank.
Hätte nicht gedacht, dass man nur nach der Gradangabe ein Leerzeichen eingeben muss... es passt auf jeden Fall.

Nur für die anderen von dir genannten Methoden steh ich wohl grad aufm Schlauch. Ich komm nicht drauf, wie du die berechnet hast.

Hättest du mir da noch einen Anhaltspunkt? Dankeschön.

Verfasst: 12.10.2007 - 21:21
von macnetz
fishbone hat geschrieben:Ich komm nicht drauf, wie du die berechnet hast.
Hättest du mir da noch einen Anhaltspunkt?
Hallo fishbone,

das Umrechnen habe ich GoogleMaps überlassen :wink:

wenn du es selber machen willst . . .
1 Grad hat 60 (Bogen)Minuten
1 Minute hat 60 (Bogen)Sekunden

Grüsse - Anton

Verfasst: 15.10.2007 - 09:47
von fishbone
Dankeschön.

Aber die GoogleMaps API kann die durch Leerzeichen getrennten Werte nicht lesen.

Am liebsten wären mir Koordinaten in folgendem Format:

Code: Alles auswählen

48.16828937363834, 8.404111862182617
Aber wie komme ich da drauf?

Verfasst: 15.10.2007 - 22:59
von Roland
Hallo fishbone,

das wirst Du doch in irgendeinem Link (notfalls einem Schulbuch) finden ?!
Anton beißt sicher gerade in die Tastatur.
(Also Minuten/60 und das Ergebnis/60 ergibt die Graddezimale.
Edit: das ist Bockmist. Lies Antons Beitrag oben nochmal genau durch.
Großes *Seufz*)

Ich will nur etwas zu den Nachkommastellen sagen. Mit 15 Dezimalstellen der Gradangaben kannst Du eine Position so auf Nanometer berechnen. Ist das sinnvoll ?

Grüße Roland

Verfasst: 17.10.2007 - 16:09
von fishbone
Habs jetzt etwas anders gelöst:

Ich nehm mir meine Koordinate 4810.9071.
Davon entferne ich die ersten beiden Stellen (also hab ich 10.9071).
Nun Teile ich 10.9071 durch 0.6 und lasse den Dezimalpunkt unauffällig unter dem Tisch verschwinden.

Dann füge ich die ersten beiden Stellen (also 48) wieder hinzu und füge noch einen Dezimalpunkt danach ein. Dann passts auch.

Etwas kompliziert, ich weiß, aber es funktioniert. Und zwar tadellos :-)


Vielen Dank für eure Tipps.

Verfasst: 18.10.2007 - 22:43
von Roland
Hallo,

man könnte den Dezimalpunkt auch zum Verschwinden bringen, indem man z.B. durch 0.00000006 teilt ....
Das ist ein bisschen ironisch gemeint. Dass man schnell mal in eine gedankliche Falle tappt, belegt mein Posting oben. Das lasse ich vorläufig aus Mitgefühl stehen.

Grüße Roland