0

我有一个相当大的 .kml 文件(它是我公司的财产,我可以合法使用它),我想导入一个 .osm 文件,从 download.geofabrik.de 下载。我可以在软件中打开这个 .osm 地图,以便完全离线使用,例如 Marble。

我的问题是:我可以以某种方式合并这个 kml 和 osm 文件,所以当我在 Marble 中打开合并的文件时,kml 描述的路线也可见吗?所以基本上,我想将a.kml与b.osm合并,产生c.osm,我可以离线使用。

可能吗?如果是的话,你能指引我正确的方向吗?

任何帮助表示赞赏,谢谢!

一些注意事项:

  • 我试过GPSBabel,它表明它可以将.kml 转换为.osm。它从我的 12MB .kml 生成一个 65MB .osm 文件,但是当我在 Marble 中打开它时,它没有显示任何路线,所以它看起来像死路一条。:/

  • 奇怪的是,GPSBabel 产生了一个 QGIS 可以打开的输入。我用 osmosis 合并了两个 .osm 文件,但问题是,输出无效,什么都打不开。

  • JOSM 不会打开原始的 .osm 文件,大小为 1GB。

ps:我也在help.openstreetmap.org上发布了这个,但是现在没有人可以帮助我,所以我想在这里得到一些答案,也许......对不起“转贴”,谢谢你的帮助!:)

4

1 回答 1

0

老实说,你想做的事情是错误的,但仍然有可能。

第一步是将ogr2osm与命令行标志--positive-id, --add-version, --add-timestamp and with--id 3000000000` (或大于文件中最大节点 ID 的其他数字)一起使用。

然后,您将拥有一个 .osm 文件,OsmosisOsmconvert可以与另一个文件合并,在这种情况下是您下载的软件。在渗透的情况下,osmosis --read-xml internal.osm --sort --read-xml extract.osm --sort --merge --write-xml combined.osm (未经测试)

一种更常见的方法是从 geofabrik 下载该区域的 shapefile,然后使用 ogr2ogr 和类似工具将它们与您选择的输出格式的 .kml 文件结合起来。

请记住,如果您分发您创建的这个“衍生数据库”,它必须在 ODbL 下获得许可。如果您仅在内部分发它,则这不适用。

于 2013-10-05T01:28:35.390 回答