2013-03-19 23 views
6

Ho recentemente scaricato Osmosis per convertire i file .osm.pbf in file .map. Sto usando Windows 7 per questa applicazione. Ho scaricato l'ultimo zip file dal loro sistema e ho inserito i file jar di mapfilewriter nella cartella/lib/default /. Tuttavia, continuo a ricevere questo errore quando ho eseguito questa dichiarazione nel file .bat:Osmosi non funziona con il plugin mapfilewriter

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) 

ho letto su e sembra che questo si verifica a causa l'osmosi in sé, e che devo usare un più basso osmosi della versione. Ho cercato di utilizzare Osmosi versione 0.40 e ho ottenuto questo errore quando ho eseguito il file bat:

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

Dove esattamente ho sbagliato?

risposta

9

Dopo molte prove ed errori, ho finalmente funzionato scaricando la versione 0.40.1 di Osmosis here.

Inoltre, ho aggiunto 4 file jar nella cartella/lib/default:

  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

Dopo di che, Ho creato un nuovo file conf chiamato "osmosis-plugins.conf" e ho aggiunto un file ne "org.mapsforge.map.writer.osmosis.MapFileWriterPluginLoader" in esso.

Dopo aver eseguito questi passaggi, l'osmosi finalmente funziona (anche se non sono sicuro che questo sia il modo più corretto di farlo).

Tuttavia, ancora non capisco perché l'ultima versione di Osmosi non funzioni.

Spero che questo possa aiutare coloro che hanno affrontato un problema simile a me!

+1

Grazie! Inoltre, • assicurati di ottenere la versione 0.40.1 (facile da perdere e ottenere 0.41 invece); • i primi 2 vasi mi sembravano abbastanza; • il file conf dovrebbe andare nella sottocartella config; • usa '--used-node idTrackerType = Dynamic' e/o' type = hd' e/o 'JAVACMD_OPTIONS = -Xmx1536M' se [memoria] (http://wiki.openstreetmap.org/wiki/Osmosis/Tuning# Memoria) è un problema ... – mousio

Problemi correlati