GraphHopper:将多个 OSM 文件加载到自托管服务器

Posted

技术标签:

【中文标题】GraphHopper:将多个 OSM 文件加载到自托管服务器【英文标题】:GraphHopper: loading multiple OSM files to self-hosted server 【发布时间】:2016-02-29 16:18:53 【问题描述】:

我已经在运行 Ubuntu 15.10 作为来宾操作系统的虚拟机上设置了 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 服务器?

【问题讨论】:

你试过在discuss.graphhopper.com/latest上提问 顺便说一句:*** 也可以 【参考方案1】:

GraphHopper 目前只支持导入一个 PBF,不过如果不重叠,支持多个是没有问题的。如果它们相互重叠或相邻,那么实现起来会更加复杂。

但是您可以在这两种情况下轻松合并两个 PBF:

osmconvert some.osm.pbf --out-o5m | osmconvert - other.osm.pbf -o=merged.pbf

查看osmconvert的文档和安装here

【讨论】:

以上是关于GraphHopper:将多个 OSM 文件加载到自托管服务器的主要内容,如果未能解决你的问题,请参考以下文章

使用 GraphHopper 和 jsprit 构建矩阵

openstreetmap算路服务搭建

如何在 QML 中设置正确的路径到离线 OSM 目录(不使用 qrc)?

html 使用TMS架构加载缓存映像,例如NOAA WOC提供的OSM MapServer示例

无法在未调用 Looper.prepare() Graphhopper 的线程内创建处理程序

Graphhopper Dijkstra 一对多内存错误