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

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

Ich habe es nie probiert. Mit einer externen SD-Card (die man direkt am PC anhängen kann) sollte man das am PC eigentlich machen können. Bei festeingebautem Speicher - wie z.b. beim Galaxy Nexus - sieht’s wohl wieder anders aus: da könnte es vielleicht per Terminal Emulator gehen.
Wenn ich Zeit finde, teste ich heute Abend beides mal aus: für HTC Desire Z am PC und für das Nexus per Terminal Emulator.

/dev/sdc on /media/disk-2 type vfat (rw,nosuid,nodev,uhelper=hal,uid=1000,utf8,shortname=mixed,flush)
/dev/sdb on /media/disk-3 type vfat (rw,nosuid,nodev,uhelper=hal,uid=1000,utf8,shortname=mixed,flush)

Geht gerade nicht, da ich hier an der Windows-Kiste sitze :frowning:
Habe aber einen anderen weg zum umbenennen mit http://www.chip.de/downloads/Ant-Renamer-Portable_46354099.html gefunden.

Locus hat sich übrigens gerade auch aus dem Rennen geworfen, da offline-routing ohne Internet nicht geht. Und für reines Tracken ist das die Kanone für Spatzen.

Werde wohl mit Osmand als offline-map beim rumlaufen in Irland weitermachen. Wenn mir da was in Osm fehlendes auffällt, kann ich in Irland ja immer noch ohne map im Hintergrund mit OSM-Tracker “blind” tracks und points erfassen. Kein schönes workaround, aber was macht man nicht alles für die community :wink:

P.S.: Für Auto-Navigation nehme ich in Irland Navigator free. Da hatte ich mir schon unter WM 6.5 Routen vorbereitet. Die Android-beta läuft übrigens schon recht stabil.

Also FAT32 und das kennt keine Dateirechte. :wink:

hoppla… stimmt ja. fat32 kennt keine Dateirechte. Mist.