我正在使用 osmosis 将 OSM 映射文件转换为 *.map 以在 android 中与 mapsfroge 一起使用。我通过以下步骤安装了插件:1)将'mapsforge-map-writer-0.3.0-jar-with-dependencies.jar'复制到'osmosis/lib/default'目录2)创建文件'osmosis-plugins.conf'进入 'osmosis/config' 目录 3) 将此行添加到文件中: org.mapsforge.map.writer.osmosis.MapFileWriterPluginLoader
现在,当使用这条线时:
osmosis --rb file=tehran.osm.pbf --mapfile-writer file=tehran.map type=hd
我懂了 :
. .
`Sep 25, 2012 1:01:50 PM org.openstreetmap.osmosis.core.pipeline.common.ActiveTaskManager waitForCompletion
SEVERE: Thread for task 1-rb 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(Unknown Source)
Sep 25, 2012 1:01: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(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchStandard(Laun
cher.java:329)`
. . .
文件“tehran.osm.pbf”位于“bin”文件夹中。我还用另外两个 osm 和 osm.pbf 文件(从其他网站下载)对其进行了测试。商店也是一样的。
问题出在哪里?是否有另一种方法可以将 OSM 转换为 *.map 文件?我很感激任何帮助。