horizontalaccuracy

更新时间:2022-12-31 08:36:09 阅读: 评论:0


2022年12月31日发(作者:去痘小窍门)

目录

HTTPAPI.....................................................................................................................2

1.一般选项.....................................................................................................................2

1.1请求:....................................................................................................................2

1.2响应........................................................................................................................3

2.服务.............................................................................................................................4

2.1Nearestrvice.......................................................................................................4

2.2Routervice..........................................................................................................6

2.3Tablervice..........................................................................................................8

2.4Matchrvice.........................................................................................................9

2.5Triprvice...........................................................................................................10

2.6Tilervice...........................................................................................................12

3.结果对象...............................................................................................................13

3.1路径对象..............................................................................................................13

3.2RouteLeg对象.....................................................................................................15

3.3注释对象..............................................................................................................16

3.4路径步骤对象......................................................................................................17

3.5路径调动对象......................................................................................................18

3.6车道对象..............................................................................................................20

3.7交点对象..............................................................................................................21

3.8航点对象..............................................................................................................22

libosrmC++API........................................................................................................23

1.介绍.........................................................................................................................23

2.重要的接口对象.....................................................................................................23

3.例子.........................................................................................................................24

4.工作流程.................................................................................................................24

HTTPAPI

1.一般选项

所有OSRMHTTP请求使用通用结构。

以下语法适用于所有服务,但注意事项除外。

1.1请求:

参数描述

服务以下之一:route,nearest,table,match,trip,tile

版本协议实现通过rvicev1适用于所有OSRM5.x版本

配置文件运输方式,由用osrm-extract准备数据的Lua配置文件静态确定。如果使用一

个提供的配置文件,通常是汽车,自行车或步行。

坐标格式如下

{longitude},{latitude};{longitude},{latitude}[;{longitude},{latitude}...]

或者polyline({polyline}).

格式目前只支持json。此参数是可选的,默认为json。

传递任何选项为一个值是可选的。折线在默认情况下遵循Google的折线格式,精度为5,

可以使用此包生成。

要将参数传递给每个位置,一些选项支持数组比如编码:

请求选项:

选项值描述

bearings

{bearing};{bearing}[;{bearing}...]将搜索限制为与正北方向顺时

针度数

radius

{radius};{radius}[;{radius}...]将搜索限制为给定半径(以米

为单位)。

generate_hints

true(default),fal为可以在后续请求中使用的响

应添加提示,请参阅hints参数。

hints

{hint};{hint}[;{hint}...]提示从先前请求的

元素遵循以下格式:

元素值

bearing

{value},{range}integer0..360,integer0..180

radius

double>=0orunlimited(default)

hint

Ba64string

{option}={element};{element}[;{element}...]

元素数量必须完全匹配位置数。如果你不想传递一个值,而是使用默认值,你可以传递一

个空的元素。

示例:第二个位置使用选项的默认值:

{option}={element};;{element}

1.2响应

每个响应对象都有一个包含以下字符串的代码属性或服务相关代码:

类型描述

Ok

请求可以按预期处理。

InvalidUrl网址字串无效。

InvalidService服务名称无效

InvalidVersion找不到版本

InvalidOptions选项无效。

InvalidQuery查询字符串语法错误

InvalidValue成功解析查询参数无效。

NoSegment所提供的输入坐标之一不能捕捉到街道段。

TooBig请求大小违反服务特定请求大小限制。

消息是可选的可读出的错误消息。所有其他状态类型都取决于服务。

如果出现错误,HTTP状态代码将为400.否则,HTTP状态代码将为200,代码将为“Ok”。

2.服务

2.1Nearestrvice

将坐标点击到街道网络并返回最近的n个匹配项。

其中坐标仅支持单个{longitude},{latitude}条目。

除了常规选项,此服务支持以下选项:

选项值描述

numberinteger>=1(default1)应该返回的最近段数。

响应:

如果请求成功则代码OK否则查看服务依赖和一般状态代码。

航点对象的航点数组按照输入坐标的距离排序。每个对象至少具有以下附加属性:

距离:与提供的输入坐标的距离(以米为单位)。

2.2Routervice

以提供的顺序找到坐标之间最快的路线。

除了常规选项,此服务支持以下选项:

OptionValuesDescription

alternatives

true,fal(default)

搜索替代路线并返回。

steps

true,fal(default)

为每个路线返回路线步骤

annotations

true,fal(default),nodes,distance,

duration,datasources,weight,speed

返回沿路线几何的每个坐标的附加元

数据。

geometries

polyline(default),polyline6,geojson

返回的路线几何格式(影响概述和每

步)

overview

simplified(default),full,fal

添加概述几何完整,根据可能显示的最

高缩放级别进行简化,或根本不显示。

continue_straight

default(default),true,fal

迫使路线在路标上保持直线约束,即使

速度更快,你会转动。默认值取决于

配置文件。

*请注意,即使要求替代路线,也不能保证结果。

响应:

如果请求成功则代码OK否则查看服务依赖和一般状态代码。

航点:航点对象的数组,按顺序表示所有航路点:

路径:一系列路径对象,按降序推荐排名排序。

万一出现错误,除了一般的以外,还支持以下代码:

类型描述

NoRoute

未找到路径

所有其他属性可能未定义。

2.3Tablervice

计算所有提供的坐标对之间最快路线的持续时间。

坐标(Coordinates)

除了常规选项,此服务支持以下选项:

OptionValuesDescription

sources

{index};{index}[;{index}...]orall(default)

使用给定索引的位置作为源。

destinations

{index};{index}[;{index}...]orall(default)

使用给定索引的位置作为目的地。

与其他阵列编码选项不同,源和目的地的长度可以小于或等于输入位置的数量;

例如:

sources=0;5;7&destinations=5;1;4;2;3;6

元素值

index

0<=integer<#locations

响应:

1.如果请求成功则代码OK否则查看服务依赖和一般状态代码。

2.持续数组阵列,以行主顺序存储矩阵。持续时间[i][j]给出从第i个航点到第j个航点的行

程时间。值以秒为单位给出。

3.源阵列的航点对象按顺序描述所有源。

4.目的地阵列的Waypoint对象按顺序描述所有目的。

万一出现错误,除了一般的以外,还支持以下代码:

类型描述

NoTable

未找到路径

2.4Matchrvice

地图匹配“匹配/捕捉”给定GPS以最合理的方式指向道路网络。请注意,请求可能会导

致多个子跟踪。如果找不到完整的匹配,时间戳(>60s)或不可能的转换中的大跳跃导致

跟踪分割。该算法可能无法匹配所有点。如果不能匹配成功,则会将异常值删除。

除了常规选项,此服务支持以下选项:

选项值描述

steps

true,fal(default)

返回每个路线的路线步骤

geometries

polyline(default),polyline6,geojson

返回的路线几何格式(影响概述和每步)

annotations

true,fal(default),nodes,distance,du

ration,datasources,weight,speed

返回沿路线几何的每个坐标的附加元数据。

overview

simplified(default),full,fal

添加概述几何完整,根据可能显示的最高缩

放级别进行简化,或根本不显示。

timestamps

{timestamp};{timestamp}[;{timestamp

}...]

自UNIX时代以来,输入位置的时间戳(秒)。

时间戳需要单调增加。

radius

{radius};{radius}[;{radius}...]

用于地图匹配的GPS精度的标准偏差。如

果适用,使用GPS精度。

参数值

timestamp

integercondssinceUNIXepoch

参数值

radius

double>=0(default5m)

每个点的半径应该是以真实位置为单位测量的位置的标准误差。在Android上使用

uracy()或在iOS上使用ntalAccuracy。该值用于确定哪

些点应被视为候选(较大的半径表示更多的候选)以及每个候选的可能性(较大的半径意味

着远程候选的惩罚较少)。选择搜索区域,以便正确的候选应该被视为99.9%的时间(有关

更多详细信息,请参阅此提示)。

响应:

1.如果请求成功则代码OK否则查看服务依赖和一般状态代码。

2.跟踪点:按顺序表示轨迹的所有点的航点对象数组。如果跟踪点被地图匹配所排除,因

为它是一个异常值,该条目将为空。每个航点对象都具有以下附加属性:

2.1matchings_index:与匹配的子跟踪匹配的路径对象的索引。

2.2waypoint_index:匹配路线内的航路点的索引。

3.匹配:类似于跟踪的路径对象数组。每个路径对象都具有以下附加属性:可信度。匹配

的可信度,浮点值在0和1之间。1表示可信度非常高。

4.万一出现错误,除了一般的以外,还支持以下代码:

类型描述

NoMatch

找不到匹配。

所有其他属性可能未定义。

2.5Triprvice

旅行插件使用贪婪启发式(最远插入算法)为10个或更多个航点解决旅行推销员问题,并

对少于10个航点使用BF算法,返回的路径不一定是最快的路径。由于TSP是NP-hard,

它只返回一个近似值。请注意,必须连接所有输入坐标才能使行程服务工作。

除了常规选项,此服务支持以下选项:

OptionValuesDescription

OptionValuesDescription

roundtrip

true(default),fal

返回路径是往返路径

source

any(default),first

返回路线从任何一个或第一个坐标开始

destination

any(default),last

返回路线以任何一个或最后一个坐标结束

steps

true,fal(default)

返回每次行程路线说明

annotations

true,fal(default),nodes,distance,

duration,datasources,weight,speed

返回沿路线几何的每个坐标的附加元数据

geometries

polyline(default),polyline6,geojson

返回的路线几何格式(影响概述和每步)

overview

simplified(default),full,fal

添加概述几何完整,根据可能显示的最高缩放

级别进行简化,或根本不显示

确定开始和结束点

可以明确地设定行程的开始或结束坐标。当source设置为first时,第一个坐标用作输出中

行程的起始坐标。当目的地设置为持续时,最后一个坐标将用作返回输出中旅程的目的地。

如果您指定任何一个,任何一个坐标都可以用作输出中的第一个或最后一个坐标。

但是,如果source=any&destination=任何返回的往返行程仍将默认从第一个输入坐标开始。

目前,并不支持往返,始发地和目的地的所有组合。现在,可以进行以下组合:

往返始发地目的地支持

truefirstlastyes

truefirstanyyes

trueanylastyes

往返始发地目的地支持

trueanyanyyes

falfirstlastyes

falfirstanyno

falanylastno

falanyanyno

1.代码:如果请求成功则确定否则看到服务依赖和一般状态代码。

2.航点:以输入顺序表示所有航点的Waypoint对象数组。每个Waypoint对象都具有以下附

加属性:

2.1trips_index:该点匹配的次级跳闸索引。

2.2waypoint_index:行程中的点索引。

3.行程:组合轨迹的Route对象数组。

万一出现错误,除了一般的以外,还支持以下代码:

类型描述

NoTrips

找不到行程,因为输入坐标未连接。

NotImplemented

不支持的请求。

所有其他属性可能未定义。

2.6Tilervice

此服务生成可以使用具有矢量图块功能的滑动图查看器来查看的Mapbox向量瓦片。瓦片

包含可用于检查路线图的道路几何和元数据。瓦片直接从内存中的数据生成,因此与实际

路径结果同步,并且让您检查哪些道路是实际上可循的,以及它们应用了哪些权重。

x,y和缩放值与/wiki/Slippy_map_tilenames中所述的相同,并

且由矢量图块查看器(如MapboxGLJS)支持。

响应对象是带有Content-Typeofapplication/x-protobuf的二进制编码的blob或404错误。请

注意,OSRM是硬编码的,只能从缩放级别12和更高级别返回图块(避免意外返回极大的

矢量图块)。

矢量瓷砖包含两层:

速度层:

属性类型描述

speedinteger

该路段的速度,公里/小时

is_smallboolean

该段是否属于小型(<1000节点)强连接组件

datasourcestring

速度值的来源(通常是lua配置文件,除非您使用流量更新功能,在这种情况

下,它包含提供此段速度值的文件名的句柄

durationfloat

该段需要多长时间才能遍历

namestring

该段所属的道路名称

转换层:

属性类型描述

bearing_ininteger

接近十字路口的绝对方位。-180到+180,0

=北,90=东

turn_angleinteger

相对于bearing_in的转弯角度。-180到

+180,0=直线前进,90=右边90度

costfloat

转过来的秒数。可能是负的,这取决于数据

模型的构建方式(someturnsgeta"bonus")。

3.结果对象

3.1路径对象

表示通过(可能多个)航点的路线。

属性:

1.距离:路线行驶的距离,以浮点数米单位。

2.持续时间:估计的旅行时间,以浮点秒数为单位。

3.几何:路线值的整体几何取决于概览参数,格式取决于几何参数。有关参数文档,请参

阅路径步骤的几何属性。

4.权重:计算的路线权重。

5.权重名:提取阶段中使用的权重的名称。

概述描述

simplifiedGeometryissimplifiedaccordingtothehighestzoomlevelitcanstillbedisplayed

onfull.

fullGeometryisnotsimplified.

falGeometryisnotadded.

6.路程:给定路点之间的路程,RouteLeg对象的数组。

三个输入坐标,geometry=geojson,steps=fal:

3.2RouteLeg对象

代表两个航路点之间的路线。

属性

1.距离:这条路线行驶的距离,以浮点数米为单位。

2.持续时间:估计的旅行时间,以秒数为单位。

3.重量:计算路线腿重量。

4.摘要:作为字符串的路由摘要。取决于步骤参数:

步骤

true两条主要道路的名称。路径太短,可以为空。

fal空串。

5.步骤:取决于步骤参数:

步骤

true描述了转弯指令的路径步骤对象数组

fal空数组

6.注释:沿路线几何的每个坐标的附加细节:

注解

true包含节点ID,持续时间距离的注释对象

fal权重未定义

使用steps=fal和annotations=true:

3.3注释对象

对整个路段的注释对每个段或节点的细粒度信息进行注释。

属性

1.距离:每对坐标之间的距离,以米为单位

2.持续时间:每对坐标之间的持续时间,以秒为单位

3.数据源:数据源的索引,用于每对坐标之间的速度。0是默认配置文件,其他值通过

--gment-speed-file提供给osrm-contract

4.节点:沿着路线的每个坐标的OSM节点ID,不包括第一个/最后一个用户提供的坐标

5.重量:每对坐标之间的权重

6.速度:方便字段,计算距离/持续时间,四舍五入到小数点后一位。

3.4路径步骤对象

一个步骤包括诸如转弯或合并之类的机动,然后是沿着单一方式行进到后续步骤的距离。

属性

1.距离:从调动到后续步距的距离,以浮点数米为单位。

2.持续时间:估计的旅行时间,以秒数为单位。

3.几何:路线段的未简化几何,具体取决于几何参数。

4.权重:步骤计算的权重。

几何

polylinepolyline,精度为5[纬度,经度]编码

polyline6polyline,精度为6[纬度,经度]编码

geojson

GeoJSONLineString

5.名称:旅行方式的名称。

6.参考:参考号或代码。可选地,如果参考数据可用于给定的路。

7.发音:发音提示的路名称。如果没有发音命中,将是未定义的。

8.目的地:路的目的地。如果没有目的地,将不确定。

9.模式:表示运输方式的字符串。

10.机动:表示机动的StepManeuver对象。

11.交点:沿段传递的交集对象列表,第一个属于StepManeuver

12.旋转名称:旋转的名称。可选,如果步骤是旋转和旋转名称可用。

13.旋转发音:旋转名称的发音提示。可选,如果步骤是旋转和旋转发音可用。

3.5路径调动对象

属性:

on:描述转弯位置的[经度,纬度]。

g_before:从正北向顺时针方向,直到机动之前的行进方向。范围0-359。

g_after:从真北向顺时针方向转动后立即行动。范围0-359。

4.类型A表示操纵类型的字符串。新的标识符可能会引入没有API更改类型未知的客户端

应该像转动类型一样处理,正确的修改器值的存在是被确保的。

type

Description

type

Description

turnabasicturnintodirectionofthemodifier

newname

noturnistaken/possible,dcantakeaturnitlf,

followingmodifier.

depart

indicatesthedepartureoftheleg

arrive

indicatesthedestinationoftheleg

mergemergeontoastreet(gonthehighwayfromaramp,themodifier

specifiesthedirectionofthemerge)

ramp

edbyon_rampandoff_ramp.

onramptakearamptoenterahighway(directiongivenmymodifier)

offramptakearamptoexitahighway(directiongivenmymodifier)

forktaketheleft/rightsideataforkdependingonmodifier

endofroadroadendsinaTinterctionturnindirectionofmodifier

ulane

goingstraightonaspecificlane

continueTurnindirectionofmodifiertostayonthesameroad

roundabouttraverroundabout,hasadditionalpropertyexitwithNRiftheroundaboutisleft.

Themodifierspecifiesthedirectionofenteringtheroundabout.

rotary

erysimilartoalargerversionofaroundabout,itdoesnot

offerrotary_nameand/orrotary_pronunciationparameters(locatedinthe

RouteStepobject)inadditiontotheexitparameter(locatedontheStepManeuver

object).

roundabout

turn

Describesaturnatasmallroundaboutthatshouldbetreatedasnormalturn.

einstruction:Attheroundabout

turnleft.

notification

mplethetravel

oadtakesaturnitlf,themodifierdescribesthedirection

请注意,即使有新的名称和通知说明,模式和名称可以在所有指令之间更改。他们只提供

一个后备,没有别的报告。

修饰符指示机动方向变化的可选字符串。

modifier

Description

uturn

indicatesreversalofdirection

sharpright

asharprightturn

modifier

Description

right

anormalturntotheright

slightright

aslightturntotheright

straight

norelevantchangeindirection

slightleft

aslightturntotheleft

left

anormalturntotheleft

sharpleft

asharpturntotheleft

没有修饰符的轮次列表限于:离开/到达。如果源/目标位置足够靠近离开/到达位置,则不

会给出修改器。

意义取决于类型属性。

type

Description

turnmodifierindicatesthechangeindirectionaccomplishedthroughtheturn

depart/arrivemodifierindicatesthepositionofdeparturepointandarrivalpointinrelationtothe

currentdirectionoftravel

exit一个可选整数,表示要退出的号码。回旋处/旋转属性存在该属性:要回转的出口的数

量。如果出口未定义,目的地在回旋处。

新的属性(可能取决于类型)可能会在未来引入API版本更改。

3.6车道对象

Lane代表相应回转位置处的转向车道。

属性

指示:指示转向车道的指示(例如在道路上的标记)。道路可以具有多个指示(例如,直接

和向左指向的箭头)。指示在数组中给出,每个数组包含以下类型之一。如果没有API版

本更改,可能会添加其他指示。

value

Description

none

Nodedicatedindicationisshown.

uturn

Anindicationsignalingthepossibilitytorever(endarrow).

sharpright

Anindicationindicatingasharprightturn(lybendarrow).

right

Anindicationindicatingarightturn(row).

value

Description

slightright

Anindicationindicatingaslightrightturn(lybendarrow).

straight

Nodedicatedindicationisshown(htarrow).

slightleft

Anindicationindicatingaslightleftturn(lybendarrow).

left

Anindicationindicatingaleftturn(row).

sharpleft

Anindicationindicatingasharpleftturn(lybendarrow).

有效性:一个布尔标志,指示该通道是否是当前操作中的有效选择有效:一个布尔标志,指示该通道

是否是当前操作中的有效选择。

3.7交点对象

交叉点给出了路径通过间隔的任何交叉路口的完整表示。对于每一步,第一个交点(交点[0])

对应于StepManeuver的位置。对于每个交叉路口列出进一步的交点,直到下一个转弯指令。

属性

1.位置:描述转弯位置的[经度,纬度]对。

2.方向:在交叉点可用的方向值列表(例如[0,90,180,270])。方向描述了交叉口处的所有可

用道路。值在0-359之间(0=真北)

3.条目:进入标志的列表,与方向的1:1关系对应。值为true表示可以在有效路线上输入

相应的道路。虚假表示转向相应道路将违反限制。

:索引进入方向/入口阵列。用于在转弯前计算方向。也就是说,从机动/通过交叉路口

之前,从真北向顺时针方向的行进方向。方向相对于交叉口给出。为了使方向在驱动方向上

转动,方向的转速必须为180度,不能用于离开机动。

:索引进入方向/入口阵列。用于在转弯后提取方向。也就是说,从机动/通过交叉路口

之后,从真正的北方向到行进方向的顺时针方向。该值不提供用于到达机动。

6.通道:表示交叉路口可用转弯车道的车道对象数组。如果交叉口没有车道信息,则车道属

性将不存在。

3.8航点对象

用于描述路线上的航点的对象。

属性

:坐标标记的街道名称

on:包含捕获坐标的[经度,纬度]对的位置数组

:提示片段的唯一内部标识符(短暂的,不是数据更新的常量)这可以用于后续请求,

以显着加快查询并连接多个服务。例如。您可以使用最近查询获取的提示值作为路由输入

的提示值。

libosrmC++API

1.介绍

OSRM可以通过C++用作库(libosrm),而不是通过HTTP接口和osrm-routed使用它。这

允许微调OSRM并且具有更少的开销。以下简要介绍如何在即将推出的v5发行版中使用

libosrm。

看看示例目录中的示例代码。以下是您曾经想知道的关于libosrm的所有信息,这是一个

简短的描述,它们是什么类型,以及在哪里可以找到文档:

2.重要的接口对象

Config-用于初始化OSRM实例,我们可以配置某些属性和约束。例如。存储配置

是基本路径,如,我们从中导出并加载。*辅助文件。这还

允许您设置限制,例如特定服务允许的最大位置数。

-这是具有路由和表功能的主要路由机器类型。您使用EngineConfig初始化它。它

为你做了一切繁重的工作。每个功能都有自己的参数,例如Route函数接受RouteParameters,

并且引用一个JSON结果,该结果将被填充。返回值为Status,表示错误或成功。

3.状态-这是一个类型包装错误或Ok分别指示错误或成功。

arameters-这是RoutingMachine函数期望的参数类型的示例。在这种情况下,表希

望自己的参数为TableParameters。您可以看到它包裹两个向量,源和目的地---这些是您的坐

标中的索引,用于表服务构建矩阵(空源或目的地意味着:使用它们)。如果你问自己坐在

哪里,你可以看到从BaParameters继承的TableParameters。

rameter-最重要的是保存坐标(以及您不需要基本使用的其他几个可选属性);特

定的参数类型继承自BaParameters以获取这些成员属性。这意味着您的TableParameters

类型具有坐标,源和目标成员属性(以及我们现在忽略的其他一些属性)。

6.坐标-这是围绕(经度,纬度)对的包装。我们真的不在乎(lon,lat)vs(lat,lon),但

是我们不希望你不小心把它们混合起来,所以纬度和经度都是整数的严格类型的包装器(固

定符号,如13423240)和浮点数(浮点符号如13.42324)。

7.其他服务的参数-这里是所有其他*其他路由机器服务所需的参数。

-这是一个类似JSON的和类型。路由机器服务功能采用引用JSON结果并相应填写。

它现在使用类似于t的mapbox/variant来实现。使用这种总和类型有两种方法:

提供访问者对每种类型的访问行为,或者使用get函数,以防您确定结构。JSON结构写在

HTTPAPI中。

3.例子

请参阅OSRM资源库中的示例文件夹。

4.工作流程

创建一个使用EngineConfig初始化的OSRM实例

调用OSRM对象上的服务功能,提供特定服务的*参数

检查返回码并使用JSON结果

本文发布于:2022-12-31 08:36:09,感谢您对本站的认可!

本文链接:http://www.wtabcd.cn/fanwen/fan/90/64363.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

上一篇:索引图
下一篇:真空环境
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图