API文档 OSRM路径规划
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录
HTTP API (2)
1.一般选项 (2)
1.1请求: (2)
1.2响应 (3)
2.服务 (4)
2.1 Nearest service (4)
2.2 Route service (6)
2.3 Table service (8)
2.4 Match service (9)
2.5 Trip service (10)
2.6 Tile service (12)
3. 结果对象 (13)
3.1路径对象 (13)
3.2 RouteLeg对象 (15)
3.3注释对象 (16)
3.4路径步骤对象 (17)
3.5路径调动对象 (18)
3.6车道对象 (20)
3.7交点对象 (21)
3.8航点对象 (22)
libosrm C++ API (23)
1. 介绍 (23)
2. 重要的接口对象 (23)
3. 例子 (24)
4. 工作流程 (24)
HTTP API
1.一般选项
所有OSRM HTTP请求使用通用结构。
以下语法适用于所有服务,但注意事项除外。
1.1请求:
传递任何选项为一个值是可选的。折线在默认情况下遵循Google的折线格式,精度为5,可以使用此包生成。
要将参数传递给每个位置,一些选项支持数组比如编码:
{option}={element};{element}[;{element} ... ]
元素数量必须完全匹配位置数。如果你不想传递一个值,而是使用默认值,你可以传递一个空的元素。
示例:第二个位置使用选项的默认值:
{option}={element};;{element}
1.2响应
每个响应对象都有一个包含以下字符串的代码属性或服务相关代码:
消息是可选的可读出的错误消息。所有其他状态类型都取决于服务。
如果出现错误,HTTP状态代码将为400.否则,HTTP状态代码将为200,代码将为“Ok”。
2.服务
2.1 Nearest service
将坐标点击到街道网络并返回最近的n个匹配项。
其中坐标仅支持单个{longitude},{latitude}条目。
除了常规选项,此服务支持以下选项:
响应:
如果请求成功则代码OK否则查看服务依赖和一般状态代码。
航点对象的航点数组按照输入坐标的距离排序。每个对象至少具有以下附加属性:距离:与提供的输入坐标的距离(以米为单位)。
2.2 Route service
以提供的顺序找到坐标之间最快的路线。
除了常规选项,此服务支持以下选项:
*请注意,即使要求替代路线,也不能保证结果。
响应:
如果请求成功则代码OK否则查看服务依赖和一般状态代码。航点:航点对象的数组,按顺序表示所有航路点:
路径:一系列路径对象,按降序推荐排名排序。
万一出现错误,除了一般的以外,还支持以下代码:
所有其他属性可能未定义。
2.3 Table service
计算所有提供的坐标对之间最快路线的持续时间。
坐标(Coordinates)
除了常规选项,此服务支持以下选项:
与其他阵列编码选项不同,源和目的地的长度可以小于或等于输入位置的数量;
例如:
sources=0;5;7&destinations=5;1;4;2;3;6
响应:
1.如果请求成功则代码OK否则查看服务依赖和一般状态代码。
2.持续数组阵列,以行主顺序存储矩阵。持续时间[i] [j]给出从第i个航点到第j个航点的行程时间。值以秒为单位给出。
3.源阵列的航点对象按顺序描述所有源。
4.目的地阵列的Waypoint对象按顺序描述所有目的。
万一出现错误,除了一般的以外,还支持以下代码:
2.4 Match service
地图匹配“匹配/捕捉”给定GPS以最合理的方式指向道路网络。请注意,请求可能会导致多个子跟踪。如果找不到完整的匹配,时间戳(> 60s)或不可能的转换中的大跳跃导致跟踪分割。该算法可能无法匹配所有点。如果不能匹配成功,则会将异常值删除。
除了常规选项,此服务支持以下选项:
每个点的半径应该是以真实位置为单位测量的位置的标准误差。在Android上使用Location.getAccuracy()或在iOS上使用CLLocation.horizontalAccuracy。该值用于确定哪些点应被视为候选(较大的半径表示更多的候选)以及每个候选的可能性(较大的半径意味着远程候选的惩罚较少)。选择搜索区域,以便正确的候选应该被视为99.9%的时间(有关更多详细信息,请参阅此提示)。
响应:
1.如果请求成功则代码OK否则查看服务依赖和一般状态代码。
2.跟踪点:按顺序表示轨迹的所有点的航点对象数组。如果跟踪点被地图匹配所排除,因为它是一个异常值,该条目将为空。每个航点对象都具有以下附加属性:
2.1 matchings_index:与匹配的子跟踪匹配的路径对象的索引。
2.2 waypoint_index:匹配路线内的航路点的索引。
3. 匹配:类似于跟踪的路径对象数组。每个路径对象都具有以下附加属性:可信度。匹配的可信度,浮点值在0和1之间。1表示可信度非常高。
所有其他属性可能未定义。
2.5 Trip service
旅行插件使用贪婪启发式(最远插入算法)为10个或更多个航点解决旅行推销员问题,并对少于10个航点使用BF算法,返回的路径不一定是最快的路径。由于TSP是NP-hard,它只返回一个近似值。请注意,必须连接所有输入坐标才能使行程服务工作。
除了常规选项,此服务支持以下选项: