OSRM API(Open Source Routing Machine)
2025年12月10日 17:28
GISBox是一站式三维GIS数据编辑、转换、发布平台,支持OSGB/GEOTIFF/RVT等多种GIS格式编辑,转换为3DTiles/Terrain等并发布。
简介
OSRM API(Open Source Routing Machine)是一个基于OpenStreetMap数据的高性能开源路径规划引擎,通过RESTful HTTP接口提供路线计算服务。它支持汽车、自行车和步行等多种出行模式,能快速返回最短路径结果,广泛应用于导航应用开发、物流配送规划和出行时间分析等场景。核心功能包括路线计算、多点行程时间矩阵生成、GPS轨迹匹配等,采用Contraction Hierarchies算法实现毫秒级响应。

文件结构
OSRM API(Open Source Routing Machine)的文件结构主要涉及以下几个方面:
- 核心数据文件:.osrm主数据文件、.osrm.nodes节点数据、.osrm.edges边数据、.osrm.geometry几何数据、.osrm.fileIndex文件索引。
- 路由算法相关文件:.osrm.hsgr层次化图结构、.osrm.ramIndex内存索引、.osrm.timestamp时间戳、.osrm.tld交通数据。
- 辅助文件:.osrm.icd路口分类数据、.osrm.names道路名称索引、.osrm.properties属性数据、.osrm.restrictions交通限制规则。
优点
- 高性能计算:采用Contraction Hierarchies算法,可处理数千万节点的路网数据,查询响应时间稳定在毫秒级,满足实时应用需求。
- 多模式支持:原生支持汽车(car)、自行车(bicycle)和步行(foot)等多种交通模式,每种模式均有预定义的路由规则(如限速、单行道限制等)。
- 开放数据生态:基于OpenStreetMap全球道路数据,覆盖范围广且持续更新,支持开发者自由使用和修改。
- 高度可定制:通过Lua配置文件可灵活调整路由逻辑,例如设置车辆尺寸限制、规避收费路段或调整道路优先级。
- 标准化接口:提供RESTful HTTP API,支持路径规划、距离矩阵计算等核心功能,易于集成到Web或移动应用中。
缺点
- 无官方技术支持:作为开源项目,缺乏商业级售后支持,问题需依赖社区解决。
- 数据预处理复杂:需对OpenStreetMap数据进行预处理生成路由图,流程耗时且对硬件资源要求较高。
- 数据质量依赖:路由准确性高度依赖OpenStreetMap的完整性和更新频率,部分地区数据可能不完善。
- 扩展性限制:虽然支持插件机制,但高级功能(如实时交通流量集成)需自行开发,增加维护成本。
应用场景
OSRM API(Open Source Routing Machine)广泛应用于导航应用开发、物流配送路径优化、出行时间分析以及位置智能服务等领域。其高性能路径计算能力支持实时路线规划,适用于汽车导航、骑行路线推荐和步行导航等多种场景。在物流领域,OSRM可优化配送路线,计算多点间的最短路径,提升运输效率。此外,其GPS轨迹匹配功能可用于车辆监控和轨迹分析,而旅行商问题(TSP)求解能力则支持旅游路线规划等复杂需求。作为开源工具,OSRM还为开发者提供了灵活的路网数据定制和路由规则调整能力,满足个性化项目需求。
示例图
1. 用OSRM为你的OpenStreetMap添加导航功能。
2. OSRM HTTP请求都遵循统一的URL结构。
文件打开方式
1. 用OSRM为你的OpenStreetMap添加导航功能。
相关 GIS 服务
Web 地图渲染服务 OGC API
切片地图服务
HERE Technologies
Esri GeoEvent Server
参考资料
- https://byuroscope.com/osrm/
- https://blog.afi.io/blog/osrm-table-api-free-and-open-source-distance-matrix-api/
- https://blog.csdn.net/gitblog_00067/article/details/154505959
- https://www.linuxbabe.com/ubuntu/install-osrm-ubuntu-20-04-open-source-routing-machine