2013-03-19 5 views
6

Ich habe vor kurzem Osmosis heruntergeladen, um .osm.pbf-Dateien in .map-Dateien zu konvertieren. Ich verwende Windows 7 für diese Anwendung. Ich habe die neuesten zip file von ihrem System heruntergeladen und die MapfileWriter JAR-Dateien in den Ordner/lib/default/abgelegt. Allerdings halte ich diesen Fehler empfangen, wenn ich diese Aussage in der .bat-Datei ausführen:Osmose funktioniert nicht mit mapfilewriter plugin

osmosis --read-pbf file=taiwanlatest.osm.pbf --mapfile-writer file=helloworld.map 

Mar 19, 2013 7:34:49 PM org.openstreetmap.osmosis.core.Osmosis run 
INFO: Osmosis Version 0.42 
Mar 19, 2013 7:34:49 PM org.openstreetmap.osmosis.core.Osmosis run 
INFO: Preparing pipeline. 
Mar 19, 2013 7:34:50 PM org.mapsforge.map.writer.osmosis.MapFileWriterTask <init> 
INFO: mapfile-writer version: mapsforge-map-writer-0.3.0 
Mar 19, 2013 7:34:50 PM org.mapsforge.map.writer.osmosis.MapFileWriterTask <init> 
INFO: mapfile format specification version: 3 
Mar 19, 2013 7:34:50 PM org.openstreetmap.osmosis.core.Osmosis run 
INFO: Launching pipeline execution. 
Mar 19, 2013 7:34:50 PM org.openstreetmap.osmosis.core.Osmosis run 
INFO: Pipeline executing, waiting for completion. 
Mar 19, 2013 7:34:50 PM org.openstreetmap.osmosis.core.pipeline.common.ActiveTaskManager waitForCompletion 
SEVERE: Thread for task 1-read-pbf failed 
java.lang.AbstractMethodError: org.mapsforge.map.writer.osmosis.MapFileWriterTas 
k.initialize(Ljava/util/Map;)V 
     at crosby.binary.osmosis.OsmosisReader.run(OsmosisReader.java:43) 
     at java.lang.Thread.run(Thread.java:722) 

Mar 19, 2013 7:34:50 PM org.openstreetmap.osmosis.core.Osmosis main 
SEVERE: Execution aborted. 
org.openstreetmap.osmosis.core.OsmosisRuntimeException: One or more tasks failed 
. 
     at org.openstreetmap.osmosis.core.pipeline.common.Pipeline.waitForComple 
tion(Pipeline.java:146) 
     at org.openstreetmap.osmosis.core.Osmosis.run(Osmosis.java:92) 
     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(DelegatingMethodAcces 
sorImpl.java:43) 
     at java.lang.reflect.Method.invoke(Method.java:601) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.launchStandard(Laun 
cher.java:329) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.jav 
a:239) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(La 
uncher.java:409) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java: 
352) 
     at org.codehaus.classworlds.Launcher.main(Launcher.java:47) 

ich gelesen habe und es scheint, dass dies aufgrund der Osmose selbst auftritt, und dass ich eine niedrigere verwenden Osmose der Version. Ich habe versucht, Osmosis Version 0.40 zu verwenden, und ich habe diesen Fehler bekommen, wenn ich die .bat-Datei ausführen:

Error: Could not find or load main class org.codehaus.classworlds.Launcher 

Wo genau habe ich falsch gemacht?

Antwort

9

Nach viel Versuch und Irrtum, habe ich es schließlich geschafft, indem Sie Osmosis Version 0.40.1 here herunterladen.

Darüber hinaus habe ich hinzugefügt 4 JAR-Dateien im Verzeichnis/lib/Standardordner:

  1. mapsforge-map-writer-0.3.0-jar-with-dependencies.jar
  2. mapsforge-map-0.3.0-jar-with-dependencies.jar
  3. trove-3.0.3.zip
  4. jts-1.8.jar

Nach dem, Ich habe eine neue Conf-Datei namens "osmosis-plugins.conf" erstellt und eine li hinzugefügt ne "org.mapsforge.map.writer.osmosis.MapFileWriterPluginLoader" drin.

Nach diesen Schritten funktioniert Osmose endlich (obwohl ich mir nicht sicher bin, ob dies der korrekteste Weg ist).

Allerdings verstehe ich immer noch nicht wirklich, warum die neueste Version von Osmosis nicht funktioniert.

Hoffe, das kann denen helfen, die ein ähnliches Problem hatten wie ich!

+1

Danke! • Stellen Sie sicher, dass Sie die Version 0.40.1 erhalten (leicht zu übersehen und stattdessen 0.41 erhalten); • die ersten 2 Gläser schienen mir genug; • Die Datei conf sollte in den Unterordner config gehen. • benutze '--used-node idTrackerType = Dynamic' und/oder' type = hd' und/oder 'JAVACMD_OPTIONS = -Xmx1536M' wenn [speicher] (http://wiki.openstreetmap.org/wiki/Osmosis/Tuning#) Speicher) ist ein Problem ... – mousio