osrm-backend
SHA-256基于 OpenStreetMap 的高性能 C++ 路由引擎,支持 HTTP API、C++ 库和 Node.js 绑定,可自托管、离线运行。
OSRM 是一个开源、高性能、可自托管的路由引擎,能利用 OpenStreetMap 数据做路线规划。
核心功能
- 六大核心服务:坐标吸附、路线规划、距离矩阵、GPS轨迹匹配、旅行商求解、矢量瓦片
- 支持收缩层次(CH)和多级Dijkstra(MLD)两种预处理算法,默认推荐MLD
- 提供Docker镜像,一行命令即可部署运行,降低门槛
- 纯C++编写,性能极高,适合大规模和高并发场景
- 支持HTTP API、C++库和Node.js绑定三种调用方式
避坑指南
- •避坑指南:1. 预处理数据时,大型区域(如整个国家)可能耗时数小时并占用大量内存(建议至少16GB RAM)。2. 公共演示服务器有请求频率限制,不要滥用。3. 默认使用汽车(car)配置,如需自行车或步行需调整Lua配置文件。4. 在Docker中挂载目录时注意路径权限。
适用场景
- 搭建自己的导航服务,避免依赖第三方API,保护用户隐私
- 物流配送系统的路径优化与距离矩阵计算
- 科研领域的大规模交通网络模拟与分析
OSRM Backend 是一个用 C++ 编写的高性能开源路由引擎,基于 OpenStreetMap 数据实现汽车、骑行和步行路线规划。它提供了一整套服务:坐标吸附(Nearest)、最快路径(Route)、距离/时间矩阵(Table)、GPS 轨迹匹配(Match)、旅行商问题求解(Trip)以及包含路由元数据的矢量瓦片(Tile)。引擎支持两种预处理算法:收缩层次(CH)和多级 Dijkstra(MLD),推荐默认使用 MLD。可通过 Docker 一键部署,并提供演示服务器。相比 Google Maps API 或 GraphHopper 等同类工具,OSRM 最大的优势是可自行托管、完全离线运行,且性能极佳,特别适合对隐私敏感或高并发的路线计算场景。
标签
快速上手
安装软件
双击下载的安装程序,按提示完成安装
步骤1:安装Docker,并下载OpenStreetMap数据(如从Geofabrik下载柏林地区数据)
步骤2:使用docker run预处理数据:依次执行osrm-extract、osrm-partition、osrm-customize(对MLD),或osrm-extract + osrm-contract(对CH)
步骤3:启动路由服务:docker run启动osrm-routed,监听5000端口
- 步骤1:安装Docker,并下载OpenStreetMap数据(如从Geofabrik下载柏林地区数据)
- 步骤2:使用docker run预处理数据:依次执行osrm-extract、osrm-partition、osrm-customize(对MLD),或osrm-extract + osrm-contract(对CH)
- 步骤3:启动路由服务:docker run启动osrm-routed,监听5000端口
已提供 SHA-256 校验码,下载后可自行核对文件完整性
该校验码提取自 GitHub 官方 Release 页面
SHA256 校验码
7829d4a35e7de5cde63a04ccca5b9e9a04f1199552231da9872214a3ab44d5a1该校验码提取自 GitHub Release 页面,下载后请自行核对文件完整性
本平台所有 SHA-256 校验码均提取自项目在 GitHub 官方 Release 页面发布的文件,未做任何修改。你可以通过 GitHub Releases 页面自行验证。
开源透明
查看 GitHub 源码卸载说明
删除下载的Docker镜像和数据文件:docker rmi ghcr.io/project-osrm/osrm-backend,并删除本地的.osm.pbf和.osrm文件。
无额外依赖
下载后即可直接使用,无需安装其他运行环境
遇到问题?查看下方 FAQ
5 FAQs