Search code examples
here-api

HERE LinkId from route not found in PDE (Platform Data Extension)


UPDATE: It's happening again, also with Fleet API. Please see additional examples at end of the post.

I'm using HERE's REST API to calculate a route, then ask for additional data for each link / route segment by querying HERE's Platform Data Extension (PDE). This usually works fine, but now I've run into a link id that is not recognised by PDE.

Are these services not in sync, or am I doing something wrong?

I didn't have any issue in the past weeks, and it still works fine for most link ids, so this could either be a new problem or a very singular issue. I searched in the HERE API documentation and on Stackoverflow, but couldn't find anything related.

Route request (A24 Berlin towards Hamburg): https://route.api.here.com/routing/7.2/calculateroute.json?waypoint0=geo!52.7091,13.0356&waypoint1=geo!52.7193,12.9608&mode=fastest;car;traffic:disabled&representation=navigation&app_id=xxx&app_code=yyy

The json response (below) contains a link with permanent id 1199057935 at Anschlussstelle Kremmen.

The PDE request gives an empty response: https://pde.api.here.com/1/index.json?layer=ROAD_GEOM_FCn&attributes=LINK_ID&values=1199057935&app_id=xxx&app_code=yyy

{"Layers":[]}

Instead, I would expect the data of the containing tile, e.g. what I get for 1199057936

{"Layers":[{"layer":"ROAD_GEOM_FC1","level":9,"tileXYs":[{"x":548,"y":405}]}]}

I also tried the PDE request with ROAD_GEOM_FC1 and prefixing the id with + (values=+1199057935). Other link ids of the route return the expected tile information.

For completeness, here's the link's json from the routing response:

{
 "linkId":"+1199057935",
 "shape":["52.7175629,12.976613","52.7177131,12.9749393"],
 "firstPoint":28,
 "lastPoint":29,
 "length":114,
 "remainDistance":1095,
 "remainTime":39,
 "nextLink":"+1199057936",
 "maneuver":"M2",
 "speedLimit":33.3333359,
 "dynamicSpeedInfo":{"trafficSpeed":16.3888893,"trafficTime":7,"baseSpeed":27.5,"baseTime":4,"jamFactor":5.7118645},
 "flags":["motorway"],
 "functionalClass":1,
 "roadNumber":"A24",
 "timezone":"+0100",
 "roadName":"",
 "consumption":0,
 "_type":"PrivateTransportLinkType"
}

UPDATE 2019-05-27:

I get a route that contains link id 1239826684 from https://route.api.here.com/routing/7.2/calculateroute.json?waypoint0=geo!52.5066,13.4299&waypoint1=geo!52.5282,13.4265&mode=fastest;car;traffic:disabled&representation=navigation&app_id=xxx&app_code=yyy

Using fleet endpoint redirects to same call as above, including link id 1239826684: https://fleet.api.here.com/2/calculateroute.json?waypoint0=geo!52.5066,13.4299&waypoint1=geo!52.5282,13.4265&mode=fastest;car;traffic:disabled&representation=navigation&app_id=xxx&app_code=yyy

PDE returns [] for that link id: https://pde.api.here.com/1/index.json?layer=ROAD_GEOM_FCn&attributes=LINK_ID&values=1239826684&app_id=xxx&app_code=yyy

Fleet API returns [] for that link id: http://fleet.cit.api.here.com/1/index.json?layer=ROAD_GEOM_FCn&attributes=LINK_ID&values=1239826684&app_id=xxx&app_code=yyy

Seems the underlying geo-data is not in sync, and using different APIs does not help. Any other solution?


Solution

  • You can try Fleet telematics group of API's over basic routing and PDE as Fleet Telematics provides whole routing solution .

    Please find the below API request which is giving expected response for the id-1199057935

    http://fleet.cit.api.here.com/1/index.json?layer=ROAD_GEOM_FCn&attributes=LINK_ID&values=1199057935&app_id=xxxx&app_code=yyyy

    Response : { Layers: [ { layer: "ROAD_GEOM_FC1", level: 9, tileXYs: [ { x: 548, y: 405 } ] } ] }

    for more information kindly go through the below documentation

    https://developer.here.com/documentation/fleet-telematics/api-reference.html#operation%2FindexJSONUsingGET

    Hope this will help.