我目前正在试图弄清楚,对于给定的路线,街道是从我的路线的左侧穿过还是从右侧穿过。我从附近的链接得到了LinkID信息。有没有一种简单的方法来确定链接从驱动程序POV出发的方向?
我尝试了以下方法。1) 使用GPS点确定路线,并使用LINK_FCn属性确定REF_NODE_NEIGHBOR_LINKS和NONREF_NODE_NEIGHBOR_LINK:https://pde.api.here.com/2/calculateroute.json?mode=car;最短;流量:已启用&离开=现在&attributes=LINK_FCn(*)&app_id={appid}&app_code={appcode}&linkattributes=DynamicSpeedInfo&routeMatch=1&waypoint0=&waypoint99=。。。
-
使用以下位置的LinkID确定邻居链接的GPS坐标:https://route.ls.hereapi.com/routing/7.2/calculateroute.json?apiKey={apiKey}&表示=链接寻呼&linkattributes=fc&waypoint0=链接!。。。mode=汽车;最短;流量:已启用因为链接形状是从每个链接返回的。
-
使用步骤2中返回的GPS坐标建立路线。该请求与步骤1)中相同,现在具有来自步骤2的新获取的路点。理论上,它应该返回一个混沌路由,该路由包括原始路由的所有相邻链路。我知道,这很复杂,但我需要每个链接的LINK_FCn属性,除了构建路由和使用步骤1中的请求外,我不知道如何获得它们。
我希望有一种比我所做的更简单的方法来获得独立链接的LINK_FCn属性。
解决方案并不存在。
如果您使用RME HERE路线匹配8:https://developer.here.com/documentation/route-matching/api-reference.html
和
映射属性API v8:https://developer.here.com/documentation/content-map-attributes/api-reference.html
1.像Postman集合中那样发送POST请求:
{
"info": {
"_postman_id": "ac909f42-fd17-4828-9eed-29504b5304e3",
"name": "RME_dir",
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
"_exporter_id": "1051680"
},
"item": [
{
"name": "direction",
"request": {
"method": "POST",
"header": [],
"body": {
"mode": "raw",
"raw": "LATITUDE,LONGITUDErn53.38033388,-1.466708518rn53.38051677,-1.466619881rn53.38113146,-1.466989795rn53.38123316,-1.467038024rn53.38153622,-1.466477674rn53.38158782,-1.466302653rn53.38251095,-1.465818564rn53.38298113,-1.465874184"
},
"url": {
"raw": "https://routematching.hereapi.com/v8/match/routelinks?apikey=YvyzQj_mHm9GrLNFIJH7pWapPkJAdta5XR-JotW7T5o&routeMatch=1&mode=fastest;car;traffic:disabled;&attributes=LINK_FCn(*)",
"protocol": "https",
"host": [
"routematching",
"hereapi",
"com"
],
"path": [
"v8",
"match",
"routelinks"
],
"query": [
{
"key": "apikey",
"value": "YvyzQj_mHm9GrLNFIJH7pWapPkJAdta5XR-JotW7T5o"
},
{
"key": "routeMatch",
"value": "1"
},
{
"key": "mode",
"value": "fastest;car;traffic:disabled;"
},
{
"key": "attributes",
"value": "SPEED_LIMITS_FCn(*),LINK_ATTRIBUTE_FCn(*),TRAFFIC_PATTERN_FCn(*),TRUCK_SPEED_LIMITS_FCn(*),SPEED_LIMITS_VAR_FCn(*),SPEED_LIMITS_COND_FCn(*) ",
"disabled": true
},
{
"key": "attributes",
"value": "LINK_FCn(*)"
}
]
}
},
"response": []
}
]
}
2.在响应中搜索"leg"并循环链接。
链接ID为"-"(负)表示到参考节点但没有"到"-"(正)表示从参考节点,从LINK_FC,您知道RefNode和NoNRefNode在哪里:因此您可以识别驱动程序的方向。
3.确定所有邻居链路属于哪个tileIds和哪个功能类(REF_NODE_neighbor_links和NONREF_NODE_neighbor_links在上面):
https://smap.hereapi.com/v8/maps/index.json?layer=ROAD_GEOM_FCn&attributes=LINK_ID&值=1214906732121505667030087535107611321118335023&apikey=YvyzQj_mHm9GrLNFIJH7pWapPkJAdta5XR-JatW7T5o
4.根据以上响应,将tileIds设置为"in"参数,并相应地将FC编号设置为"layers"参数:
https://smap.hereapi.com/v8/maps/attributes.json?layers=LINK_FC5,LINK_FC2&in=瓷砖:105766770165694&apikey=YvyzQj_mHm9GrLNFIJH7pWapPkJAdta5XR-JatW7T5o
在对上述请求的回应中,您现在可以找到所有相邻的链接。
5.当你将具有路由链路及其相邻链路的几何形状,并且你知道路由的方向时;ENTER_ANGLE"";LEAVE_ANGLE";,然后你可以计算哪个链接在左边或右边-这是一个几何任务:不幸的是,我不知道如何解决它。