x

JOB: Replay / Abspielen von Tracks mit OpenLayers


  1. JOB: Replay / Abspielen von Tracks mit OpenLayers · humpataa (Gast) · 03.11.2013 14:50 · [flux]

    Hallo,

    ich bin neu hier und auf dem Gebiet der Kartendarstellung mit OSM. Habe die Karten bisher "nur" auf meinem Garmin benutzt.
    Nach ein paar Tagen lesen und informieren glaube ich, die grundlegendsten Dinge verstanden zu haben.

    Aus einem GPS-Tracker habe ich eine Logdatei, die über einen Zeitraum die Position, Höhe, Geschwindigkeit, Kompass u.ä. enthält.
    Diese "Fahrt" möchte ich nun gern mit Hilfe von OpenLayers und OSM in Echtzeit "abspielen".
    Also den Track auf einer ausgenordeten Karte im Sekundentakt aktualisiert an der Position zentriert darstellen.
    Zusätzlich sollen ausgewählte Trackinformationen neben der Karte in Boxen dargestellt werden.

    Die Trackdaten liegen als CSV-Datei vor.
    Ich suche einen Programmierer, der mir das - natürlich gegen Bezahlung - umsetzen kann.

    Wenn es einen separaten Bereich für Jobangebote gibt, bitte ich um Nachsicht und Hinweis.

    Danke + Grüße 🙂
    Dennis


    • Re: JOB: Replay / Abspielen von Tracks mit OpenLayers · tunnelbauer (Gast) · 04.11.2013 12:17 · [flux]

      Meinst du sowas?

      https://github.com/rodneythellama/gpxanim

      (siehe auch Beispiel-Video)

      (irgendwo in dem weiten Neuland gibt es glaube ich auch noch ein jar-File, welches das Ganze ein bisschen einfacher macht - ich finde es aber nicht mehr...)


    • Re: JOB: Replay / Abspielen von Tracks mit OpenLayers · humpataa (Gast) · 04.11.2013 12:34 · [flux]

      Danke Thomas, sieht super aus, ist aber nicht ganz das was ich mir vorstelle.
      Im Grunde brauche ich eine kleine Webseite, die das mit Hilfe von Javascript, OSM und OpenLayers umsetzt.
      Kein Video, keine flüssige "animierte" Ausgabe, eher was minimalisiertes, in Sekundenabständen aktualisiert.


    • Re: JOB: Replay / Abspielen von Tracks mit OpenLayers · Netzwolf (Gast) · 04.11.2013 14:39 · [flux]

      Nahmd,

      humpataa wrote:

      Kein Video, keine flüssige "animierte" Ausgabe, eher was minimalisiertes, in Sekundenabständen aktualisiert.

      Minimalisiert klingt gut. (nur mit FF getestet)

      Gruß Wolf


    • Re: JOB: Replay / Abspielen von Tracks mit OpenLayers · MKnight (Gast) · 04.11.2013 15:30 · [flux]

      Netzwolf wrote:

      Minimalisiert klingt gut. (nur mit FF getestet)

      Gefällt mir sehr.

      Wie bzw. mit was baust Du die CSV-Datei zusammen?


    • Re: JOB: Replay / Abspielen von Tracks mit OpenLayers · chris66 (Gast) · 04.11.2013 15:51 · [flux]

      Ja, mir auch, bis auf das NSA-Zielkreuz. 😉


    • Re: JOB: Replay / Abspielen von Tracks mit OpenLayers · Netzwolf (Gast) · 04.11.2013 16:03 · [flux]

      Nahmd,

      MKnight wrote:

      Wie bzw. mit was baust Du die CSV-Datei zusammen?

      GpsBabel kann GPX lesen, nah beieinander liegende Punkte tilgen und CSV schreiben.

      chris66 wrote:

      Ja, mir auch, bis auf das NSA-Zielkreuz.

      Hmpf!

      Gruß Wolf


    • Re: JOB: Replay / Abspielen von Tracks mit OpenLayers · viw (Gast) · 04.11.2013 16:54 · [flux]

      Der Wolf ist einfach der Hammer. Der schüttelt solche Sachen immer irgendwie aus dem Ärmel.


    • Re: JOB: Replay / Abspielen von Tracks mit OpenLayers · stephan75 (Gast) · 04.11.2013 17:22 · [flux]

      Sieht alles sehr gut aus!

      Wo wir dann schon bei Animationen sind:

      Gibt es auf Basis von OSM-Kacheln so etwas, womit man z.B. einen Startpunkt und einen Zielpunkt definieren kann, und dann wird eine Art Film generiert, bei dessen Start vom Startpunkt in einem detaillierten Zoom eine ballistische Flugbahn der Kamera simuliert wird, welche also quasi heraus-zoomt und dann beim Zielpunkt wieder hereinzoomt?

      Also automtisch raus- und reinzommen mit gleichzeitiger Bewegung der Kamera vom Start zum Ziel?


    • Re: JOB: Replay / Abspielen von Tracks mit OpenLayers · tunnelbauer (Gast) · 04.11.2013 17:43 · [flux]

      stephan75 wrote:

      ...
      Also automtisch raus- und reinzommen mit gleichzeitiger Bewegung der Kamera vom Start zum Ziel?

      Sowas wie bei Bern?

      http://ol3js.org/en/master/examples/animation.html

      Edit: Gefunden unter: http://ol3js.org/en/master/examples/


    • Re: JOB: Replay / Abspielen von Tracks mit OpenLayers · Netzwolf (Gast) · 04.11.2013 19:27 · [flux]

      Nahmd,

      stephan75 wrote:

      Also automtisch raus- und reinzommen mit gleichzeitiger Bewegung der Kamera vom Start zum Ziel?

      Es ruckelt ein wenig.

      Gruß Wolf


    • Re: JOB: Replay / Abspielen von Tracks mit OpenLayers · humpataa (Gast) · 04.11.2013 19:35 · [flux]

      Hallo Wolf, mir bleibt die Spucke weg. Super. Das ist schon fast das, was ich brauche. :-)
      Mit Deiner Erlaubnis nehme ich das mal so und passe es meinen Bedürfnissen an.
      Mal sehen, ob ich das hinbekomme.


    • Re: JOB: Replay / Abspielen von Tracks mit OpenLayers · Netzwolf (Gast) · 04.11.2013 20:54 · [flux]

      Nahmd,

      humpataa wrote:

      Mit Deiner Erlaubnis nehme ich das mal so und passe es meinen Bedürfnissen an.
      Mal sehen, ob ich das hinbekomme.

      Gerne. Und bitte lies den dritten und letzten Absatz unter “Nutzung” auf dieser Seite und denke dabei an Deinen ersten Beitrag. 😛

      Gruß Wolf


    • Re: JOB: Replay / Abspielen von Tracks mit OpenLayers · MKnight (Gast) · 10.11.2013 23:59 · [flux]

      Netzwolf wrote:

      Minimalisiert klingt gut. (nur mit FF getestet)

      Ich hab das mal weiter minimalisiert und teilweise auch "maximalisiert".
      Maximalisierung: Geschwindigkeit und Pipifax anzeigen war mir wichtig, auch an der Aufbereitung bisschen Feintuninig betrieben. (Wenn ich viel Langeweile hab bau ich da noch statt Pegel Amaturen/Tachos per CSS rein (Alternativ mache ich die Skala ganz).)

      Minimalisierung: Mit GPSbabel bin ich zwar halbwegs klargekommen, aber die CSV-Lösung hat mir von Anfang an nicht gefallen - vor allem, wenn man sowas öfters machen möchte. Wozu brauch ich 2 Files mit identischen Daten?
      Daher habe ich mir von einem befreundeten (nicht-OSM-Kundigen-)Programmierer mal was zurechtstricken lassen, was nur auf den GPX-Track zugreift und im Ergebnis trotzdem das Selbe macht:
      http://www.mydanmark.de/osm/tracktracking/ (siehe Quellcode)
      Hier wird der Aufruf der CSV durch Code ersetzt, der das GPX in einen Array holt und dort zerbröselt. (Meine bescheidene Übersetzung der Arbeiten als JS-Dau 😉)
      klartext:

      OK, also der alte Code hat die CSV geparst und deren Werte in ein Array gepackt, das im Intervall verwertet wurde.
      Und mein Code macht eben das gleiche und befüllt das alte Array, nur nimmt er die Daten eben aus der XML.

      Zusätzlich wird noch die Zeitzone korrekt gesetzt, wenn sie im GPX nicht angepasst/angegeben ist.

      • Anmerkung: Das Script liest alles aus, was im GPX vorhanden ist. Wenn im GPX kein km/h enthalten ist, steht km/h in der Seite immer auf Null. Spät heute, aber wahrscheinlich werde ich irgendwann noch eine Prüfung auf leere (XML-)Tags einbauen (oder einbauen lassen) und bei NULL die entfernen.
      • Anmerkung: zum Umrechnen GPX vs CSV wird Jquery verwendet. Möglicherweise geht das auch irnkwie™ mittels OL, wenn jemand Anregungen diesbezüglich hat, die ein Nicht-OSM- und nicht OL-kundiger Programmierer versteht, wäre ganz schnafte auf "weiteren" Traffic verzichten zu können.
      • Anmerkung: Ich hab "mein" "Projekt" zwischenzeitlich mit einem 20MB fetten GPX (auf einem recht leistungsstarken Rechner und wirklich zukunftssicherer Bandbreite) getestet und da stellt sich raus, dass das JS am Anfang recht lang zu malen hat. (Nicht nur) ich hab da jetzt ne Weile dran rumgefrickelt und grad leider keine Ambitionen mehr einen Test mit der ursprünglichen GPX+CSV-Lösung zu machen um zu verifizieren ob das am Gerechne liegt oder ein generelles Problem ist.

      Vielleicht hat ja wer ne Idee dazu, ansonsten setz ich mich die Tage nochmal dran.

      • Anmerkung: ääh vergessen.

      paar technische Fragen noch dazu:

      • Gibt es eine Möglichkeit das GPX schneller abzuspielen OHNE das Auslesen der Punkte (pointindex) zu verringern?
      • pause, vorspulen, schnell/langsam etc. wäre eine recht nützliche Geschichte (wie man in meinem Beispieltrack sieht). Gibt es da einfache Lösungen?

    • Re: JOB: Replay / Abspielen von Tracks mit OpenLayers · MKnight (Gast) · 22.01.2014 18:43 · [flux]

      MKnight wrote:

      paar technische Fragen noch dazu:

      • Gibt es eine Möglichkeit das GPX schneller abzuspielen OHNE das Auslesen der Punkte (pointindex) zu verringern?
      • pause, vorspulen, schnell/langsam etc. wäre eine recht nützliche Geschichte (wie man in meinem Beispieltrack sieht). Gibt es da einfache Lösungen?

      Keiner ne Idee dazu?


    • Re: JOB: Replay / Abspielen von Tracks mit OpenLayers · maxbe (Gast) · 22.01.2014 19:03 · [flux]

      MKnight wrote:

      MKnight wrote:

      paar technische Fragen noch dazu:

      • Gibt es eine Möglichkeit das GPX schneller abzuspielen OHNE das Auslesen der Punkte (pointindex) zu verringern?
      • pause, vorspulen, schnell/langsam etc. wäre eine recht nützliche Geschichte (wie man in meinem Beispieltrack sieht). Gibt es da einfache Lösungen?

      Keiner ne Idee dazu?

      Die Pause zwischen zwei Aktualisierungen ist die 1000 in Zeile 149. Da 500 einsetzen und es geht doppelt so schnell, sofern der Rechner mitmacht mit Aktualisieren... Die Zahlen sind "Millisekunde Pause".

      Das mit Schnelllauftaste zu machen, müsste auch gehen. Rückwärts geht sicher auch (ein pointIndex-1 in Zeile 138 und danach noch Abprüfen auf <0). Aber das macht Arbeit: Oberfläche schön machen, Testen .... also schon "einfach", aber kostet Zeit.


    • Re: JOB: Replay / Abspielen von Tracks mit OpenLayers · MKnight (Gast) · 22.01.2014 20:04 · [flux]

      maxbe wrote:

      Die Pause zwischen zwei Aktualisierungen ist die 1000 in Zeile 149.

      Ah Klasse, danke.