Routing through restricted area

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

Routing through restricted area

Post by biro.daniel »

Hello guys,
Despite the below PTV_TruckAttributes and the AxleLoad 11500 (kg) in VehicleProfile settings ptv gives back a route across downtown Budapest by requesting the route between Székesfehérvár and Üröm.
Feature layer_PtvTruckAttributes.PNG
Route across the restricted area.PNG
Could you please help us how is it possible to get back the mentioned route considering the used truck vehicle profile and truck attributes?

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

Re: Routing through restricted area

Post by Bernd Welter »

Hello Daniel,

please provide the XML request you used to us. Maybe the config is also relevant.
Which service do you use? Local installation or cloud?

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

Re: Routing through restricted area

Post by biro.daniel »

Dear Bernd,

The used service is xRoute 1.22.0.5, local installation.
Please find the xml request and configuration.

REQUEST:

Code: Select all

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <calculateExtendedRoute xmlns="http://types.xroute.xserver.ptvag.com">
      <ArrayOfWaypointDesc_1>
        <WaypointDesc fuzzyRadius="0" linkType="NEXT_SEGMENT" xmlns="http://xroute.xserver.ptvag.com">
          <wrappedCoords>
            <Point xmlns="http://common.xserver.ptvag.com">
              <kml xsi:nil="true"/>
              <point x="18.41035" y="47.19612"/>
            </Point>
          </wrappedCoords>
          <nodeID xsi:nil="true"/>
          <wrappedRoutingOptions xsi:nil="true"/>
          <wrappedSegmentID xsi:nil="true"/>
          <wrappedVehicleOptions xsi:nil="true"/>
          <viaType xsi:nil="true"/>
        </WaypointDesc>
        <WaypointDesc fuzzyRadius="0" linkType="NEXT_SEGMENT" xmlns="http://xroute.xserver.ptvag.com">
          <wrappedCoords>
            <Point xmlns="http://common.xserver.ptvag.com">
              <kml xsi:nil="true"/>
              <point x="19.01361" y="47.5993"/>
            </Point>
          </wrappedCoords>
          <nodeID xsi:nil="true"/>
          <wrappedRoutingOptions xsi:nil="true"/>
          <wrappedSegmentID xsi:nil="true"/>
          <wrappedVehicleOptions xsi:nil="true"/>
          <viaType xsi:nil="true"/>
        </WaypointDesc>
      </ArrayOfWaypointDesc_1>
      <ArrayOfRoutingOption_2>
        <RoutingOption parameter="IS_DESTTIME" value="false" xmlns="http://xroute.xserver.ptvag.com"/>
        <RoutingOption parameter="GENERATE_EXTWAYPOINTS" value="false" xmlns="http://xroute.xserver.ptvag.com"/>
        <RoutingOption parameter="ROUTE_LANGUAGE" value="GA" xmlns="http://xroute.xserver.ptvag.com"/>
        <RoutingOption parameter="REQUEST_VERSION" value="1.4.5" xmlns="http://xroute.xserver.ptvag.com"/>
        <RoutingOption parameter="ENABLE_ROADEDITOR" value="true" xmlns="http://xroute.xserver.ptvag.com"/>
        <RoutingOption parameter="ROADEDITOR_LAYERNAME" value="TruckAttributes_EUR" xmlns="http://xroute.xserver.ptvag.com"/>
        <RoutingOption parameter="ROADEDITOR_ADDITIONAL_OPTIONS" value="MAX_WEIGHT=40000,MAX_HEIGHT=400,MAX_WIDTH=250,MAX_LENGTH=1750,MAX_AXLE_LOAD=1150" xmlns="http://xroute.xserver.ptvag.com"/>
        <RoutingOption parameter="AVOID_FERRIES" value="500" xmlns="http://xroute.xserver.ptvag.com"/>
        <RoutingOption parameter="EXCLUDE_COUNTRIES" value="41" xmlns="http://xroute.xserver.ptvag.com"/>
      </ArrayOfRoutingOption_2>
      <ArrayOfExceptionPath_3 xsi:nil="true"/>
      <ResultListOptions_4 totalRectangle="true" tollManoeuvres="false" texts="false" segments="true" segmentAttributes="false" polygon="true" nodes="false" manoeuvreGroups="false" urbanManoeuvres="false" manoeuvreAttributes="false" dynamicInfo="false" detailLevel="STANDARD" brunnelManoeuvres="false" boundingRectanglesOffset="0" boundingRectanglesC="0" binaryPathDesc="false" manoeuvres="true">
        <cenEmissionConfiguration xsi:nil="true" xmlns="http://xroute.xserver.ptvag.com"/>
        <destDetail xsi:nil="true" xmlns="http://xroute.xserver.ptvag.com"/>
        <emissions xsi:nil="true" xmlns="http://xroute.xserver.ptvag.com"/>
        <hbefaType xsi:nil="true" xmlns="http://xroute.xserver.ptvag.com"/>
        <startDetail xsi:nil="true" xmlns="http://xroute.xserver.ptvag.com"/>
      </ResultListOptions_4>
      <CountryInfoOptions_5 xsi:type="q1:CountryInfoVehicleOptions" allEuro="true" calculatePartTollCosts="true" detailedTollCosts="false" xmlns:q1="http://xroute.xserver.ptvag.com">
        <q1:wrappedReductionIDs xsi:nil="true"/>
        <q1:wrappedTollScenarios xsi:nil="true"/>
        <q1:wrappedOptions>
          <q1:VehicleOption parameter="EMISSION_CLASS" value="EURO_6"/>
        </q1:wrappedOptions>
      </CountryInfoOptions_5>
      <CallerContext_6 log1="NEXOGEN" log2="" log3="">
        <wrappedProperties xmlns="http://baseservices.service.jabba.ptvag.com">
          <CallerContextProperty key="CoordFormat" value="OG_GEODECIMAL"/>
          <CallerContextProperty key="ResponseGeometry" value="PLAIN"/>
          <CallerContextProperty key="Profile" value="wmap_1.0.0.17744"/>
        </wrappedProperties>
      </CallerContext_6>
    </calculateExtendedRoute>
  </s:Body>
</s:Envelope>
CONFIG:

Code: Select all

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Profile xmlns:ns2="http://www.ptv.de/com/ptvag/xserver/engines/xpoidbaccess">
    <Common language="de" majorVersion="1" minorVersion="0"/>
    <Routing majorVersion="2" minorVersion="0">
        <Waypoint maximumDistanceToSegment="50000">
            <LinkTypeConfiguration>
                <Road headingTolerance="45.0"/>			
            </LinkTypeConfiguration>
        </Waypoint>
        <Algorithm aStarAggressiveness="1.3">
            <LevellingScopeByNetworkClass searchSpace="-1"/>
            <LevellingScopeByNetworkClass searchSpace="-1"/>
            <LevellingScopeByNetworkClass searchSpace="-1"/>
            <LevellingScopeByNetworkClass searchSpace="200"/>
            <LevellingScopeByNetworkClass searchSpace="100"/>
            <LevellingScopeByNetworkClass searchSpace="100"/>
            <LevellingScopeByNetworkClass searchSpace="10"/>
            <LevellingScopeByNetworkClass searchSpace="10"/>
        </Algorithm>
        <Course distanceTimeWeighting="70">
            <BasicDataRules>
                <VehicleSpecific>
                    <EmergencyVehicles segmentMalus="2501"/>
                    <ProjectSpecificVehicles blockedSegmentMalus="2501"/>
                </VehicleSpecific>
                <Network rampMalus="10">
                    <MalusByNetworkClass malus="-40"/>
                    <MalusByNetworkClass malus="0"/>
                    <MalusByNetworkClass malus="0"/>
                    <MalusByNetworkClass malus="0"/>
                    <MalusByNetworkClass malus="60"/>
                    <MalusByNetworkClass malus="82"/>
                    <MalusByNetworkClass malus="100"/>
                    <MalusByNetworkClass malus="100"/>
                </Network>
				<Toll tollMalus="55" vignetteMalus="55"></Toll>
                <SpecialAreas residentialMalus="255" urbanMalus="50"/>
                <CombinedTransport ferryMalus="500" piggybackMalus="500"/>
            </BasicDataRules>
            <AdditionalDataRules>
				<Legacy>
                    <KeyValue key="MaxHeight" enabled="true" threshold="400"/>
                    <KeyValue key="MaxWeight" enabled="true" threshold="40000"/>
                    <KeyValue key="MaxWidth" enabled="true" threshold="250"/>
                    <KeyValue key="MaxLength" enabled="true" threshold="17500"/>
                    <KeyValue key="MaxAxleLoad" enabled="true" threshold="11500"/>
                    <!-- 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="400"/>
                    <KeyValue key="DirOptCondMalus2" enabled="true" malus="2501" threshold="400"/>
                    <KeyValue key="DirOptCondMalus3" enabled="true" malus="2501" threshold="400"/>
                    <KeyValue key="DirOptCondMalus4" enabled="true" malus="2501" threshold="400"/>
                    <KeyValue key="DirOptCondMalus5" enabled="true" malus="255" threshold="400"/>
                    <KeyValue key="DirOptCondMalus6" enabled="true" malus="300" threshold="400"/>
                    <KeyValue key="DirOptCondMalus7" enabled="true" malus="2500" threshold="400"/>
                    <KeyValue key="DirOptCondMalus8" enabled="true" malus="-99" threshold="400"/>
                    <KeyValue key="DirOptCondMalus9" enabled="true" malus="-99" threshold="400"/>
                    <KeyValue key="Trailer" enabled="false" malus="2501"/>
                    <KeyValue key="ResidentialTrucks" enabled="true" malus="2500"/>
                    <KeyValue key="DeliveryTrucks" enabled="true" malus="200"/>
                    <KeyValue key="PublicTrucks" enabled="true" malus="2501"/>
                    <KeyValue key="PreferredTrucks" enabled="true" malus="-99"/>
                    <KeyValue key="PreferredHazardousTrucks" enabled="true" malus="-99"/>
                </Legacy>
                <SegmentSpecific useSegmentLength="true" useFerryLength="true" useFerryDuration="true" useUrbanAttribute="true" useRampAttribute="true" useSpeed="true" useBlockedForCarsAttribute="true" useBlockedForTrucksAttribute="true" useTollForCarsAttribute="true" useTollForTrucksAttribute="true"/>
            </AdditionalDataRules>
            <DynamicRouting>
                <SpeedMapping baseSpeed="1" mappedSpeed="1"/>
                <SpeedMapping baseSpeed="10" mappedSpeed="10"/>
                <SpeedMapping baseSpeed="20" mappedSpeed="20"/>
                <SpeedMapping baseSpeed="30" mappedSpeed="30"/>
                <SpeedMapping baseSpeed="40" mappedSpeed="40"/>
                <SpeedMapping baseSpeed="50" mappedSpeed="50"/>
                <SpeedMapping baseSpeed="60" mappedSpeed="56"/>
                <SpeedMapping baseSpeed="70" mappedSpeed="61"/>
                <SpeedMapping baseSpeed="80" mappedSpeed="66"/>
                <SpeedMapping baseSpeed="90" mappedSpeed="69"/>
                <SpeedMapping baseSpeed="100" mappedSpeed="72"/>
                <SpeedMapping baseSpeed="110" mappedSpeed="73"/>
                <SpeedMapping baseSpeed="120" mappedSpeed="74"/>
                <SpeedMapping baseSpeed="130" mappedSpeed="75"/>
                <SpeedMapping baseSpeed="140" mappedSpeed="75"/>
                <DynamicTimeStep size="900"/>
            </DynamicRouting>
        </Course>
        <Vehicle>
            <Physical>
                <Drive>
                    <Emissions emissionTechnology="EXHAUST_GAS_RECIRCULATION"/>
                    <Engine cylinderCapacity="12000" fuelConsumption="30.0"/>
                </Drive>
                <Weight emptyWeight="15000" totalPermittedWeight="40000" loadWeight="25000"/>
                <Axle axleLoad="11500" numberOfAxles="5"/>
                <Trailer emptyWeight="15000"/>
                <Passenger maximumPermittedNumberOfPassengers="1"/>
                <Dimension height="400" length="1800" width="254"/>
            </Physical>
            <Legal>
                <LegalCondition isAuthorized="true" isDelivery="true"/>
            </Legal>
            <Load loadType="GOODS"/>
            <Speed>
                <SpeedRangeByNetworkClass minimumSpeed="55" maximumSpeed="80"/>
                <SpeedRangeByNetworkClass minimumSpeed="30" maximumSpeed="65"/>
                <SpeedRangeByNetworkClass minimumSpeed="23" maximumSpeed="55"/>
                <SpeedRangeByNetworkClass minimumSpeed="20" maximumSpeed="45"/>
                <SpeedRangeByNetworkClass minimumSpeed="18" maximumSpeed="40"/>
                <SpeedRangeByNetworkClass minimumSpeed="15" maximumSpeed="30"/>
                <SpeedRangeByNetworkClass minimumSpeed="15" maximumSpeed="30"/>
                <SpeedRangeByNetworkClass minimumSpeed="15" maximumSpeed="30"/>
            </Speed>
        </Vehicle>
        <Isochrone>
            <NodeBasedPolygon filterMode="WEAK" firstSmoothingAngle="3.0" secondSmoothingAngle="0.0"/>
        </Isochrone>
        <RouteList>
            <Maneuvers>
                <Bridges maneuvers="true" minimumLength="1000" maximumDistanceBehind="1000"/>
                <Tunnels maneuvers="true" minimumLength="1000" maximumDistanceBehind="1000"/>
                <Urban information="true" minimumNetworkClassForInformation="2" minimumDistanceForManeuvers="1000"/>
            </Maneuvers>
            <ManeuverGroups maximumDistanceBetweenManeuvers="500">
                <BoundingBox offset="1443"/>
            </ManeuverGroups>
        </RouteList>
        <AdditionalRules maximumAirLineDistance="4294967295">
            <ExceptionPaths>
                <Binary validate="true"/>
            </ExceptionPaths>
        </AdditionalRules>
    </Routing>
</Profile>
BR
Daniel
User avatar
Bernd Welter
Site Admin
Posts: 2695
Joined: Mon Apr 14, 2014 10:28 am
Contact:

Re: Routing through restricted area

Post by Bernd Welter »

Hello Daniel,

I made some tests with your profile and I get almost the same polygon structure when your constraints are activated.
The &quot;shortest&quot; route in the western part of Budapest uses segments where certain restrictions apply. I can see them after enabling VIOLATIONS with COST=0.
The "shortest" route in the western part of Budapest uses segments where certain restrictions apply. I can see them after enabling VIOLATIONS with COST=0.
By activating both additional datasources (binary TruckAttributes + FeatureLayers) a large detour occurs.
By activating both additional datasources (binary TruckAttributes + FeatureLayers) a large detour occurs.
Only binary truckattributes activated: straight through the city.
Only binary truckattributes activated: straight through the city.
So the next thing I did was to compare the datasources.
Looks like the FEATURE layers contain more data than the BINARY TRUCK ATTRIBUTES:
Both FeatureLayer plus Binary...
Both FeatureLayer plus Binary...
TruckAttributes only
TruckAttributes only
FeatureLayer only
FeatureLayer only
If you want to consider the feature layers, too, you have to add this to the profile:

Code: Select all

<FeatureLayer majorVersion='1' minorVersion='0'>
	<GlobalSettings enableTimeDependency='True'/>
	<Themes>
		<Theme id='PTV_TruckAttributes' enabled='True' priorityLevel='0'/>
		<Theme id='PTV_RestrictionZones' enabled='True' priorityLevel='0'/>
	</Themes>
</FeatureLayer>
Does this help?
I can add further statistic reports to the testclient if needed.

Best regards
Bernd
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:
User avatar
Bernd Welter
Site Admin
Posts: 2695
Joined: Mon Apr 14, 2014 10:28 am
Contact:

Re: Routing through restricted area

Post by Bernd Welter »

Just spoke to a data department expert. The legal conditions of most of these additional attributes are time dependent.

The traditional binary road editor files contain only attributes which are enabled EVERYtime while feature layer based attributes contain both permanent and time dependent restrictions.

This is probably the cause for the behaviour experienced above.
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:
Post Reply