OSM-Tracker (Android) mit Offline-Maps; gelöst

Nach Umstieg von WM 6.5 auf Android suche ich mir schon den Wolf, um den OSM-Tracker mit Offline-Karten im Hintergrund verwenden zu können. Leider bisher erfolglos :frowning:
Hintergrund ist mein Irland-Trip Ende Mai, wo ich dann bei Bedarf POI’s usw. mappen will, wozu ich aber wegen fehlender Flatrate mit dem online-Kartenmaterial wenig anfangen kann. Denkbar wäre das Tasken mit einem entsprechenden Viewer, ist aber nicht sehr effektiv. Andere Tracker sind keine wirkliche Alternative, weil ich die shortcuts für maxspeed usw. nicht habe.

Wer weiß Rat und kann helfen?

Kennst du schon gpsmid?
Seit neustem haben die auch eine Android-App, die ich allerdings mangels Hardware nicht getestet hab: http://gpsmid.sourceforge.net/index.html

Viel Erfolg!

PS: Vielleicht hier mal gucken beim Samsung Galaxy II, da steht, wie der Kerl es installiert hatte: http://sourceforge.net/projects/gpsmid/forums/forum/687588

hallo michael,

direkt weiterhelfen kann ich dir leider nicht, höchstens eine alternative aufzeigen…

früher habe ich auch fast ausschließlich mit dem osm-tracker gemappt, vor allem da ich während dem radfahren eine voice-note aufspechen u. dann später in josm direkt abspielen kann…

mittlerweile benötige ich kaum noch eine anzeige und nutze einen reinen logger. handy habe ich eh immer dabei u. knipse nun einfach details wie wegbeschaffenheit, schilder, landflächen, poi’s…
wieder zuhause verknüpfe ich die pics mit dem aufgezeichneten track (z.b. mit gta oder bt747) und sehe auf der karte, wo ich sie aufgenommen hatte. unterm strich geht das sogar wesentlich schneller
als “buttons” zu drücken u. schöne reise-bilder hat man noch dazu! :wink:

grüße,
georg (tshikey)

hurdygurdyman…
OSMTracker für Android benötigt eigentlich eine aktive Datenverbindung, um OSM Hintergrund anzuzeigen. Aber man kann es leicht umgehen:

  1. Tiles abspeichern unter: sdcard/osmdroid/tiles/Mapnik
  2. in “OSMTracker für Android” in den Einstellungen “OSM Hintergrund” aktivieren (benötigt eigentlich eine aktive Datenverbindung)
  3. in den Android-Einstellungen “Daten über Mobilfunknetz aktivieren” deaktivieren.

So sollte es eigentlich gehen, dass man den OSM Hintergrund offline hat.

Ergänzend dazu muss ich sagen, man kann keine Tiles offline herunterladen und einfach ins Verzeichnis hineinkopieren, das funktioniert ohne Datenverbindung irgendwie nicht. Man kann jedoch zuhause die Tiles über eine Datenverbindung in den Cache laden, wenn man im jeweiligen Zoomlevel die Karte einfach durch die gewünschte Gegend herumbewegt. Dann sind die Tiles auch sichtbar, wenn man keine Datenverbindung hat.

Zuerst mal auch poppei82 und Tshikey ein Dank für eure Vorschläge. Meinen Wünschen und Vorstellungen entspricht allerdings der von efred am ehesten. Dann suche ich mir mal eine resourcenschonende mapnik-tiles Quelle und teste. Ich gehe mal davon aus, dass “sdcard/osmdroid/tiles/Mapnik” der pfad für evtl. online schon heruntergeladene tiles ist. Somit wäre das Vorgehen logisch. Hoffentlich überfluten die tiles meine sdcard nicht.
Plan B wären dan die anderen tips.

Genau so habe ich mir das auch vorgestellt. :slight_smile:
Hast du das schon praktisch ausprobiert?

Hm, das liegt evtl. daran, dass die Tiles in der Form /sdcard/osmdroid/tiles/Mapnik/{zoom}/{x}/{y}.png**.tile** vorliegen müssen (also mit angehängtem “.tile”, ob es auch ohne geht, werde ich ausprobieren), so werden diese bei mir jedenfalls in dem Verzeichnis abgelegt.

Im Zweifel kannst du dir die Tiles auch auf deinem Rechner erstellen.

Ja, beachte auch meinen Hinweis mit dem angehängten “.tile”.

Gruß,
Mondschein

jepp, richtig.

ja, habe ich schon so gemacht (ist aber schon etwas länger her). Habe die Tiles aber damals nicht selber gerendert, sondern einen bestimmten Bereich mit MOBhusthust heruntergeladen…

Genau, so ist es. Die Tiles müssen alle die Endung *.png.tile haben

… ob “resourcenschonend” kann ich leider nicht beurteilen, doch hier mal 2 möglichkeiten für png-liles von mapnik:

http://wiki.openstreetmap.org/wiki/JTileDownloader (lädt kacheln in einstellbaren zoomstufen um einen definierten ausgangspunkt mit entspr. radius - 10km um…“permalink”)

http://www.amberhome.de/pdatilemanager.html (lädt mapnik-kacheln entlang eines wählbaren weges / tracks mit einstellbarem radius / abstand zu diesem weg)

vielleicht schon bekannt, ansonsten evtl. hilfreich…

grüße,
georg

Die “Tiles” habe ich lokal mit Maperitive erstellt, mit einem Skript “.png” in “.png.tile” geändert und per USB auf die interne SD-Karte kopiert. Hat funktioniert. Jedoch im Einsatz verschwanden die “Tiles” nach etwa einer Stunde immer wieder. Die Unterverzeichnisse waren noch vorhanden, die “Tiles” waren komplett gelöscht. Nach der Ursache habe ich nicht geforscht und OSMtracker mit lokalem Hintergrund nicht weiter verfolgt, da das Erstellen und Kopieren der “Tiles” bereits bei kleinen Gebieten eh sehr speicher- und zeitaufwendig war.

Echt? ob die Tiles verschwinden, kann ich nicht beurteilen. Ich habe drum immer nur kleine Bereiche offline heruntergeladen und bin glaubs nie auf über eine Stunde Tracking gekommen. Ich teste das aber bei Gelegenheit mal.

vielleicht den Quellcode von OSMTracker für Android anschauen, ob man irgendwo die “Tiles aktualisieren” deaktivieren könnte. Und dann selber eine apk erstellen. So könnte man es vielleicht bewerkstelligen, dass die tiles nicht gelöscht werden.

Habe es jetzt ausprobiert, geht nicht ohne “.tile”.
Hier steht übrigens warum das so ist:

Quelle: http://code.google.com/p/osmdroid/source/browse/trunk/osmdroid-android/src/main/java/org/osmdroid/tileprovider/constants/OpenStreetMapTileProviderConstants.java

Unter GNU/Linux z.B. so:

for i in Mapnik/*/*/*.png; do mv "$i" "$i.tile"; done

:slight_smile:

Hm, bei osmdroid scheinen Tiles ein Verfallsdatum zu haben, siehe z.B. TILE_EXPIRY_TIME_MILLISECONDS und DEFAULT_MAXIMUM_CACHED_FILE_AGE:
http://code.google.com/p/osmdroid/source/browse/trunk/osmdroid-android/src/main/java/org/osmdroid/tileprovider/constants/OpenStreetMapTileProviderConstants.java
Aber das Löschen von Tiles, bevor neue Tiles vorhanden sind, ist ein etwas seltsames Verhalten.

Ja, da müsste man den Quellcode anpassen.
Ich frage mich gerade, ob man dazu zwingend die osmdroid-Bibliothek anpassen muss oder ob das Verfallsdatum direkt hier in der Datei DisplayTrackMap.java (von OSMtracker) überschrieben werden kann:
https://github.com/nguillaumin/osmtracker-android/blob/f6c5cd3de10e483c037b441e1472888b824588f0/src/me/guillaumin/android/osmtracker/activity/DisplayTrackMap.java
Was meinst du?

Gruß,
Mondschein

Ich verstehe nicht, wieso ihr es so kompliziert macht. :wink: Gpsmid kann doch alles: tracken, waypoints, navigation usw. und gibts für Android… so nun bin ich ruhig. :wink:

hmmm… meiner meinung nach müsste man das in osmdroid anpassen.

aber ich frage mich gerade, was passieren würde, wenn man dem tiles-verzeichnis das schreibrecht (ändern, löschen) entziehen würde und man somit nur noch ein lese-recht hat (chmod 444) - natürlich erst nachdem man die tiles abgespeichert hat.
rein theoretisch sollte das gehen, und dann müsste man auch nichs im quelltext ändern - und es kann auch nichts gelöscht werden…

Auf deinen Kommentar hin habe ich mir den NightlyBuild heruntergeladen und auch eine Karte als Jar (???). Ich konnte jedoch die Karte nicht einrichten. Dann ist es mir mehrmals schon nach kurzer Zeit abgestürzt. Und als ich es am Schluss über das “Zurück”-Icon beenden wollte, ging das nicht.

Ich habe darauf hin etwas auf der Webseite herumgeschaut, da ist aber praktisch überhaupt keine Informationen. Auch habe ich keinen Hinweis über die Android-Sourcen, resp. wie man das Ding übersetzt und was es alles dazu braucht, gefunden. Auf eine Anfrage in einem Forum habe ich daraufhin verzichtet. Zum unter Android zu benutzen ist es definitiv noch viel zu früh.

Oh, da haben wir aber nicht richtig geguckt :wink:
http://sourceforge.net/apps/mediawiki/gpsmid/index.php?title=Compiling

Vielleicht. Nachdem ich gelesen hatte, das J2MEPolish eine Vorausetzung ist, habe ich aufgehört hinzugucken.

Habe GPSmid auch installiert und Karten runtergeladen. Bin immer in der Konfiguration hängengeblieben und hatte dauernde Abstürze. ist alles noch viel zu buggy. Werde es wieder runterwerfen.

Gut und stabil läuft osmand. Die gpx-Aufzeichnung ist möglich, aber umständlich in der Menüführung. POI’s soll man auch ins gpx einfügen können. Da muss ich noch etwas experimentieren.

OSM-Tracker erscheint mir für meinen Irlandtrip nach allem was ich hier gelesen habe doch etwas umständlich für offline-maps. Aber für das Mappen im Umkreis meiner Heimat werde ich mal die mit pdatilemanager geladenen tiles umbenennen und testen. Das Umbenennen unter linux in einem Rutsch geht aber wohl nur als root, da ich unter Ubuntu 11.10 auf mein Galxy s+ ohne root nur Lesezugriff bekomme. Die Idee von efred mit dem Schreibschutz werde ich auch mal testen.

Locus werde ich auch noch probieren.

So far until now…

Ok, wird gemacht. :wink:
Oder evtl. gleich Mapsforge einbauen?

Hm, fragt sich nur, wie man die Rechte setzen kann.
Ich glaube fast, dass das nicht möglich ist, zumindest bei mir.

Ich auch.

Bei mir geht das auch als normaler Benutzer.
Könntest du bitte “df -T” eingeben, nachdem du dein Android gemountet hast und dann unter “Typ” nachsehen, welches Dateisystem dort angezeigt wird?

Gruß,
Mondschein