M&G vs xRoute route

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
KZsolt
Posts: 51
Joined: Fri Oct 03, 2014 1:19 pm

M&G vs xRoute route

Post by KZsolt »

Helo guys!

I face a strange problem:

When I plan between these 2 points
48.071484, 17.070274 - AT
47.407423, 16.51414 - AT


Map&Guide provide the following route when using the default 40t truck profile:
mng.PNG
When I plan again between the mentioned 2 points, but this time with xRoute and the default 40t truck profile, I get a different route:
xroute.PNG
I've checked the problematic part of the route and according to the segment restrictions, there are some 3.5t limitation on it (red circle). I guess that's the reason why we try to avoid it in Map&Guide.
xroute2.png
The questions are:
If there is a limitation, why don't we avoid that route when planning with xRoute?
Is there a difference between the Map&Guide 40t truck profile and the xRoute version of it?
Is there any tool that I can use to see the segment restrictions (max weight, height etc.) on an xRoute planed route?

The Map we use: 2015.1H
Profile: mg-truck-40t

Thank you,
Zsolt
User avatar
Bernd Welter
Site Admin
Posts: 2572
Joined: Mon Apr 14, 2014 10:28 am
Contact:

Re: M&G vs xRoute route

Post by Bernd Welter »

Hello Zsolt,

I used the XRouteToll testclient to make some analysis with your data in combination with xRoute 1.20.0.0 and PTV_Europe_City_Map_Premium_2015_1H.

Probably a question of the RoadEditor=true versus RoadEditor=false...
I copied the whole XML profile in the test clients ProfileSnippet section and enabled/disabled the @additionalDataRules / @VehicleSpecifc.

If the RoadEditor is enabled the route performs the same detour as with map&guide.
If the RoadEditor is disabled it takes the direct connection.

Best regards
Bernd
KZsolt
Posts: 51
Joined: Fri Oct 03, 2014 1:19 pm

Re: M&G vs xRoute route

Post by KZsolt »

Hey!

Thanks for your answer! If I understood you right, the conclusion is that there is a RoadEditor option which differs in our M&G and xRoute case.
Currently we use the following RoadEditor options when we plan with xRoute:
parameter="ROADEDITOR_LAYERNAME" value="TruckAttributes_EUR"
parameter="ROADEDITOR_ADDITIONAL_OPTIONS" value="MAX_WEIGHT=40000,MAX_HEIGHT=400,MAX_WIDTH=250,MAX_LENGTH=17500,MAX_AXLE_LOAD=1050"

For some reason if I disable/enable the usage of RoadEditor layer I still receive the same (directly connected) route, I guess that comes from the fact that our RoadEditor option is different. But I still can't really understand why don't we get the route with detour as we exceed the 3.5t limitation with our additional option values.

I've attached the profile we use so you could check if there's any relevant difference compared to the M&G one.
mg-truck-40t.zip
(1.52 KiB) Downloaded 449 times
Regards,
Zsolt
KZsolt
Posts: 51
Joined: Fri Oct 03, 2014 1:19 pm

Re: M&G vs xRoute route

Post by KZsolt »

Hey guys!

Sorry but I still have a question in connection to that issue.
I've checked the profile modification that you've sent Bernd, but:
In Map&Guide when checking with Road Editor I see a 3.5t weight limitation on the road north east of Einsenstadt (47.856380 16.634197 - 47.864280 16.645763).
But when planning with xRoute that limitation doesn't appear on the segment restrictions.
I've attached 2 pictures: A Map&Guide pic of a problematic segment with the restrictions, and the planed xRoute track which doesn't have the limitation.
mng.PNG
xroute.PNG
Any idea why can't we see the restriction in the xRoute results?

Thank you,
Zsolt
dsc
Posts: 7
Joined: Fri Apr 25, 2014 1:52 pm

Re: M&G vs xRoute route

Post by dsc »

Hello,

these segment attributes are a bit special. They have conditional restrictions, which are included in the truck attributes but not represented in the profile.

Please add the following attributes in the <AdditionalDataRules> of the profile and try again:
(M&G Desktop values)

<AdditionalDataRules enabled="true" layerName="<RoadEditorLayerName>">
<Legacy>
<KeyValue key="MaxHeight" enabled="true" threshold="400"/>
<KeyValue key="MaxWeight" enabled="true" threshold="4000"/>
<KeyValue key="MaxWidth" enabled="true" threshold="255"/>
<KeyValue key="MaxLength" enabled="true" threshold="16500"/>
<KeyValue key="MaxAxleLoad" enabled="true" threshold="800"/>
<!-- KeyValue key="MaxHeightDir" enabled="true" threshold="40"/>
<KeyValue key="MaxWeightDir" enabled="true" threshold="400"/>
<KeyValue key="MaxWidthDir" enabled="true" threshold="25,5"/>
<KeyValue key="MaxLengthDir" enabled="true" threshold="165"/>
<KeyValue key="MaxAxleLoadDir" enabled="true" threshold="80"/ -->
<KeyValue key="DirOptCondMalus1" enabled="true" malus="2501" threshold="40000"/>
<KeyValue key="DirOptCondMalus2" enabled="true" malus="2501" threshold="40000"/>
<KeyValue key="DirOptCondMalus3" enabled="true" malus="2501" threshold="40000"/>
<KeyValue key="DirOptCondMalus4" enabled="true" malus="2501" threshold="40000"/>
<KeyValue key="DirOptCondMalus5" enabled="true" malus="2500" threshold="40000"/>
<KeyValue key="DirOptCondMalus6" enabled="true" malus="2500" threshold="40000"/>
<KeyValue key="DirOptCondMalus7" enabled="true" malus="2500" threshold="40000"/>
<KeyValue key="DirOptCondMalus8" enabled="true" malus="-99" threshold="40000"/>
<KeyValue key="DirOptCondMalus9" enabled="true" malus="-99" threshold="40000"/>
<KeyValue key="Trailer" enabled="false" malus="2501"/>
<KeyValue key="ResidentialTrucks" enabled="true" malus="2500"/>
<KeyValue key="DeliveryTrucks" enabled="true" malus="2500"/>
<KeyValue key="PublicTrucks" enabled="true" malus="2501"/>
<KeyValue key="PreferredTrucks" enabled="true" malus="-99"/>
<KeyValue key="PreferredHazardousTrucks" enabled="true" malus="-99"/>
</Legacy>

Regards

Daniel
User avatar
Bernd Welter
Site Admin
Posts: 2572
Joined: Mon Apr 14, 2014 10:28 am
Contact:

Re: M&G vs xRoute route

Post by Bernd Welter »

Hello guys,

the testclient XRouteToll used for the xRoute access supports both
  • traditional mapping
  • xServer.NET based mapping
Unfortunately my implementation of the second approch doesn't support visualization of TruckAttributes, this is why you can't see them on the map (though they appear in the segment attributes list): DIR_OPT_COND_MALUS5|0=35....
Not an engine error but a lack of the test client... but: works fine with the approach 1 (traditional mapping)

I found an old piece of documentation that describes that this malus value is interpreted as follows:
  • The segment has a condition: 35.
    The vehicle has a corresponding value.
    If the value of the vehicle exceeds the segments value, the malus is applied on the segment.
  • But: neither the profile nor the request does not mention the vehicles explicit value. I assume the default vehicle value is 0. Which means: no need to apply the malus: use the segment.
  • By parametrizing the vehicles value with DIR_OPT_COND_MALUS5=2500;666 we exceed the segments value, the malus is applied and we take the detour. That's it...
    some segments on the route
    some segments on the route

Best regards Bernd

PS:
Some text from the ancient doc...
Segment attributes with both parameters, a malus and a vehicle property

The following segment attributes have both a parameter which represents a malus (range -99 to 2501) and a numerical vehicle property value (range 0 to 255), i.e. if present in ROADEDITOR_ADDITIONAL_OPTIONS all segments carrying the attribute in question and their values exceeding the threshold will take the given malus. This is useful to avoid or prefer road segments with vehicles having a certain property (e.g. long or heavy trucks). Please note that the first parameter represents the malus and the second parameter represents the vehicle property value (MALUS;VALUE). The latter must be greater than 0 or can be omitted, the vehicle's length (or weight) will then be used. Please note that an error is thrown if omitted and neither MAX_LENGTH (MAX_WEIGHT) nor MAX_LENGTH_DIR (MAX_WEIGHT_DIR) is given.

Please note that the range of the vehicle property value is 0 to 255 (integer values). The meaning of the value is defined by the data producer.

These parameters correspond to the profile element Legacy within AdditionalDataRules:

Code: Select all

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Profile>
   <Routing majorVersion="2" minorVersion="0">
      <Course>
         <AdditionalDataRules enabled="true" layerName="TruckAttributes">
            <Legacy>
                <KeyValue key="DirOptCondMalus1" enabled="true" malus="2501" threshold="100"/>
                <KeyValue key="DirOptCondMalus2" enabled="true" malus="2501" threshold="100"/>
                <KeyValue key="DirOptCondMalus3" enabled="true" malus="2501" threshold="100"/>
                <KeyValue key="DirOptCondMalus4" enabled="true" malus="2501" threshold="100"/>
                <KeyValue key="DirOptCondMalus5" enabled="true" malus="2501" threshold="100"/>
                <KeyValue key="DirOptCondMalus6" enabled="true" malus="2501" threshold="100"/>
                <KeyValue key="DirOptCondMalus7" enabled="true" malus="2501" threshold="100"/>
                <KeyValue key="DirOptCondMalus8" enabled="true" malus="2501" threshold="100"/>
                <KeyValue key="DirOptCondMalus9" enabled="true" malus="2501" threshold="100"/>
                <KeyValue key="DirOptCondMalus10" enabled="true" malus="2501" threshold="100"/>
             </Legacy>
          </AdditionalDataRules>
       </Course>
    </Routing>
 </Profile>
Post Reply