Mapsforge-writer-Plugin in Osmosis v0.42+ einbauen [gelöst]

Hallo Leute,

heute wollte ich mir in Osmosis v0.43.1 unter Windows das Mapsforge-writer-plugin einbauen, um aus meinen osm-Dateien auch mal eigene map-Dateien basteln zu können, z.B. für mein Android Handy (Locus). Leider bin ich kläglich gescheitert. Mit dieser schönen Anleitung komme ich leider nicht weiter. Entweder meint Osmosis, dass Plugin wäre gar nicht installiert, obwohl ich es an allen möglichen Stellen ausprobiert habe, oder es gibt mir die Fehlermeldung aus, dass etwas mit dem jpf-Plugin nicht stimmen würde. Aber was soll da fehlen oder falsch sein, so wie ich das sehe, hat sich die jpf-1.5.jar - Datei über die Osmosis-Versionen nicht verändert?

Hat dies jemand am laufen oder kennt ihr noch andere Möglichkeiten osm- bzw. pbf-Dateien zu map-Dateien zu konvertieren? Natürlich würde ich auch gerne bei Osmosis bleiben, weil ich es schon für andere Dinge regelmäßig einsetze. Ich danke für jeden sachdienlichen Hinweis :wink:

Klar, osmosis ist für mich auch die allererste Wahl.
Ich hatte mal versucht, ein Plugin zu installieren, bin dabei aber kläglich gescheitert. Später hab ich erfahren, dass es extreme Release-Abhängigkeiten gibt. D.h. nicht jedes Plugin passt zu dem aktuellen Osmosis.

frag doch mal hier nach: http://forum.openstreetmap.org/viewforum.php?id=13
oder noch besser: http://gis.19327.n5.nabble.com/Osmosis-Development-f5338089.html hier ist das Anmelden aber etwas schwierig.

gruss
walter

Du solltest (zunächst) die auf der Mapsforge-Seite angegebenen Osmosis-Version verwenden. Erst wenn das läuft würde ich aktuellere Osmosis-Versionen verproben. Hatte Walter ja aber schon geschrieben …

Gruß Klaus

Vielen Dank für die Hinweise, es funktioniert mit osmosis v0.40.1 vom 7.12.2011, genau so wie es auch in der Anleitung steht (wer lesen kann ist klar im Vorteil ;-). Ich habe im Osmosis-Verzeichnis einen Unterordner namens plugins erstellt und dort hinein die mapsforge-map-writer-0.3.0-jar-with-dependencies.jar kopiert, und Osmosis aus dessen Stammverzeichnis wie folgt aufgerufen:
bin\osmosis --rx C:\meine_Karte.osm --mw file=C:\meine_Karte.map bbox=52.0,12.0,53.0,13.0

Da Osmosis dann noch zu wenig Speicher von Java zugeteilt bekommen hat, und deshalb bei großen Kartenbereichen abbrach, habe ich händisch in der Osmosis.bat in der vorletzten Zeile noch die Speichergröße (Heap) wie folgt erhöht.

original:
SET EXEC=%JAVACMD% %JAVACMD_OPTIONS% …

angepaßt für die 64-Bit-Version von Java:
*SET EXEC=%JAVACMD% -Xmx10600M -XX:+UseCompressedOops %JAVACMD_OPTIONS% … *

Übrigens, die Osmosis-Version 0.42 scheint schon nicht mehr zu gehen, denn diese bricht mit der gleichen Befehlszeile (wie oben) wie folgt ab:

org.openstreetmap.osmosis.core.Osmosis run
INFO: Pipeline executing, waiting for completion.
org.openstreetmap.osmosis.core.pipeline.common.ActiveTaskManager waitForCompletion
SEVERE: Thread for task 1-rx failed
java.lang.AbstractMethodError: org.mapsforge.map.writer.osmosis.MapFileWriterTask.initialize(Ljava/util/Map;)V
        at org.openstreetmap.osmosis.xml.v0_6.XmlReader.run(XmlReader.java:95)
        at java.lang.Thread.run(Unknown Source)

org.openstreetmap.osmosis.core.Osmosis main
SEVERE: Execution aborted.

Also irgendwas am “xml v0.6 Reader” scheint den mapsforge-writer da zu stören. Da wurde doch irgendwann mal was bei Osmosis von standardmäßig xml v0.5 auf v0.6 (OSM-Api) umgestellt? Da meine Daten aber im 0.6’er Format vorliegen, macht diese Fehlermeldung irgendwie keinen Sinn.

Einzig eine Frage stellt sich mir bei der Verwendung von Osmosis v0.40.1, konnte diese Version schon mit großen 64-Bit ID’s von Nodes, Ways, etc. bei OSM umgehen? Ansonsten nützt es mir ja nichts, wenn es derartige Elemente in den OSM-Dateien verhackstückt. Wenn dies geklärt wäre, dann würde es sich auch lohnen, sich mal mit der xml-Datei näher zu beschäftigen.

Ich hab’ gerade das hier gelesen:

Na das wars dann wohl für das mapsforge-plugin, welches nur mit Osmosis bis v0.40.1 funktioniert, es sei denn es kommt ein Update. Gibts aktuell noch andere Möglichkeiten, um osm-Dateien nach map zu konvertieren, bei dem man aber auch angeben kann, welche OSM-Elemente (ways, nodes) mit konvertiert werden?

Du kannst “osmfilter” vorschalten …

Gruß Klaus

Es ist doch ganz einfach, es gibt eine neue Version des mapsforge-map-writers und die arbeitet vorzüglich mit osmosis v0.42 zusammen, dazu einfach die Datei mapsforge-map-writer-0.3.1-SNAPSHOT-jar-with-dependencies.jar in den plugins-Ordner von Osmosis laden … . Nur schade, dass davon hier nichts steht, so dachte ich tagelang v0.3.0 sei die aktuellste Version. Die Lösung zu meinem Problem fand ich übrigens hier. Mit Osmosis v0.43.1 scheint es übrigens (noch) nicht zusammenzuarbeiten, aber das ist nicht so schlimm, Hauptsache 64-Bit IDs :wink:

Hallo,

ich habe ein ähnliches Problem. Ich möchte mit dem mapsforge-writer und Osmosis 0.2.4 Karten erzeugen. Die brauche ich für ein altes Android 1.6. Mit dem mapsforge-mapfile-writer-0.2.4 und Osmosis 0.40 geht das. Kann ich irgendeine Kombination benutzen, die ein neueres Osmosis erlaubt?

Gruß Svgt

-snip-

@svgt: wie oben schon von mir geschrieben, arbeiten meiner Meinung nach die offiziellen Versionen des mapsforge-mapfile-writers nur bis max. Osmosis v0.40 zusammen. Nach meinem Kenntnisstand vom Mai 2013 funktioniert nur die mapsforge-map-writer-0.3.1-SNAPSHOT-jar-with-dependencies.jar mit osmosis v0.42. Was willst Du da noch kombinieren? Sollte sich seit dem etwas getan haben, bin ich gern für neue Informationen offen. Ich war schon froh überhaupt eine Variante mit osmosis v0.42 oder höher gefunden zu haben.

@fireball2: dass diese beiden Programm-Versionen zusammenarbeiten, glaube ich einfach. Aber ob diese Version vom mapsforge-mapfile-writer Karten vom Typ 0.2.4 erzeugen kann, würde ich gerne wissen.

Da hab ich keine Ahnung, aber warum probierst Du es nicht einfach aus? :P.
In der Wiki konnte ich dazu keinen separaten Schalter finden, um das binary-Format in der Version v2.0 auszugeben. Lediglich im Changelog zur Version 0.3.0 steht etwas von implements new binary format version 3. Daher gehe ich mal davon aus, dass alle Versionen 0.2.x die map-Datei in der alten Version 2 anlegen und ab 0.3.x in der Version 3. Allerdings ist das lediglich eine tollkühne Vermutung und kann daher mit dieser Aussage voll daneben liegen. Probieren geht bekanntlich über studieren … .

@fireball2: Woher kann ich mir die funktionierende mapsforge-map-writer-0.3.1-SNAPSHOT-jar-with-dependencies.jar herunterladen? Mit Deinem Link komme ich nicht weiter, weil das wohl über mehrere Stufen geht.

v0.3.1 konnte ich auf dieser Seite auch nicht mehr finden, aber den Nachfolger v0.4.0, vielleicht läuft dieser nun auch mit der aktuellen OSMOSIS-Version? Es wäre schön, wenn Du diesbezüglich mal Bericht erstatten könntest.