理解OSRM(1)-总览

OSRM(OpenStreetMap Routeing Machine)可用于路线规划。作为高性能的路线规划引擎,OSRM使用C++14编写,基于开源的OpenStreetMap数据实现。

OSRM的总体流程

OSRM在进行真正的路径规划前需要进行数据前处理,如果数据格式为.pbf的话,还需要先解压(osrm-extract)为.osrm格式。

OSRM内置2种算法:1、CH:Contraction Hierarchies。需要较长的预处理时间,但是处理完成后速度较快.对osrm数据使用Contraction Hierarchies algorithm算法(osrm-contract)预处理;2、MLD:Multi Level Dijkstra。预处理与查询时间都普通的快。使用osrm-partition以及osrm-customize进行预处理。

最后将处理完的数据传给osrm-routed(别忘记选择算法),就得到最短路径。

接下来让我们具体去看看,每一步OSRM都做了什么,首先是osrm-extract

Created with Raphaël 2.2.0 Start My Operation Yes or No? Good idea catch something… End Stuff My Subroutine yes no yes no
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
OSRM-backend是一个开源的路由引擎,它可以根据用户提供的起点和终点,计算出最快、最短或者其他指定条件下的最佳路径。OSRM-backend采用基于OpenStreetMap(OSM)地图数据的图形数据结构,可以支持实时的路由计算,并且具有高效、快速的特点。 OSRM-backend的核心功能是路线规划,它可以根据路网数据,计算出两点之间的最优路径。在路线计算时,OSRM-backend支持多种定制化的需求,例如可以指定不同的路网优先级、考虑交通流量、避免特定道路等。此外,OSRM-backend还提供了一系列的API接口,使得开发人员可以使用自己喜欢的编程语言与OSRM-backend进行交互。 OSRM-backend的优势主要体现在以下几个方面: 1. 高性能:OSRM-backend使用了最新的算法和数据结构,能够在较短的时间内计算出复杂的路线。这对于需要大规模路线计算的应用场景非常有用。 2. 精准度高:OSRM-backend使用OpenStreetMap地图数据作为基础数据源,这是一个全球开放的免费地图项目,包含了大量的道路和交通信息,能够提供高质量的路线规划服务。 3. 易于部署和扩展:OSRM-backend是一个开源项目,可以在各种平台上进行部署,具有较高的灵活性和可扩展性。同时,OSRM-backend的代码结构清晰,易于理解和定制。 总而言之,OSRM-backend是一个功能强大、高性能的路由引擎,可以为各种应用场景提供准确、快速的路径规划服务。无论是导航应用、物流管理还是地理信息系统等领域,OSRM-backend都是一个不错的选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值