7

最近、Osmosisをダウンロードして.osm.pbfファイルを.mapファイルに変換しました。このアプリケーションにはWindows7を使用しています。彼らのシステムから最新のzipファイルをダウンロードし、mapfilewriterjarファイルを/lib /default/フォルダーに配置しました。ただし、.batファイルで次のステートメントを実行すると、このエラーが発生し続けます。

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)

読んだところ、これは浸透自体が原因で発生しているようで、下位バージョンの浸透を使用する必要があるようです。Osmosisバージョン0.40を使用しようとしましたが、.batファイルを実行すると次のエラーが発生します。

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

どこが間違っていたのですか?

4

2 に答える 2

11

多くの試行錯誤の末、Osmosisバージョン0.40.1をここからダウンロードしてようやく動作させました。

さらに、/ lib/defaultフォルダーに4つのjarファイルを追加しました。

  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

その後、「osmosis-plugins.conf」という名前の新しいconfファイルを作成し、その中に「org.mapsforge.map.writer.osmosis.MapFileWriterPluginLoader」という行を追加しました。

これらの手順を実行した後、Osmosisは最終的に機能します(これが最も正しい方法かどうかはわかりませんが)。

ただし、Osmosisの最新バージョンが機能しない理由はまだよくわかりません。

これが私と同じような問題に直面した人々を助けることができることを願っています!

于 2013-03-19T14:15:03.870 に答える
2

この問題にもぶつかりました。これが私の解決策です。

  1. https://search.maven.org/search?q=mapsforge-mapmapsforge-map-writerからjarファイル(依存関係のあるファイル)をダウンロードします
  2. ダウンロードしたjarファイルを私のosmosis/lib/defaultディレクトリに入れます
  3. cmdを開き、浸透が存在する場所にcdして、--mapfile-writerコマンドを実行します。

お役に立てれば!

于 2020-01-16T02:25:43.500 に答える