Eigener OSM Server mit GPS Tracking Anzeige

Hallo zusammen,

mir schwirrt seit ein paar Wochen eine fixe Idee im Kopf herum und heute bin ich auf dieses Forum gestossen und hab mich direkt mal angemeldet um euch nach eurer Meinung zu fragen und da ich noch nicht so fit bin in allem was mit OSM zu tun hat, werde ich sicher eure Hilfe benötigen.

Kurz zu mir. Mein Name ist Johannes und ich bin von Berufswegen viel im IT Hardware Bereich unterwegs. Allerdings schreckt mich weder ein Windows noch ein Linux und auch mit diversen Softwareapplikationen und sogar mit ein bissche Programmierung komm ich ganz gut zurecht. Ich habe mein Hobby zwar zum Beruf gemacht, allerdings bin ich dann ab und an auch mal gerne draussen und geh einfach nur mit dem Hund Gassi oder tue etwas Handwerkliches… Soweit erst einmal hierzu, wer mehr wissen will muss fragen…:lol:

Nun zu meiner Idee. Wie gesagt es ist eine fixe Idee und es geht hier mehr um die reine technische Umsetzung und den Spass am basteln als am wirklichen praktischen Nutzen. Ich will auf diesem Weg einfach ein bisschen was über die Thematik lernen…
Da ich eigentlich immer mein Smartphone dabei habe und dieses mit der App “Tasker” bestückt ist, kam ich auf die Idee eine Art GPS Tracking zu bauen. Ich wollte wissen wo ich an einem bestimmten Tag gewesen bin und eventuell bestimmte Auswertungen fahren. Beispielsweise wie weit bin ich gefahren oder gelaufen etc…
Also hab ich Tasker so eingerichtet das alle 5 Minuten die GPS Koordinaten in ein Textdatei geschrieben werden inkl. Datum und Uhrzeit. Das hat schon recht gut funktioniert nur haperte es da ein bisschen an der Auswertung.
Dann bin ich auf die Idee gekommen mir das ganze in Google Maps anzeigen zu lassen. Die Idee hab ich recht schnell wieder verworfen, da ich ein bisschen paranoid bin und ich nicht gerne meine Daten an Dritte weitergebe. Insbesondere nicht solche Daten wo ich mich gerade aufhalte…

Deshalb kam ich auf die Idee das ganze mit OpenSource Lösungen nachzubauen und so kam ich ganz schnell zu OSM. Einmal Blut geleckt wollte ich natürlich noch mehr und dachte mir, dann kannst du das ganze ja gleich selbst hosten.

Ich stelle mir das in etwa so vor, mein Handy sendet regelmässig seine Position (und somit meine) an eine von mir gehostete Datenbank und über eine Webgui kann ich entweder meinen aktuellen Standort oder eine zurückgelegte Strecke in einem bestimmten Zeitraum anzeigen lassen. Und das halt alles auf meinen eigenen Servern.

Problem an der Sache ist, ich hab noch keine so rechte Idee wie ich die GPS Koordinaten in die Datenbank bekomme (ich denke hier werde ich was Programmieren müssen) und auch wie ich die Auswertung richtig umsetze hab ich noch keinen Plan. Im Netz gibt es ja recht viele Anleitungen wie man sich seinen eigenen Tile Server aufsetzt und dann auch wie man Adressen anhand von Koordinaten herausfindet und umgekehrt.
Aber wie man bestimmte Koordinaten auf einer Karte anzeigt oder gar einen Track daraus generiert hab ich noch nicht gefunden.

Mich würde in jedem Fall mal interessieren was ihr so von meiner Idee haltet und wie ihr das so umsetzen würdet. Wie gesagt ist mehr ein Spassprojekt und hat eher keinen vernüftigen Hintergrund. Aber vielleicht kann der ein oder andere das doch gebrauchen!

Vielen Dank

Joe

Für diese Aufgabe gibt es etliche Apps, die die GPS-Daten aufzeichnen (tracks loggen), und zwar am besten im gpx-Format. Das können praktische alle Geo-Programme verarbeiten und das kann auch zu OSM hochgeladen oder lokal zu Karten eingelesen werden. Ist dann zwar nicht Echtzeit auf dem Server, aber das will man sich in der Regel auch erst nachher in Ruhe ansehen. Auf dem Smartphone sieht man den Track aber in Echtzeit.
Die Trackpunkte liegen üblicherweise eher im Sekunden- als im Minutenabstand, aber kondensieren kann man die Daten hinterherher immer noch problemlos.

Die Idee ist alles andere als neu. Frueher gabs z.B. mal Google latitude das diese Funktion beinhaltete.
Google-suchbegriff waere v.a. “live tracking”.
opengts scheint z.B. eine Software dafuer zu sein, aber mit Erfahrungen kann ich leider nicht dienen.
Duerfte auch nicht allzu schwer sein sowas selbst zu bauen (wenns nur einen User koennen soll).

Nur als Tipps für die Anzeige: Leaflet ist eine der Bibliotheken, die gerne für die Darstellung im Browser verwendet werden.
Leaflet kann sehr einfach Marker an konkrete Positionen setzen, einfach mit dem Aufruf

L.marker([51.5, -0.09]).addTo(map);

.

Und wenn man dann noch die SPOT Api für Leaflet nutzt, schaut es aus wie hier: http://blog.thematicmapping.org/2014/06/real-time-tracking-with-spot-and-leafet.html

Eigentlich recht einfach.

Um Deine Position in eine DB zu schreiben reicht eine URL mit einem PUT Aufruf und ein wenig PHP-Programmierung (zumindest wenn Du keinen Zugriffsschutz brauchst).

Für die Anzeige gibt es wie schon erwähnt Leaflet, schau Dir einfach die Beispiele für das Anzeigen von POIs aus einer Datenbank an.

bye, Nop

Hallo zusammen,

wow keine 24 Stunden alt und schon 5 Antworten. Ich bin schwer begeistert. Vielen Dank schon einmal für eure Hilfe…:smiley:

Ich hab mir tatsächlich schon einmal diverse Tools aus dem Playstore angesehen allerdings war da irgendwie nicht das richtige dabei. Für mich sollte es möglichst OpenSource sein und halt die Koordinaten in eine Datenbank speichern. Ich denke mir halt das ich bei einer SQL Datenbank flexibler bin was die Datenauswertung und Weiterverarbeitung angeht. Bin da aber gerne für Anregungen und neue Denkanstöße dankbar.
Ich hatte halt Tasker genommen weil es mir die Möglichkeit bot die Funktion recht schnell umzusetzen (und ich hatte es eh auf dem Handy). Außerdem suche ich ja nach einer Möglichkeit die Koordinaten in Echtzeit oder wenigstens mit kleiner Verzögerung automatisch mit der Datenbank zu synchronisieren. Vielleicht kannst du mir ja mal ein paar von den Apps nennen die du meinst, kann ja sein das ich nach dem falschen suche…:stuck_out_tongue:

Mir ist durchaus klar das die Idee selbst nicht ganz neu ist, aber ich glaube die Umsetzung wie ich sie vorhabe schon. Außerdem soll es ja bei dem Projekt auch mehr um den Spass an der Sache gehen. Wenn ich das produktiv benötigen würde wäre ich sicherlich mit einem kommerziellen Produkt besser bedient (von meiner Paranoia mal abgesehen :-))…
opengts hab ich mir schon vor ein paar Wochen einmal angesehen, allerdings hab ich aus einem Grund, der mir leider wieder entfallen ist, wieder verworfen. Ich glaub ich schau mir das noch einmal an:lol:

Vielen Dank für den Tipp. Ich bin schon einmal über deren Seite gestolpert, war mir aber nicht sicher ob es etwas für mich ist. Auch hier werd ich mich mal ein wenig schlauer machen und vielleicht einen Testserver aufsetzen…

Auch hier vielen Dank für den Tipp, die Seite kannte ich noch gar nicht. Kannst du mir das vielleicht noch ein bisschen näher erläutern. Ich werd selbstverständlich auch noch den Blogeintrag lesen…:wink:

Auch dir herzlichen Dank für den Tipp. Ich werd mich da mal einlesen. Hättest du da vielleicht ein paar passende Links parat??? Allerdings sollte ich das schon ein wenig absichern, auch wenn mein derzeitiger Plan einen VPN Tunnel zum SQL Server vorsieht. Man weiß ja nie,…:cool:

Wie gesagt ich freu mich über eure Anregungen, als schön immer her mit den Ideen. Mal sehen ob ich was daraus basteln kann

Gruß

Joe

Du kannst dir auch gerne mal owntracks anschauen. Das ist recht modular und eher ein Framework, da kannst du bestimmt viel recyclen. Es basiert auf MQTT, also einem einfachen publish-subscribe System, auf dem dann key-value-Nachrichten aufsetzen. Bei owntracks wurden dann Nachrichten und Objekte definiert, welche tracker, positionen etc. modellieren. Visualisierung mit einer OSM-Karte und ggF. processing kann man dann ja beliebig integrieren :slight_smile:

Die ursprüngliche Idee geht mehr in Richtung Latitude, mein Vorschlag ist halt eine Nummer kleiner, aber dafür schnell umsetzbar.
Ich nutze Kartenanzeigeprogramme wie Locus Free und OruxMaps, die alle eine Tracking-Fähigkeit haben. Selbst Editoren wie Vespucci können das.
Die Nachbearbeitung mache ich auf dem PC mit GPS-Track-Analyse.NET, aber gpx kann z.B. auch JOSM.
Tracks sind halt viel höher aufgelöst und Speicherplatz ist auf dem Smartphone für diesen Zweck kein Problem mehr.
Selber bauen ist natürlich am flexibelsten, frei nach Churchill: Ich vertraue nur den Programmen, die ich selbst gefälscht habe :wink:

Hallo Joe,

könnte für dein Ziel vielleicht auch http://miataru.com interessant sein?

Google Latitude gibt es zwar nicht mehr, es gibt aber noch einen Standortverlauf. Das ist auch ziemlich gut umgesetzt.
Nachteil ist nur, dass der Standortverlauf nur aufgezeichnet wird, wenn das Handy eine Internetverbindung hat. Daher kann ich meist meine Auslandsaufenthalte nicht sehen.

Zu deinem Projekt:
Eigentlich brauchst du nicht mehr, als ein Handy was regelmäßig eine URL-Aufruft und ein PHP+mySQL-Server.
Ein einfaches PHP-Skript schreibt dann einfach die Koordinaten in die mySQL-Datenbank. Zur Darstellung machst du einfach eine Website wo du wieder mit PHP die Daten ausliest und mit Leaflet darstellst. Also so wie Nop das auch schon vorgeschlagen hat. Einen eigenen Tileserver brauchst du dafür nicht.