【问题标题】:Converting OSM to mapfroge *.map file fails将 OSM 转换为 mapfroge *.map 文件失败
【发布时间】:2012-09-25 13:50:10
【问题描述】:

我正在使用 osmosis 将 OSM 映射文件转换为 *.map 以在 android 中与 mapsfroge 一起使用。我通过以下步骤安装了插件: 1)将“mapsforge-map-writer-0.3.0-jar-with-dependencies.jar”复制到 'osmosis/lib/default' 目录 2) 在 'osmosis/config' 目录中创建文件 'osmosis-plugins.conf' 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 文件? 感谢您的帮助。

【问题讨论】:

    标签: android map openstreetmap


    【解决方案1】:

    您是否尝试过边界框 (bbox) 选项?

    信息找到here

    ...

    为柏林-达勒姆编写地图文件。数据已从 OSM 网站导出为 XML,因此我们必须使用边界框定义:

    $ bin/osmosis --rx file=../data/dahlem.osm --mw file=/tmp/dahlem-high.map bbox=52.4477300,13.2756600,52.4588200,13.2986600

    已知的陷阱

    插件需要一个边界框定义,它要么包含在数据中,要么通过命令行参数 bbox 给出。请注意,OSM 网站的 XML 导出功能目前会产生无效的边界框定义,因此在这种情况下必须使用 bbox 参数。

    如果您将插件安装到用户主页中,请确保您使用该用户而不是其他用户(例如 root 用户)运行 osmosis。

    【讨论】:

      【解决方案2】:

      你可以使用 --rx 选项来协调 frim osm 映射 一切都在 mapsforge wiki 中描述

      Vetter 添加插件的方式

      在 osmosis 文件夹中创建 plugins 文件夹并将 jar 放在那里

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-03-18
        • 2022-01-14
        • 2016-07-22
        • 2022-06-14
        • 2021-12-23
        • 1970-01-01
        • 2019-11-22
        • 1970-01-01
        相关资源
        最近更新 更多