如何使用OSRM的比赛服务

Chr*_*oph 5 osrm

如标题中所述:如何使用匹配调用?
我试过

http://router.project-osrm.org/match/v1/driving/8.610048,46.99917;8.530232,47.051?overview=full&radiuses=49;49
Run Code Online (Sandbox Code Playgroud)

我不确定radiuses列出的列表是否正确。我无法让它发挥作用。我也尝试过[49;49]{49;49}该命令适用于route

http://router.project-osrm.org/route/v1/driving/8.610048,46.99917;8.530232,47.051?overview=full
Run Code Online (Sandbox Code Playgroud)

背景请看这里

编辑:如果您查看此处的示例,itr 似乎timestamps不需要/match/v1/{profile}/{coordinates}?steps={true|false}&geometries={polyline|polyline6|geojson}&overview={simplified|full|false}&annotations={true|false}

sym*_*ush 3

来自文档

\n\n
\n

如果无法找到完整的匹配,则时间戳中的大幅跳跃(> 60 秒)或不可能的转换会导致跟踪分裂。

\n
\n\n

我认为这就是你的要求的问题。两个给定点相距超过 60 秒,OSRM 无法成功匹配它们。这radiuses正确。

\n\n

以下查询对我有用:

\n\n
http://router.project-osrm.org/match/v1/driving/8.610048,46.99917;8.620048,46.99917?overview=full&radiuses=49;49\n
Run Code Online (Sandbox Code Playgroud)\n\n

这将返回:

\n\n
{"tracepoints":[{"location":[8.610971,46.998963],"name":"Alte Kantonstrasse","hint":"GKUFgJEhBwAAAAAAHQAAAAAAAAC5AAAAAAAAAB0AAAAAAAAAuQAAAPsCAACbZIMAsyXNAgBhgwCCJs0CAAAPABki8hY=","matchings_index":0,"waypoint_index":0,"alternatives_count":0},{"location":[8.620295,46.999681],"name":"Sch\xc3\xb6nenbuchstrasse","hint":"nIEFAJ7IFIA3AAAAZAAAAAAAAADYAAAANwAAAGQAAAAAAAAA2AAAAPsCAAAHiYMAgSjNAhCIgwCCJs0CAAAPABki8hY=","matchings_index":0,"waypoint_index":1,"alternatives_count":5}],"matchings":[{"distance":922.3,"duration":114.1,"weight":114.1,"weight_name":"routability","geometry":"onz}Gqyps@Wg@S_@aCaFMUYo@c@w@OKOCWmAWs@aBiDsAsCMYH[HY\\\\_@h@ObBW^w@BQAUKu@ASF[ZaABOFYpAyIf@mD","confidence":0.000982,"legs":[{"distance":922.3,"duration":114.1,"weight":114.1,"summary":"","steps":[]}]}],"code":"Ok"}\n
Run Code Online (Sandbox Code Playgroud)\n\n

所以两个给定的输入点8.610048,46.999178.620048,46.99917匹配到8.610971,46.9989638.620295,46.999681

\n\n

据我所知,如果你想实现类似的东西你需要为 OSRM 提供更多的输入点,这些输入点的间隔小于 60 秒。

\n\n

另请参阅此处route有关和之间差异的解释match

\n