Cannot caluclate route concerning leg *number*

This forum deals with any kind of routing computation whether it is simple A:B-routing, calculation of isochrones, simple matrix computation or nearest search.
peter.detzner
Posts: 12
Joined: Fri Feb 10, 2017 6:57 am

Cannot caluclate route concerning leg *number*

Post 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
Joost
Posts: 307
Joined: Fri Apr 25, 2014 1:46 pm

Re: Cannot caluclate route concerning leg *number*

Post 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.
Joost Claessen
Senior Technical Consultant
PTV Benelux
peter.detzner
Posts: 12
Joined: Fri Feb 10, 2017 6:57 am

Re: Cannot caluclate route concerning leg *number*

Post by peter.detzner »

Thank you! The link solved my issue. Just changed the profile!
Gerhard
Posts: 11
Joined: Thu Aug 11, 2016 6:41 pm

Re: Cannot caluclate route concerning leg *number*

Post 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>"}
    ]
  }
}
User avatar
Bernd Welter
Site Admin
Posts: 2564
Joined: Mon Apr 14, 2014 10:28 am
Contact:

Re: Cannot caluclate route concerning leg *number*

Post 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
Bernd Welter
Technical Partner Manager Developer Components
PTV Logistics - Germany

Bernd at... The Forum,LinkedIn, Youtube, StackOverflow
I like the smell of PTV Developer in the morning... :twisted:
Gerhard
Posts: 11
Joined: Thu Aug 11, 2016 6:41 pm

Re: Cannot caluclate route concerning leg *number*

Post 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?
User avatar
Bernd Welter
Site Admin
Posts: 2564
Joined: Mon Apr 14, 2014 10:28 am
Contact:

Re: Cannot caluclate route concerning leg *number*

Post 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).
Bernd Welter
Technical Partner Manager Developer Components
PTV Logistics - Germany

Bernd at... The Forum,LinkedIn, Youtube, StackOverflow
I like the smell of PTV Developer in the morning... :twisted:
Gerhard
Posts: 11
Joined: Thu Aug 11, 2016 6:41 pm

Re: Cannot caluclate route concerning leg *number*

Post 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!
Gerhard
Posts: 11
Joined: Thu Aug 11, 2016 6:41 pm

Re: Cannot caluclate route concerning leg *number*

Post by Gerhard »

No solution for this? :cry:
User avatar
Bernd Welter
Site Admin
Posts: 2564
Joined: Mon Apr 14, 2014 10:28 am
Contact:

Re: Cannot caluclate route concerning leg *number*

Post 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
Bernd Welter
Technical Partner Manager Developer Components
PTV Logistics - Germany

Bernd at... The Forum,LinkedIn, Youtube, StackOverflow
I like the smell of PTV Developer in the morning... :twisted:
Post Reply