Guten Morgen, mit der GPS Maus bekomme ich die Koordinaten geleifert. Diese Infos speicher ich zuerst in einen String. Nun möchte ich die Daten umwandeln. Beispiel: Der String Latitude beinhaltet diese Zahl 4124.8963. Nun soll die ersten beiden Ziffern in eine Integer Variable rein und die anderen in eine Daouble Variable. Wie kann ich dies mit C realisieren? Was gibt mir dies an 24.8963? >>Latitude 4124.8963, N 41d 24.8963' N or 41d 24' 54" N >>Longitude 08151.6838, W 81d 51.6838' W or 81d 51' 41" W
>Was gibt mir dies an 24.8963?
Steht da doch: 24.8963 °Minuten.
Die Nachkommastellen geben die °Sekunden an: 0,8963*60 = 53,778
Den ganzen String kannst du dann so auseinanderklabüstern:
String = "4124.8693" (+ "\0")
Grad = (String[0]-'0')*10 + (String[1]-'0');
Minuten = (String[2]-'0')*10 + (String[3]-'0');
Sekunden musst du dir selber überlegen...
Kann aber sein, dass sich die Stringbehandlung noch etwas komplizierter
gestaltet. Mit Arrays geht das so.
HI Cnewbie Kann ich deinen Code haben? mit dem du aus deinem Modul den NMEA String rausbekommst? Ich bekomm da ausser ein paar Hyroglyphen überhaupt nix raus. Vielen Dank Andreas! franklyn@franklyn.at
> Steht da doch: 24.8963 °Minuten. > Die Nachkommastellen geben die °Sekunden an: 0,8963*60 = 53,778 Sicher? Bei mir kommen da Dezimalwerte raus. Ach, das meinst du ja anscheinend auch. Deine Formulierung hat mich etwas durcheinander gebracht. Wenn's um Brechenungen geht, dann bleibt man besser dezimal. Minuten und Sekunden höchstens zur Entfernungsmessung in Seemeilen (1 nm = 1° lat) oder wenn's auf Karten so angegeben ist. virtuPIC /ggadgets for tools & toys
Thomas Bremer wrote: > Sicher? Bei mir kommen da Dezimalwerte raus. Ach, das meinst du ja > anscheinend auch. Deine Formulierung hat mich etwas durcheinander > gebracht. Das sieht nur wie Dezimal aus, ist es aber nicht, was du leicht feststellen kannst, indem du mal solche "Dezimalwerte" nimmst, deren Ursprungsort du kenst, und mal auf einer Karte diese Koordinate aufsuchst.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.