Offline GPS-Map

  • Guten Tag liebe Community,

    wir haben folgendes Vorhaben:

    Es soll in einer eigenen GUI eine Map angezeigt werden in der die eigene und die Position anderer angezeigt wird.

    Das ganze sollte auf jeden Fall Offline geschehen.

    Die GPS Daten der anderen Teilnehmer erhalten wir per Funk und soll ca jede Sekunde aktualisiert werden.

    Nun ist unser Problem woher bekommen wir eine Offline-Karte, wie binden wir diese in unsere GUI ein und wie können wir die verschiedenen Teilnehmer (in unterschiedlichen Farben) auf dieser Karte anzeigen lassen?

    Bis dato haben wir die Möglichkeit gefunden per Navit und Open Street Maps Karten zu downloaden wissen aber leider noch in keinster weise wie wir diese in eine eigene Gui einfügen noch wie wir hier eigene GPS Daten auftragen können.

    Mit freundlichen Grüßen

    Sebastian

  • Hallo Sebastian,

    etwa recht Ähnliches habe ich mal in der Programmiersprache Icon geschrieben. Die GPS-Daten werden gesammelt und in der Landkarte zu diesem Gebiet eingetragen. Sobald die Koordinaten in den Bereich des 10%-igen Randbereiches gelangen, wird die Karte mitsamt allen bis dahin empfangenen Koordinaten neu skaliert. In dem angehängten Screen-Shot ist die Landkarte geschwärzt.

    Ob jetzt eine Quelle (ein einziger GPS-Stick) oder deren mehrere erfasst werden sollen, macht jetzt keinen bedeutenden Unterschied.

    Wenn mehrere GPS-Sender erfasst werden sollen, ist es kein Problem, jedem Sender seine eigene Farbmarkierung zuzuordnen, mit dem diese Koordinaten auf der Karte angezeigt werden sollen.

    Beste Grüße

    Andreas

    Bilder

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    2 Mal editiert, zuletzt von Andreas (30. Oktober 2017 um 20:19)

  • Keine blöde Frage. Ohne euer genaues Toolkit und evtl sogar ein bisschen Code zu kennen, kann man hier überhaupt nicht helfen.

    OpenStreetMap wäre hier btw auch mein Vorzug.

    Nochwas - woher kommen die GPS Daten? Sind das ein oder mehrere feststehende Koordinaten oder habt ihr ein GPS Modul am laufen? Wenn ja, welches und wie kommt ihr an die Daten? Was genau sind für euch überhaupt "GPS Daten"? Afaik kann man per GPS unter anderem Latitude, Longitude, Altitude, Uhrzeit wenn nicht sogar mehr erhalten.

  • Also linusg, du stellst immer Fragen...

    Ich glaube, dass nicht nur ich (genauer gesagt ich glaube, dass jeder hier außer dir) es ganz selbstverständlich so versteht, dass er Längen- und Breitangrad meint und die damit definierte, gemeinhin mit dem Begriff "Koordinaten" bezeichnete Position auf der Karte in "echtzeit" sichtbar machen will...

    Schau doch mal James Bond oder Mission Impossible... da machen die das ständig so.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • Hallo,

    erstmal Dankeschön für die schnellen Antworten. Ich möchte das ganze über Python programmieren. Meine GPS Daten sind reine Längen und Breitengrade. Diese erhalte ich von unterschiedlichen Positionen über Funk mitgeteilt. Da ich bis jetzt nur mit TKinter gearbeitet habe wurde ich dies bevorzugen. In der zwischen Zeit bin ich auf matplotlib und dem Modul basemap gestoßen. Doch leider weis ich bis jetzt nicht ob ich über matplotlip und OpenStreetMap arbeiten kann.

  • ...und das werde ich auch weiterhin tun :fies:

    Mag sein, dass du nur 2D-Karten kennst und nutzt. Ebenfalls gibt es aber auch dreidimensionale Karten, bei denen man dann die Höhe des Geländes sehen kann bzw des GPS-Empfängers. Die Infos im Eingangspost waren doch mehr als spärlich, da wird man ja wohl nach Klarstellung fragen dürfen.

    Viel Spaß dir noch, ich bin raus :)

  • Gibts hier irgendwo Preisnachlass für die reine Menge an Beiträgen - ungeachtet des Inhalts? Na, Hauptsache was gepostet - und immer mit einem Unterton, als sei der TO ein wenig post lunam.

    Zweidimensionale Karten sind wohl für dieses Forum zu profan. Na, da wär ich auch raus, wenn ich er wäre...

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • Gnom Das geht auch freundlicher.. Du hast hier mit einem gewissen "unterton" angefangen - also wunder dich bitte auch nicht wenns auch so zurück kommt.

    Da ich bis jetzt nur mit TKinter gearbeitet habe wurde ich dies bevorzugen. In der zwischen Zeit bin ich auf matplotlib und dem Modul basemap gestoßen. Doch leider weis ich bis jetzt nicht ob ich über matplotlip und OpenStreetMap arbeiten kann.

    Muss es unbedingt Tkinter sein?

    Eine Google Suche nach Python OpenStreetMap hast du wohl noch nicht probiert? :angel:

  • Auf welche Fläche dehnt sich denn das Ganze aus? Stadt/Region/Deutschland/ganze Welt. Per Funk - da nehme ich an, das ist ein kleinerer Bereich. Wenn es offline arbeiten soll, müsstest du die gesamte Fläche als einzelne Kacheln speichern (meines Wissens geht das auch von Google maps - ich weiß aber nicht mehr, wo ich den Beitrag dazu gelesen habe). Wenn du für jede Kachel die vier Eckkoordinaten speicherst, kannst du die passenden Kacheln anzeigen und die Position im Bild interpolieren.

    Musst du denn auch skalieren oder genügt dir eine Standardskalierung?

    Matplotlib klingt interessant - ich hab aber nirgends Detailansichten gesehen - immer nur Länderumrisse und Kontinente.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • Hallo,

    Kartendaten gibt's jede Menge in div. Formaten fei im Netz. Basiert alles auf OSM-Kartendaten.

    Einer der gängigsten Renderer ist Mapnik, dafür gibt es auch Python-Bindings. Kartenausschnitte als PNG rendern ist wohl auch nicht so schwierig. Punkte kann wohl auch hinzufügen. Allerdings habe ich bei meiner gerade geführten kurzen Recherche nicht verstanden, wie...

    Zitat

    Muss es unbedingt Tkinter sein?

    Halte ich auch für suboptimal. Ein leistungsfähigeres Framework wie Qt (oder GTK) wäre IMHO besser. Oder in HTML+CSS+JS bzw. node.js umsetzen :)

    So ganz trivial ist das ganze aber nicht...

    Gruß, noisefloor

  • Nun ja, owntracks ist mitnichten nur eine App für Android und IOS. Wenn Du mal auf Github schaust wirst Du vielleicht sehen, dass dort u.a. Visualisierungen thematisiert werden. Ebenso werden Möglichkeiten für die ´Verdatenbankung' gezeigt (hint: offline Verarbeitung u. Bewegungshistorie). Und aus meiner Sicht besonders charmant der Datentransport via mqtt (message queue mit all ihren Vorteilen).

    Wie gesagt soll das nur als Inspiration dienen. Man muss auch mal den Blick heben :)

    LG

    Leroy

    Optimismus ist nur ein Mangel an Informationen?

  • Hallo zusammen,

    in der zwischenzeit bin ich auf smopy gestoßen. An sich ein sehr simples Tool um Kartenauschnitte von einem OSM Tileserver zu bekommen. Jetzt war meine überlegung einen eigenen kleinen tileserver auf dem pi zu installieren und über smopy mir die Karte und Positionen anzeigen zu lassen. Doch ich habe festgestellt das das ganzschön lange dauert bis ich ein Bild der Karte zurückbekomme. Damit bekomme ich dann wohl kein Live Tracking hin. Ich werde mcih mal in owmtracks einlesen und vielleicht hat Leroy recht und mir kommen neue Ideen wie ich das lösen kann.

    mfg

  • smopy ist der 3.Treffer besagter Google Suche aus Beitrag#10. Es gibt aber noch viel mehr Möglichkeiten.

    Dein allgemeines Problem ist dass du unbedingt Tkinter und statische Bilddateien verwenden willst... Auf die Weise wirst du aber nie irgend etwas "live" mäßiges umsetzen können.

    Hast du dir zum Beispiel schon mal das angeguckt:

    => http://wiki.openstreetmap.org/wiki/Openlayers_Track_example

    => https://github.com/python-visualization/folium

    => https://github.com/bmwcarit/barefoot

    => https://blog.unixweb.de/live-tracking-…m-raspberry-pi/

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!