Page 1 of 3
Cannot caluclate route concerning leg *number*
Posted: Thu May 04, 2017 6:29 am
by peter.detzner
Hi!
Right now I am struggeling probably with a small isse which drives me crazy.
I am trying to create a Route between 2 points, a starting point and the destination (Industriekai;24937;Flensburg;).
Everytime I am trying to calculate the Route I am receiving the error "cannot calculate route (concerning leg 1)".
How can I deal with this kind of problem resp. the address? In fact the routing is not possible for this address. Is there any option where I might "enable"?
My Routingoptions are:
parameter = RoutingParameter.OPTIMIZATION, value = "30"
parameter = RoutingParameter.ALLOW_SEGMENT_VIOLATIONS, value = "true"
ResultListOptions:
manoeuvres = false;
manoeuvreAttributes = false;
nodes = true;
polygon = true;
the Profile for the vehicle is truckfast".
Thanks for your help!
Regards,
Peter
Re: Cannot caluclate route concerning leg *number*
Posted: Thu May 04, 2017 6:52 am
by Joost
I beleive your issue is cause by local restriction on entering that part of the industrial area. Have a look at
http://devblog.ptvgroup.com/2014/01/10/ ... -vehicles/ on information how to open up restricted area's.
Re: Cannot caluclate route concerning leg *number*
Posted: Fri May 05, 2017 9:13 am
by peter.detzner
Thank you! The link solved my issue. Just changed the profile!
Re: Cannot caluclate route concerning leg *number*
Posted: Thu Aug 24, 2017 3:31 pm
by Gerhard
I'm having the same issue, using xServer Internet. Regrettably the link provided didn't solve this problem for me.
When I'm adding the code, I actually get another error, telling me that <Violations> must not be a child of <BasicDataRules>. From as far as I can tell <Violations> is on the same level as <BasicDataRules>, so they're actually both childs of <Course>?
I added all the rules to the XML but it seems to have no effect. What am I doing wrong? Here are the params for xRoute.calculateRoute:
Code: Select all
{
"waypoints":
[
{"coords":[{"point":{"x":16.3492375,"y":48.254322}}],"linkType":"NEXT_SEGMENT"},
{"coords":[{"point":{"x":16.3136262,"y":48.220700}}],"linkType":"NEXT_SEGMENT","viaType":{"viaType":"VIA_STOP"}},
{"coords":[{"point":{"x":16.3492375,"y":48.254322}}],"linkType":"NEXT_SEGMENT"}
],
"options":
[
{"parameter":"OPTIMIZATION","value":90}
],
"exceptionPaths":null,
"details":
{
"polygon":true,
"boundingRectanglesC":1,
"boundingRectanglesOffset":300,
"totalRectangle":true
},
"callerContext":
{
"properties":
[
{"key":"Profile","value":"delivery"},
{"key":"CoordFormat","value":"OG_GEODECIMAL"},
{"key":"ResponseGeometry","value":"PLAIN"},
{"key":"ProfileXMLSnippet","value":"<Profile xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:noNamespaceSchemaLocation='http://localhost:50090/xtour/schema/XTourProfile.xsd'><Routing majorVersion=\"2\" minorVersion=\"0\"><Course><BasicDataRules><VehicleSpecific><DeliveryVehicles segmentMalus=\"2500\"/><EmergencyVehicles segmentMalus=\"2501\" turningBanCost=\"50000\"/><AuthorizedVehicles turningBanCost=\"50000\"/></VehicleSpecific></BasicDataRules><Violations><SegmentBlockingViolations enabled=\"true\" cost=\"50000\"/></Violations></Course><Vehicle><Legal><LegalCondition isAuthorized=\"true\" isDelivery=\"true\" isEmergency=\"true\" /></Legal></Vehicle></Routing></Profile>"}
]
}
}
Re: Cannot caluclate route concerning leg *number*
Posted: Fri Aug 25, 2017 8:03 am
by Bernd Welter
Hello Gerhard,
the error message I get
Code: Select all
{
"errorMessage": "cannot calculate route (concerning leg 1)",
"errorKey": "2500",
"exceptionType": "com.ptvag.xserver.xroute.XRouteException"
}
https://xroute-eu-n-test.cloud.ptvgroup ... quest.html
Did you send the request to the proper method (calculateRoute) via JSON?
Best regards,
Bernd
Re: Cannot caluclate route concerning leg *number*
Posted: Fri Aug 25, 2017 8:22 am
by Gerhard
Hi Bernd,
yes, that's exactly the message that I'm getting, the same as mentioned by peter.detzner in the first post. I already implemented the fix according to the second post as you can see in my code example, but still getting the error.
Same happens btw for the GPS-position x: 15.0653484, y: 47.0596209 so we had this issue in several cases lately. It occurs when the last bit of the route to the destination is a pedestrian area or similar, I think.
I already tried FUZZY_LINKING ...
Code: Select all
"waypoints":
[
{"coords":[{"point":{"x":16.3492375,"y":48.254322}}],"linkType":"NEXT_SEGMENT"},
{"coords":[{"point":{"x":16.3136262,"y":48.220700}}],"linkType":"FUZZY_LINKING","fuzzyRadius":250},
{"coords":[{"point":{"x":16.3492375,"y":48.254322}}],"linkType":"NEXT_SEGMENT"}
],
... but still getting the same error.
The documentation for linkType = NEXT_SEGMENT says
The waypoint has to be linked to the geographically nearest valid segment within the configured link distance. A segment is valid if it can be used by the configured vehicle type.
How can I configure the link distance mentioned here?
Re: Cannot caluclate route concerning leg *number*
Posted: Fri Aug 25, 2017 9:13 am
by Bernd Welter
Hello Gerhard,
The linking distances are part of the node WAYPOINT:
Code: Select all
<Waypoint linkType="ROAD" maximumDistanceToCombinedTransport="100" maximumDistanceToSegment="1000">
<LinkTypeConfiguration>
<Road headingTolerance="360" maximumDistanceForNetworkClass0="1000" maximumNetworkClass="7" minimumNetworkClass="0" onlyReachableRoads="true"/>
<Smart checkNetworkClassOnlyForVias="true" maximumDistanceToMainNode="100" maximumDistanceToMainNodeForNetworkClass0="1500"/>
<TollStation maximumDistance="1000"/>
<RoadName maximumDistance="3000" maximumDistanceToMainNode="2000"/>
</LinkTypeConfiguration>
</Waypoint>
I recommend to use AUTO_LINKING as the Linking Type for the Waypoints via the API / JSON.
Best regards,
Bernd
PS:
Fuzzy linking is a mechanism that is only valid for inner waypoints (not start or end) because the target of FUZZY is to push a route on a specific area (e.g. standard route from Hamburg to Munich takes a track through West Germany and you'd like to push East Germany).
Re: Cannot caluclate route concerning leg *number*
Posted: Fri Aug 25, 2017 9:31 am
by Gerhard
Hi Bernd,
thank you for the prompt and detailed explanation. Regrettably neither changing the linkType to AUTO_LINKING, nor the Waypoint XML-Code solved my problem.
Here's the code I tried (even changed the maximumDistance* vars from 100 to 1000):
Code: Select all
{
"waypoints":
[
{"coords":[{"point":{"x":16.3492375,"y":48.254322}}],"linkType":"NEXT_SEGMENT"},
{"coords":[{"point":{"x":16.3136262,"y":48.220700}}],"linkType":"AUTO_LINKING","viaType":{"viaType":"VIA_STOP"}},
{"coords":[{"point":{"x":16.3492375,"y":48.254322}}],"linkType":"NEXT_SEGMENT"}
],
"options":
[
{"parameter":"OPTIMIZATION","value":90}
],
"exceptionPaths":null,
"details":
{
"polygon":true,
"boundingRectanglesC":1,
"boundingRectanglesOffset":300,
"totalRectangle":true
},
"callerContext":
{
"properties":
[
{"key":"Profile","value":"delivery"},
{"key":"CoordFormat","value":"OG_GEODECIMAL"},
{"key":"ResponseGeometry","value":"PLAIN"},
{"key":"ProfileXMLSnippet","value":"<Profile xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:noNamespaceSchemaLocation='http://localhost:50090/xtour/schema/XTourProfile.xsd'><Routing majorVersion=\"2\" minorVersion=\"0\"><Waypoint linkType=\"ROAD\" maximumDistanceToCombinedTransport=\"1000\" maximumDistanceToSegment=\"1000\"><LinkTypeConfiguration><Road headingTolerance=\"360\" maximumDistanceForNetworkClass0=\"1000\" maximumNetworkClass=\"7\" minimumNetworkClass=\"0\" onlyReachableRoads=\"true\"/><Smart checkNetworkClassOnlyForVias=\"true\" maximumDistanceToMainNode=\"1000\" maximumDistanceToMainNodeForNetworkClass0=\"1500\"/><TollStation maximumDistance=\"1000\"/><RoadName maximumDistance=\"3000\" maximumDistanceToMainNode=\"2000\"/></LinkTypeConfiguration></Waypoint><Course><BasicDataRules><VehicleSpecific><DeliveryVehicles segmentMalus=\"2500\"/><EmergencyVehicles segmentMalus=\"2501\" turningBanCost=\"50000\"/><AuthorizedVehicles turningBanCost=\"50000\"/></VehicleSpecific></BasicDataRules><Violations><SegmentBlockingViolations enabled=\"true\" cost=\"50000\"/></Violations></Course><Vehicle><Legal><LegalCondition isAuthorized=\"true\" isDelivery=\"true\" isEmergency=\"true\" /></Legal></Vehicle></Routing></Profile>"}
]
}
}
Any suggestions on how to solve the issue?
Thanks again!
Re: Cannot caluclate route concerning leg *number*
Posted: Wed Aug 30, 2017 10:45 am
by Gerhard
No solution for this?
Re: Cannot caluclate route concerning leg *number*
Posted: Thu Aug 31, 2017 3:56 pm
by Bernd Welter
Hello again,
sorry, didn't have time for deeper analysis so far. From what I see there are two topics involved:
- the map you use - the behaviour does not occur in the same way with other maps
- the delivery flag: alternating this boolean parameter switches from error (isDelivery=true) and success (isDelivery=false)
Code: Select all
<Profile xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:noNamespaceSchemaLocation='http://localhost:50090/xtour/schema/XTourProfile.xsd'>
<Routing majorVersion="2" minorVersion="0">
<Vehicle>
<Legal>
<LegalCondition isAuthorized="false" isDelivery="true" isEmergency="false" />
</Legal>
</Vehicle>
</Routing>
</Profile>
@Joost, Julien: any clue why this happens? I would understand it the other way round but not like that.
Could an error in the data cause this?
Best regards Bernd