我已在运行Ubuntu 15.10作为 guest OS的虚拟机上设置了用于导航/路由的GraphHopper本地服务器。

要初始化服务器,需要在终端中指定以下命令:java -jar graphhopper-web-0.5.0-with-dep.jar jetty.resourcebase=webapp config=config-example.properties osmreader.osm={osmFileName}.osm.pbf,从现在开始我将其称为GHServerCommand。

我的问题:我可以将多个OSM文件加载到此服务器吗?

我尝试了两种方式,但均未成功:

尝试1:

  • 使用第一个文件运行GHServerCommand ...直到服务器开始运行(终端输出:Server started on port 8989
  • 在新终端中用第二个osm文件运行上述命令,而服务器已经在使用第一个OSM数据集运行。

  • 尝试2:

    使用这两个文件运行GHServerCommand的
  • ,以逗号分隔的格式指定它们,即:java -jar graphhopper-web-0.5.0-with-dep.jar jetty.resourcebase=webapp config=config-example.properties osmreader.osm={osmFileName1}.osm.pbf,{osmFileName2}.osm.pbf

  • 鉴于两次尝试均未成功,我不确定这是否会奏效。有没有办法将多个osm.pbf文件加载到自托管的GraphHopper服务器?

    最佳答案

    GraphHopper当前仅支持导入一个PBF,尽管如果它们不重叠则支持多个PBF也没有问题。如果它们相互重叠或相邻,则实现起来会更加复杂。

    但是在两种情况下,您都可以轻松合并两个PBF:
    osmconvert some.osm.pbf --out-o5m | osmconvert - other.osm.pbf -o=merged.pbf
    请参阅有关osmconvert here的文档和安装

    10-08 03:07