BinaryPathDescription does not work in different environment

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.
Post Reply
biro.daniel
Posts: 41
Joined: Tue Aug 23, 2016 8:08 am

BinaryPathDescription does not work in different environment

Post by biro.daniel »

Dear Bernd,

Currently, we face the following issue: when transferring data using database dump between different environments, the BinaryPathDescription created by xRoute in one environment did not work in the other environment. During routing, we got the following error:

Code: Select all

INFO   | 2018-03-08 12:21:12,695;WS calculateRouteInfo
INFO   | 2018-03-08 12:21:12,695;INFO;ConsoleLogger;WS calculateRouteInfo
INFO   | 2018-03-08 12:21:12,719;WARN;com.ptvag.xserver.module.xroute.m0001;b166c3a4-0a2b-40ec-afda-ac312dbcd47e;NEXOGEN;;;MESSAGE-STACK:
INFO   | 2018-03-08 12:21:12,720;WARN;com.ptvag.xserver.module.xroute.m0001;b166c3a4-0a2b-40ec-afda-ac312dbcd47e;NEXOGEN;;;CODE:   ERROR (2150)
INFO   | 2018-03-08 12:21:12,720;WARN;com.ptvag.xserver.module.xroute.m0001;b166c3a4-0a2b-40ec-afda-ac312dbcd47e;NEXOGEN;;;ORIGIN: XROUTEMODULE
INFO   | 2018-03-08 12:21:12,720;WARN;com.ptvag.xserver.module.xroute.m0001;b166c3a4-0a2b-40ec-afda-ac312dbcd47e;NEXOGEN;;;DESCR:  the binary path description is corrupt
INFO   | 2018-03-08 12:21:12,720;WARN;com.ptvag.xserver.module.xroute.m0001;b166c3a4-0a2b-40ec-afda-ac312dbcd47e;NEXOGEN;;;REASONS/TODO:
INFO   | 2018-03-08 12:21:12,721;WARN;com.ptvag.xserver.module.xroute.m0001;b166c3a4-0a2b-40ec-afda-ac312dbcd47e;NEXOGEN;;;-
INFO   | 2018-03-08 12:21:12,721;WARN;com.ptvag.xserver.module.xroute.m0001;b166c3a4-0a2b-40ec-afda-ac312dbcd47e;NEXOGEN
We suspect that it might be caused by different map versions. Do you think that the differing map version can cause such an error?

Is it possible that another representation of the exception path can solve this problem? E.g. using exception path with node list.

Besides, we would like to request information regarding the possible length of BinaryPathDescription. Is there any limitation on that?

Based on your answer, we could decide whether it is needed to store them in an other format, and send them with those PTV requests, where the exceptions are activated, or we simply need to generate the IDs of exception path again.

Thank you in advance!
Daniel
User avatar
Bernd Welter
Site Admin
Posts: 2695
Joined: Mon Apr 14, 2014 10:28 am
Contact:

Re: BinaryPathDescription does not work in different environ

Post by Bernd Welter »

Hello Daniel,

you are right: the BinaryPathDescription is linked to the map version so if yxou want to "forward" a route description from one map (server) to another map (server) you have to consider this important detail.

Probably the following two values taken from /conf/xRoute.Properties might help:

Code: Select all

# Due to performance reasons the length of an exception path's polyline is limited. 
# Please note that this number includes the automatically inserted points
# which increase the accuracy. Refer to the profile parameters routingParameter.exceptionPath.*
# in order to control the number of points of the polyline.
# The computation time is proportional to the length of the polyline.
# -1 denotes unlimited length.
# since 1.10
#
router.exceptionPath.polylineMaxLength=10000

#
# Each binary path description within an ExceptionPath element will be checked against 
# the map currently in use, and an error will be returned if the check fails. 
# To increase performance this key can be modified, but make sure that all binary path 
# descriptions are correct. 
# Sending incorrect values will make PTV xRoute Server behave non-deterministically.
# since 1.10.1
#
router.exceptionPath.disableBinaryPathCheck=false
Best regards,
Bernd

PS: not sure whether approaching the references by nodes instead of binary path will help: node IDs also depend on the map version
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:
Joost
Posts: 310
Joined: Fri Apr 25, 2014 1:46 pm

Re: BinaryPathDescription does not work in different environ

Post by Joost »

When transferring a route between different maps you are better off to save the polygon and giving that to the new map as an Exception path with relMalus = -99 and polyline = <old polygon>. The performance of this is not as good as binaryPathDescription so I recommend to use polygon for transferring between map version and binaryPathDescription in the same map.

Tip: if you decide to implement this, when requesting the polygon set the ResponseGeometry to include WKT or WKT, these are much easier to store then PLAIN.
Joost Claessen
Senior Technical Consultant
PTV Benelux
Post Reply