Page 1 of 1

BinaryPathDescription does not work in different environment

Posted: Thu Mar 08, 2018 2:33 pm
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

Re: BinaryPathDescription does not work in different environ

Posted: Thu Mar 08, 2018 3:00 pm
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

Re: BinaryPathDescription does not work in different environ

Posted: Fri Mar 09, 2018 12:10 pm
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.