Koordinaten umrechnenMit dem python modul matplotlib läßt sich ja bekannt lich viel anstellen (siehe hier) - Man kann z.B  aber auch seine GPS Daten visualisieren. Visualisieren.Ich habe hier z.B. die Straßenbahnhaltestelle "Heven-Dorf" zum Zentrum der Welt mit den Koordinaten (0|0) gesetzt und mich dann mit Entfernung und Peilung  von Haltestelle zu Haltestelle gehangelt (das ergibt sich je aus den GPS Koordinaten). Für kleine Entfernungen von einigen 100m ist es Egal, dass Peilung und Strecke eigentlich zu einer Kugel gehört.

Sicher könnte man auch eine andere Projektion veranstalten, aber zwischen Heven und Höntrup...

Das mag jetzt noch nicht so spektakulär aussehen - im Grunde ist das aber der Streckenverlauf, den man auf eine Karte legen könnte.

Aus rechtlichen Gründen kann ich das hier leider nicht tun - aber wer möchte kann die Linie 310 in Bochum ja mal googeln und vergleichen ...passt schon....

Streckenplot

Will man nun herausfinden , wo sich der Wagen auf der Strecke (Karte befindet, vergleicht man seine übermittelten Koordinaten mit denen eines bekannten Punktes , kann man seine Entfernung und Peilung von diesem Punkt aus bestimmen  - z.B. einer Haltestelle in der Nähe.

Vektor

Hier hatte ich ja die Station "Witten Heven-Dorf" auf den Ursprung des Koordinatensystems gelegt. Bestimme ich nun die Entfernung unseres Senders und die Peilung in Bezug auf Heven Dorf ,habe ich im Grunde 2D Polarkoordinaten, nur dass sich die "Peilung" als Winkel zur y -Achse im Uhrzeiger Sinn Verstehen lässt.

Der grüne Pfeil in der Skizze hat die Länge der Entfernung und den (blauen) Winkel zur y-Achse und zeigt auf den Standort des Senders.

Zur Umrechnung in kartesisches Koordinatensystem erstmal denkbar einfach: 

x= sin(90-Peilung)*Entfernung und y=cos(90-Peilung)*Entfernung. Das funktioniert in unserem Beispiel wegen der vergleichsweise kurzen Entfernungen recht gut, da es für diese keine Rolle spielt, dass die "Peilung" eigentlich die Richtung auf der Kugeloberfläche angibt. 

Auf der technischen Seite zu dieser Ausgabe (der Zeichnung) reicht wieder das einfachste Beispiel zur  Verwendung von matplotlib.: 

from matplotlib import pyplot as plt  
...
...
...
plt.scatter(lx,ly)
plt.plot(lx,ly, color='#AA0055')
#plt.show()
plt.savefig("png310_b.png")

Hierbei sind lx und ly Listen mit den Entsprechenden  Koordinaten sind. In  der Liste lx stehen also die x-Koordinaten der Punkte und in ly die y-Koordinaten.