OSRM开源地图导航引擎介绍一

本文介绍了OSRM,一个基于OpenStreetMap数据的开源导航引擎,支持多种服务如Nearest、Route、Table等。它使用C++14编写,并提供了HTTP接口和C++库。文章重点讲解了如何通过HTTP接口调用服务,包括请求参数如service、version、profile、coordinates等,并解释了可能的返回结果和错误代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

OSRM(Open Source Routing Machine)( https://github.com/Project-OSRM/osrm-backend)开源导航引擎,

用C++14编写完成,此引擎基于OpenStreetMap数据进行计算。OSRM提供了以下服务:

Nearest :根据坐标查找最近的匹配目标;

Route:查找坐标间最快的路径

Table :计算路径上坐标之间的时间和距离

Match:捕捉路网中存在的GPS轨迹噪点

Trip:旅行商问题(Travelling SalesMan problem),寻求单一旅行者由起点出发,通过所有给定的需求点之后,最后再回到原点的最小路径成本。

Tile :生成Mapbox矢量切片

以下服务模块可通过HTTP接口或者C++库形式进行调用。

OSRM有两种计算算法:

* Contraction Hierarchies (CH)

* Multi-Level Dijkstra (MLD)

这两种算法所表示的含义可自行进入深入了解,这里就不多做介绍。

这里我主要介绍通过OSRM提供的HTTP接口,及其相关参数:

请求形式:

GET /{service}/{version}/{profile}/{coordinates}[.{format}]?option=value&option=value

请求地址参数:

service:上面列表的服务之一;

version: 服务版本,默认v1;

profile:交通方式,通过lua文件进行定义,例如:car, bike,foot等,这些是官方已经提供的交通方式。也可以通过定义lua文件实现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值