High-performance routing is based on pre-calculated routing networks that use a pre-defined map and route calculation profile instead of conventional road networks. Using pre-calculated routing networks may be less flexible, but provides a huge advantage in accessing times. Especially for large distance matrix calculation instances, the speed-up is crucial.
significantly reduce distance calculation times for pre-defined combinations of map and route calculation profile
maintain flexibility for other combinations of map and profile due to the fact that PTV xServer automatically switch to conventional routing if necessary
In order to use high-performance routing with the PTV xServer, you need to ensure that the following licence keys are set:
You can check the license content once the server has been started in the management console.
PTV xDima Server, PTV xTerritory Server, and PTV xTour Server support high-performance routing for all methods. The table below shows the methods which support high-performance routing in PTV xRoute Server.
service method | high-performance routing |
---|---|
calculateRouteInfo | x |
calculateBulkRouteInfo | x |
calculateRoute | x |
calculateExtendedRoute | x |
calculateTour | - |
calculateAdvancedTour | x |
calculateMatrixInfo | x |
calculateReachableObjects | - |
searchForReachableObjects | - |
calculateIsochrones | - |
A separate high-performance routing network has to be generated for each configuration of map and route calculation profile that should be used. Further information on how to generate high-performance routing networks can be found in the section Technical Concepts/About High-Performance Routing.
maps.highPerformanceRoutingNetworkDir=[FULL PATH]
PROFILENAME.chData
(e.g. dimaTruck.chData, default.chData
). Caution: PTV xRoute Server uses only lower-case profile names. That means the names of the corresponding high-performance routing networks have to be lower-case, too.
High-performance routing networks are generated for distance calculation profiles (e.g dimaTruck or truckfast), the corresponding .xml file has to be in the conf/profiles folder of the PTV xServer.
If high-performance routing is configured it is used whenever possible, the decision is based on the profile name. If routes are calculated using a XML profile for which a high-performance routing network is available, the pre-calculated routing network will be used. This means especially that even if the profile has changed on the file system, only the parameters that are stored in the routing network are considered.
The distance calculation profile (e.g. dimaTruck) cannot be set directly in the request. It has to be linked to the PTV xDima server profile (e.g. truck) in the profile properties file (e.g. xdima-truck.properties). By setting the VehicleType in the DimaProfile one of two entries in the server profile - dimaProfile.car or dimaProfile.truck - is used.
The usage of profile snippets is not supported at all.
PTV xRoute Server has various possibilities to configure parameters for route calculation, which complicates the decision when to use high-performance routing. So the basic policy is: if there are any changes to the effective profile, conventional routing will be used. In more detail: high-performance routing cannot be used if ...
tollDate
or tollScenarios
are set in the CountryInfoOptions.Profile snippet usage is only supported for the node TerritoryPlanning.
If the profiles for distance calculation are not set separately (DistanceMatrixCalculation), the PTV xTour Server profile (e.g. truck) has to be linked to the corresponding distance calculation profile (e.g. dimaTruck) in the profile properties file (e.g. xtour-truck.properties).
The usage of profile snippets is not supported together with high-performance routing.
To check the correct usage of high-performance routing, DEBUG
logging has to be enabled. The logging configuration
logger.ptvag.level=INFOhas to be changed to
DEBUG
in both files xroute/conf/module-logging.properties and xroute/conf/server-logging.properties.
For troubleshooting enable engine logs by altering the log level
log4j.logger.DimaCtrl=INFO,Fin conf/logging.properties. The engine log will be printed to logs/engine.log.
If the high-performance routing network does not match the configured map, distance matrix calculation will cause an engine error that is logged into the engine.log file.
If no high-performance routing network is specified for the utilised vehicle profile, conventional distance matrix calculation is used.
To check the successful use of high-performance routing network distance calculation, look for the following log output when calculating a distance table:
INFO DimaCtrl.General - *** Distance table calculation for Dima 1 *** INFO DimaCtrl.General - Dima directory : D:/Test/xtour-x64-1.18.2.0/data/dima//1/ INFO DimaCtrl.General - Net path : D:/xServer/data/dach-tt13-1/ INFO DimaCtrl.General - Search graph : D:/xServer/data/dach-tt13-1/CH/dimaCar.chData
If the line that says Search graph
is not present, no high-performance routing network was used for this distance matrix.
Copyright © 2024 PTV Logistics GmbH All rights reserved. | Imprint