Forum: Offtopic GPS Daten darstellen


von Blubb (Gast)


Lesenswert?

Hallo,

wo kann ich nachschauen, wie ich aus den aufgezeichneten GPS Daten eine 
Bewegungskarte erstellen kann. Mir gehts nicht darum, die Daten in 
Google oder ähnliches zu importieren, sondern diese so auszuwerten, dass 
diese auf eine Grafik übertragen werden können.

Danke!

von aha (Gast)


Lesenswert?

Ein Koordinatensystem genuegt. Dann eine Koorinatentransformation und 
einzeichnen. Wo ist das Problem ?

von Uhu U. (uhu)


Lesenswert?

Ich habe zu dem Zweck die NMEA-Daten in das Overlay-Format der 
TOP25-Meßtischblatt-CD umgewandelt. Damit kann man den Track dann ins 
Meßtischblatt einbelenden.

von Blubb (Gast)


Lesenswert?

Ich finde keinen Ansatzpunkt, wie man die Koordinaten transformiert und 
wie die Höhe mit den Breiten- und Längsgraden zusammenhängt.

von aha (Gast)


Lesenswert?

Die Hoehe ist auch unabhaengig von Laenge und Breite.

von aha (Gast)


Lesenswert?

Die Koordinatentransformation ist im Wesentlichen eine Multiplikation. 
Must vielleicht etwas probieren wenn die Grundlagen fehlen.

von Uhu U. (uhu)


Lesenswert?

Die Koordinaten sind im NMEA-Format etwas komisch codiert.

Wenn du die Daten mit GPSBabel z.B. ins GPX-Format unwandeln läßt, dann 
hast du sie in der üblichen Fom.

Die folgend C#-Funktion wandelt die Stringdarstellung von NMEA in 
Dezimal-Grad um:
1
private string NmeaDegree2DecimalDegree(string Tok)
2
{
3
    char DecSep = ',';
4
    if (System.Globalization.CultureInfo.CurrentUICulture.NumberFormat.NumberDecimalSeparator == ".")
5
        DecSep = '.';
6
    Tok = Tok.Replace('.', DecSep);
7
    int DecPos = Tok.IndexOf(DecSep);
8
    double Pos = System.Convert.ToDouble(Tok.Substring(0, DecPos - 2)) + 
9
        System.Convert.ToDouble(Tok.Substring(DecPos - 2)) / 60;
10
    return Math.Round(Pos, 4).ToString().Replace(',', '.');
11
}

von Blubb (Gast)


Lesenswert?

Danach kann ich die Daten ganz normal in einem passenden 
Koordinatensystem einzeichnen? Sprich der Längengrad entsprich der 
X-Achse, die Breite der Y-Achse?

Danke!

von Uhu U. (uhu)


Lesenswert?

Ja.

von Jürgen W. (lovos)


Lesenswert?

Nein nicht ganz. Auf dem Aequator wuerde es schon so passen, aber nicht 
in unseren Breiten ( ca. 50 Grad Nord).
In unseren Breiten sind die Abstaende der Laengengrade geringer als die 
der Breitengrade. (Die Breitengrade sind ueberall aequidistant, die 
Laengengrade laufen zu den Polen zusammen.)
Also sollte man die x-Werte mit dem Faktor cos(Breitengrad) 
multiplizieren.

von Blubb (Gast)


Lesenswert?

Danke!

Müssen die y-Werte auch entsprechend umgerechnet werden?

von oha (Gast)


Lesenswert?

In hinreichend kleinem Massstab kann das Koordinatensystem hierzulande 
als rechtwinklig angesehen werden.

von Karl H. (kbuchegg)


Lesenswert?

Blubb schrieb:
> Danke!
>
> Müssen die y-Werte auch entsprechend umgerechnet werden?

Nein.
Und im übrigen hängt es von der Karte ab, die du unter deine Daten legen 
willst, ob und welche Korrekturen du bei der Umrechnung von 
Breiten/Längen Graden in kartesiche Koordinaten anbringen musst. Du 
brauchst dieselben Umrechnungen, die auch bei der zugrundeliegenden 
Karte gemacht wurden. Kartografie ist nicht so einfach, wie sich 
Lieschen Müller das so vorstellt.

von Blubb (Gast)


Lesenswert?

Hallo,

es soll keine konkrete Karte drunter gelegt werden. Die aufgezeichnete 
Strecke soll einfach in einer Grafik als eine Menge von Punkten 
abgebildet werden.

Grüße
Alex

von Jürgen W. (lovos)


Lesenswert?

Ich wuerde die Achsen beschriften.
Der Erdradius ist zwar nicht konstant (wird zu den Polen geringer), kann 
in unseren Breiten mit r=6378km verwendet werden.
Damit lassen sich die y-Werte schnell von Breitengrade in 
(Bogen-)Laengen umrechnen. Bei den x-werten muss der Faktor 
'cos(Breitengrad)' beruecksichtigt werden.
Bei den sin()/cos() muss man aufpassen, dass sie meist Bogenmasse 
verlangen, das GPS/NMEA-String aber Grad-Windel hat.

von Blubb (Gast)


Lesenswert?

Hallo Jürgen,

kannst du mir noch auf die Sprünge helfen, wie jetzt die y-Werte mit dem 
Radius konkret umgerechnet werden? X-Achse und Umrechnung Bogenmaß ist 
klar.

Danke
Alex

von Karl H. (kbuchegg)


Lesenswert?

Blubb schrieb:
> Hallo Jürgen,
>
> kannst du mir noch auf die Sprünge helfen, wie jetzt die y-Werte mit dem
> Radius konkret umgerechnet werden? X-Achse und Umrechnung Bogenmaß ist
> klar.

Denk dir die Erde von Pol zu Pol durchgeschnitten. Die Schnittfläche ist 
dann ein Kreis. Der Breitengrad ist ein Radiusvektor von einem Punkt am 
Radius zum Kreismittelpunkt, wobei der Breitengrad der Winkel zwischen 
Radiusvektor und der Horizontalen (dem Äquator) ist. Der Radiusvektor 
kann 360 Grad überstreichen. Dies entspricht am Umfang des Kreises einer 
Distanz von 2*r*PI ( r = 6378km)

wenn 360° einer Distanz am Umfang von 2*6378km entsprechen, wie gross 
ist dann die Distanz in Kilometer für 1°. Wie gross für 0.5°? etc.

Einfach mal auf dem Papier eine Kugel skizzieren und Breitenkreise bzw. 
Längenkreise einzeichnen und überlegen was denn die Winkelangaben 
bedeuten und wie sie angegeben werden. Dann wird vieles klarer.

von Blubb (Gast)


Lesenswert?

Vielen Dank!

Grüße
Alex

von Jürgen W. (lovos)


Lesenswert?

>wenn 360° einer Distanz am Umfang von 2*6378km entsprechen, wie gross
>ist dann ...
Du meinst wahrscheinlich 2*pi*6378km?

Etwas schwieriger sind die x-Werte.
Laeuft man am 50.Breitengrad um die Erde, dann ist der "Umfang" nicht 
mehr 40000km, sondern r*cos(50Gr)*2*pi.
r*cos(50Gr) ist der Abstand von der Erdoberflaeche am 50.Breitengrad zur 
Pol-Achse (lotrecht).

von lm (Gast)


Lesenswert?

Hallo Jürgen,

na ich brauche die Darstellung nur für unsere Breitengrade :)

von Uhu U. (uhu)


Lesenswert?

Um einen Track in einer kleinen Umgebung in Deutschland darzustellen, 
muß man wirklich keine Klimmzüge machen - die fallen sowieso der Rundung 
auf Pixel zum Opfer...

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
Noch kein Account? Hier anmelden.