我有一个包含highway=footway路径的geojson数据文件,我想使用OSRM来查找多个点之间的路由(也就是说,不只是从A到B的最有效的路径,而是类似于旅行推销员的路径)。
从OSRM文档中,我看到要使用自定义数据而不是来自OpenStreetMap的数据,我需要一个OSRM文件,我显然可以“通过运行node_OpenStreetMap/ OSRM /lib/binding/和默认配置文件中提供的osrm二进制文件”来创建osrm文件。
我觉得这很模糊,我不知道该怎么做。上面链接的文档引用了OSRM -后端文档,但我没有发现任何与创建OSRM文件有关的内容。我通过npm获得了node_modules/osrm目录,但是osrm/lib/binding目录中没有任何内容.
如何继续使用我的数据进行OSRM路由?或者,如果我想要实现的东西有一个更简单的解决方案,它会是什么?
发布于 2022-06-13 18:07:08
通过遵循以下“管道”,我能够创建一个osrm文件:
$ osmconvert64 intput_file.osm --fake-author -o=output_file.osm$ osmosis --rx input_file.osm --wb output_file.osm.pbf omitmetadata=true$ docker run -t -v "absolute/path/to/data":/data osrm/osrm-backend osrm-extract -p /opt/profile.lua /data/file_name.osm.pbf
$ docker run -t -v "absolute/path/to/data":/data osrm/osrm-backend osrm-contract /data/file_name.osrm备注:
data目录,数据的绝对路径应该链接到该目录。osrm-contract必须与osrm-contract输出相同,因为OSRM将使用该名称生成其他一些文件,它将尝试在契约步骤中找到这些文件。https://stackoverflow.com/questions/72547990
复制相似问题