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? :cry:

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