Extraordinary circuitous routes

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
cscsgy
Posts: 2
Joined: Tue Sep 23, 2014 4:32 pm

Extraordinary circuitous routes

Post by cscsgy »

Dear Forum members,

We have found some cases where the planned routes are very circuitous.
Attached please find some pictures of these results. The Ro2 picture shows a route in Romania and the Ro1 picture shows that if we give a point in the middle then we can get a better route. The same happens in Slovakia as you can see in the pictures Sk2 and Sk1.

We are using PTV 1.18.1.1 with the default mg-truck-40t profile and LinkType.NEXT_SEGMENT for the WayPointDesc.
The coordinates of the points in the examples:
3 points in Slovakia:
Partizanske 48.625902, 18.361612
Novaky 48.724055, 18.554867
Martin 49.060550, 18.905037
3 points in Romania:
Uivar 45.661012, 20.897677
Timisoara 45.772853, 21.1988542
Lipova 46.101194, 21.661833

Thank you,
Best Regards,
Csongor
Attachments
Sk2.jpg
Sk1.jpg
Ro2.jpg
Ro1.jpg
User avatar
Bernd Welter
Site Admin
Posts: 2695
Joined: Mon Apr 14, 2014 10:28 am
Contact:

Re: Extraordinary circuitous routes

Post by Bernd Welter »

Hello Csongor,

such effects may be caused by different constraints due to the characteristics of a heuristic. For a proper diagnosis we need more details (such as the used map data and the complete conf folder). But: please check the following geographic conditions:

We are working with so-called levelling mechanisms, that means we are reducing the available data structures: while the european street network is based on more than 50.000.000 segments we consider some logic simplifications: the algorithms try to get on high level roads as quick as possible. This is why sacrifice low level roads that are far away from any of the participating waypoints. Look at the configuration of the routing profile:

Code: Select all

<Algorithm aStarAggressiveness="1.3">
<LevellingScopeByNetworkClass searchSpace="-1"/>
<LevellingScopeByNetworkClass searchSpace="-1"/>
<LevellingScopeByNetworkClass searchSpace="-1"/>
<LevellingScopeByNetworkClass searchSpace="200"/>
<LevellingScopeByNetworkClass searchSpace="20"/>
<LevellingScopeByNetworkClass searchSpace="10"/>
<LevellingScopeByNetworkClass searchSpace="10"/>
<LevellingScopeByNetworkClass searchSpace="10"/>
</Algorithm>
http://xserver.ptvgroup.com/fileadmin/f ... tworkClass

Those leveling scopes configure
  • -1 = use any segment of this network class (consider any motorway, highway, trunk road in the whole map)
  • 200 = delete any country roads segment that is located further away than 200 tiles (about 100km) from a waypoint
  • 20 = delete any city roads segment that is located further away than 20 tiles (about 10km) from a waypoint
  • 10 = delete any residential roads, special, ... segment that is located further away than 10 tiles (about 5km) from a waypoint
Usually you are able to compute a sufficient route quality with a much better performance. But in fact in some geographies this could lead to strange routing geometries.

Maybe the detour is using only higher level roads but by adding this special waypoint in the middle you are virtually adding some more low level road in the scope of this routing.

Look at this screenshot:
country roads
country roads
As you can see the routing track uses some trunk roads that are located at about 50km from the start - tehy might be unavailable in the data setting you use...
the map
the map
Maybe this is the cause for the issue?

Regards from Germany,

Bernd
cscsgy
Posts: 2
Joined: Tue Sep 23, 2014 4:32 pm

Re: Extraordinary circuitous routes

Post by cscsgy »

Dear Bernd,

thanks a lot for your fast answer.

We are using map data: EuropePremium_2014_2H.geo;

we set the parameters:
RoutingParameter.ENABLE_ROADEDITOR = "true"
RoutingParameter.ROADEDITOR_LAYERNAME = "TruckAttributes_EUR_2014_2H"
RoutingParameter.ROADEDITOR_ADDITIONAL_OPTIONS = "MAX_WEIGHT=40000,MAX_HEIGHT=400,MAX_WIDTH=250,MAX_LENGTH=17500,MAX_AXLE_LOAD=1050"

Our conf folder is the same as the original. The levellling settings remains unchanged too, they are the same as in your xml code.
If we change to: RoutingParameter.ENABLE_ROADEDITOR = "false"
option, then we get the same route as you did. Does your solution include this property?

Thank you,
Best Regardas,
Csongor
User avatar
Bernd Welter
Site Admin
Posts: 2695
Joined: Mon Apr 14, 2014 10:28 am
Contact:

Re: Extraordinary circuitous routes

Post by Bernd Welter »

Hello Csongor,

I computed the default track incl. TruckAttributes data but without vehicle dimensions:

Some segments have special attributes:

Code: Select all

<ns3:segmentAttr isPiggyback="false" lowEmissionZoneType="0" additionalRE="MAX_WEIGHT|1=14000" isPedestrianZone="false" hasSeparator="false" hasExtraToll="false" hasVignetteTruck="false" hasVignetteCar="false" hasTollTruck="true" hasTollCar="false" isBlockedTruck="false" isBlockedCar="false" isFerry="false" brunnelCode="NOTHING"></ns3:segmentAttr>

Code: Select all

<ns3:segmentAttr isPiggyback="false" lowEmissionZoneType="0" additionalRE="MAX_WEIGHT|1=22000" isPedestrianZone="false" hasSeparator="false" hasExtraToll="false" hasVignetteTruck="false" hasVignetteCar="false" hasTollTruck="false" hasTollCar="false" isBlockedTruck="false" isBlockedCar="false" isFerry="false" brunnelCode="NOTHING"></ns3:segmentAttr>

Code: Select all

<ns3:segmentAttr isPiggyback="false" lowEmissionZoneType="0" additionalRE="MAX_WEIGHT|1=18000" isPedestrianZone="false" hasSeparator="false" hasExtraToll="false" hasVignetteTruck="false" hasVignetteCar="false" hasTollTruck="false" hasTollCar="false" isBlockedTruck="false" isBlockedCar="false" isFerry="false" brunnelCode="NOTHING"></ns3:segmentAttr>
So if the used vehicle has more than a specific weight the routing will perform detours.
TruckAttributes
TruckAttributes
I assume that google doesn't consider this "professional" data.

Regards from Germany,

Bernd

PS: Please be aware that I can't replay any customer specific routing here in the forum - I have to focus on the theorie and for some issues I can attach samples
KZsolt
Posts: 51
Joined: Fri Oct 03, 2014 1:19 pm

Re: Extraordinary circuitous routes

Post by KZsolt »

Dear Brend Welter,
I contact you in connection to the previous case We’ve reported in that topic.
We’ve reproduced the issue we faced earlier with the following details:
The 3 points involved in this case are all in Slovakia:
Partizanske 48.625902, 18.361612
Novaky 48.724055, 18.554867
Martin 49.060550, 18.905037
The truck paramethers are the following:
RoutingParameter.ENABLE_ROADEDITOR = "true"
RoutingParameter.ROADEDITOR_LAYERNAME = "TruckAttributes_EUR_2014_2H"
RoutingParameter.ROADEDITOR_ADDITIONAL_OPTIONS = "MAX_WEIGHT=40000"
What we still can not undestand is fairly simple:
As long as we use only the start and end location points, we get the RED route as the planning result (you can see it on the picture I attached). But after we place the third point between the start and end locations we get the ligh blue route instead.
Our question is that if we can use these road segments on the light blue route circuled with yellow during the planning with 3 points, why can’t we use them during the original 2 points planning? The conditions are exactly the same during the 2 planning, it’s only the 3rd point which makes the difference as it seems.

Thank you,
Kiraly Zsolt
Attachments
screenshot.jpg
KZsolt
Posts: 51
Joined: Fri Oct 03, 2014 1:19 pm

Re: Extraordinary circuitous routes

Post by KZsolt »

Dear Mr. Brend Welter,

With a routing profile modification We've managed to solve the issue we faced.
Thank you for the help!

Kiraly Zsolt
Post Reply