Osmosis und Plugin Mapfile-Writer richtig kombinieren

Hallo,

ich möchte mal schnell eine Landkarte .map erzeugen aus einer osm.pbf Datei. Dies gelingt mir nicht, weil ich keinen passenden Mapfile-Writer-Plugin habe.

Ich benutze Osmosis 0.40, kann auch auf 0.40.1+ds1-7 umsteigen. Das ganze in einem LinuxMint 17 64bit.

Ich möchte die Landkarten in einem Android 2.3.6 benutzen.

Wo finde ich einen passenden Mapfile-Writer zum downloaden?

Gruß svgt

Du findest den MapWriter (0.40) hier: https://code.google.com/p/mapsforge/wiki/GettingStartedMapWriter und benötigst osmosis 0.43. Ob das PlugIn noch mit der osmosis Version 0.40 funktioniert kommt auf einen Versuch an … vermutlich nicht.

Gruß Klaus

hans@hans-ESPRIMO-E /home $ ~/osmosis-0.43.1/bin/osmosis -plugin org.mapsforge.preprocessing.map.osmosis.MapFilePluginLoader
Okt 22, 2014 7:31:04 PM org.openstreetmap.osmosis.core.Osmosis run
INFORMATION: Osmosis Version 0.43.1
Okt 22, 2014 7:31:04 PM org.openstreetmap.osmosis.core.Osmosis main
SCHWERWIEGEND: Execution aborted.
org.openstreetmap.osmosis.core.OsmosisRuntimeException: Unable to load plugin class (org.mapsforge.preprocessing.map.osmosis.MapFilePluginLoader).
	at org.openstreetmap.osmosis.core.TaskRegistrar.loadPluginClass(TaskRegistrar.java:334)
	at org.openstreetmap.osmosis.core.TaskRegistrar.loadPlugin(TaskRegistrar.java:313)
	at org.openstreetmap.osmosis.core.TaskRegistrar.initialize(TaskRegistrar.java:84)
	at org.openstreetmap.osmosis.core.Osmosis.run(Osmosis.java:81)
	at org.openstreetmap.osmosis.core.Osmosis.main(Osmosis.java:37)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at org.codehaus.plexus.classworlds.launcher.Launcher.launchStandard(Launcher.java:329)
	at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:239)
	at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
	at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
	at org.codehaus.classworlds.Launcher.main(Launcher.java:47)
Caused by: java.lang.ClassNotFoundException: org.mapsforge.preprocessing.map.osmosis.MapFilePluginLoader
	at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50)
	at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:244)
	at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:230)
	at org.openstreetmap.osmosis.core.TaskRegistrar.loadPluginClass(TaskRegistrar.java:332)
	... 13 more

ich habe das mapsforge-map-writer-0.4.0.jar genommen.

Hast du das PlugIn auf in “osmosis-plugins.conf” eingetragen?

Da sollte dies drin stehen:
org.mapsforge.map.writer.osmosis.MapFileWriterPluginLoader

Gruß Klaus

snip

Ich habe als einzige conf Dateien:
/config/plexus.conf
/script/munin/osm_replication.conf

aber keine osmosis-plugins.conf -
sollte die nur diese eine Zeile beinhalten?

Gruß svgt

PS: das Motto unter deinem Text finde ich gut. Hat einen kleinen Grammatikfehler: jedes Einzelnen

Brauch es nicht. Es reicht, wenn das Mapwriter-Jar in der Plugin-Directory (Linux: ~/.josm/plugins)( Linux: ~/.openstreetmap/osmosis/plugins) steht.

Gruss
walter

EDIT: Path korrigiert

Guten Abend Walter,

ich habe es so versucht und bleibe wieder anders hängen. Irgendwo hatte ich diesen Aufruf des Plugins gesehen, ohne prepocessing.
Vielleicht hast du eine Idee?

Gruß svgt

hans@hans-ESPRIMO-E /home $ ~/osmosis-0.43.1/bin/osmosis -plugin org.mapsforge.map.writer.osmosis.MapFileWriterPluginLoader --rb file=~/osmosis-0.43.1/reunion-latest.osm.pbf -- mapfile-writer file=~/osmosis-0.43.1/reunion.map type=hd
Okt 22, 2014 11:32:55 PM org.openstreetmap.osmosis.core.Osmosis run
INFORMATION: Osmosis Version 0.43.1
Okt 22, 2014 11:32:56 PM org.openstreetmap.osmosis.core.Osmosis run
INFORMATION: Preparing pipeline.
Okt 22, 2014 11:32:56 PM org.openstreetmap.osmosis.core.Osmosis main
SCHWERWIEGEND: Execution aborted.
org.openstreetmap.osmosis.core.OsmosisRuntimeException: Task type  doesn't exist.
	at org.openstreetmap.osmosis.core.pipeline.common.TaskManagerFactoryRegister.getInstance(TaskManagerFactoryRegister.java:60)
	at org.openstreetmap.osmosis.core.pipeline.common.Pipeline.buildTasks(Pipeline.java:50)
	at org.openstreetmap.osmosis.core.pipeline.common.Pipeline.prepare(Pipeline.java:112)
	at org.openstreetmap.osmosis.core.Osmosis.run(Osmosis.java:86)
	at org.openstreetmap.osmosis.core.Osmosis.main(Osmosis.java:37)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at org.codehaus.plexus.classworlds.launcher.Launcher.launchStandard(Launcher.java:329)
	at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:239)
	at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
	at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
	at org.codehaus.classworlds.Launcher.main(Launcher.java:47)


lass alles weg:


#!/bin/bash
#
#set -x
#
cd /home/walter/osm/MapWriter
date

OSMOSIS=/opt/install/osmosis-latest/bin/osmosis

$OSMOSIS \
        --read-xml       file=253258437x4.osm \
	--mapfile-writer file=253258437x4.map

glaub mir, das reicht wenn der plugin im lokalen plugin-directory (beim user) steht.

Gruss
walter

Hallo,

ich schaffe das nicht mehr in der Eile. Trotzdem danke. Vielleicht hat ja einer eine reunion.map von der Insel zum runterladen für mich.
Unterwegs habe ich dann auch kein Osmosis.

Gruß svgt

Ich verwende Osmosis 0.42 (0.43.1 - und wahrscheinlich auch 0.40 - hatte ich mal vergeblich probiert) mit map-writer 0.4.0 (in ~/.openstreetmap/osmosis/plugins) und (meinen Notizen zufolge) ohne zusätzliche Änderungen.

PM mit Link zum .map-file sollte raus sein.