我正在为巴西建造我自己的码头服务器。为了做到这一点,我跟踪这个示例。首先,我运行这一行代码:
docker pull osrm/osrm-backend然后我从吉奥法布里克下载巴西数据。
wget http://download.geofabrik.de/south-america/brazil-latest.osm.pbf前处理的提取与汽车轮廓:
docker run -t -v "${PWD}:/data" osrm/osrm-backend osrm-extract -p /opt/car.lua /data/brazil-latest.osm.pbf但是,当我运行上面的代码行时,我只得到一个文件,即时间戳,而我应该得到更多。但是,当我运行柏林或爱尔兰的所有命令时(如示例中所示),我可以成功地构建自己的服务器,但我不知道为什么相同的步骤不适用于巴西。
要构建柏林,应该运行以下代码行:
docker pull osrm/osrm-backendwget http://download.geofabrik.de/europe/germany/berlin-latest.osm.pbfdocker run -t -v "${PWD}:/data" osrm/osrm-backend osrm-extract -p /opt/car.lua /data/berlin-latest.osm.pbfdocker run -t -v "${PWD}:/data" osrm/osrm-backend osrm-partition /data/berlin-latest.osrmdocker run -t -v "${PWD}:/data" osrm/osrm-backend osrm-customize /data/berlin-latest.osrmdocker run -t -i -p 5000:5000 -v "${PWD}:/data" osrm/osrm-backend osrm-routed --algorithm mld /data/berlin-latest.osrm我试着遵循这段代码(但分别使用brazil-latest.osm.pbf和brazil-latest.osrm ),但我无法从brazil-latest.osm.pbf中提取所有文件。我不确定巴西是否有问题,或者我做错了什么。
发布于 2021-08-09 20:38:38
在不了解系统的情况下,这听起来像是一个典型的问题,即您没有足够的内存。https://github.com/Project-OSRM/osrm-backend/wiki/Disk-and-Memory-Requirements
另外,看看https://github.com/Project-OSRM/osrm-backend/issues/5265,有一个很好的讨论。
如果这是您的问题,并且您正在运行Linux,请考虑使用swapfile进行本地提取,因为它们在5.23.0 (https://github.com/Project-OSRM/osrm-backend/pull/5760)中删除了stxxl支持。
如果你不需要整个国家,你也可以提取一个更小的包围盒与工具,例如渗透。
https://stackoverflow.com/questions/68397959
复制相似问题