hazardousGoodsType

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.

hazardousGoodsType

Postby mrczeg » Fri Mar 01, 2019 2:13 pm

I have a problem. I use Vehicle => Load => hazardousGoodsType. When I use HAZARDOUS options everything works ok, but when I use HAZARDOUS_TO_WATERS, COMBUSTIBLES or COMBUSTIBLES_HAZARDOUS_TO_WATERS the route goes through areas where "are not allowed for vehicles carrying hazardous goods". Why does it work that way?
mrczeg
 
Posts: 8
Joined: Tue Oct 17, 2017 9:11 am

Re: hazardousGoodsType

Postby Joost » Fri Mar 01, 2019 2:33 pm

Most of the times when a customer reports to me that a form of hazardous routing is not working properly is because the tunnelRestrictionCode (found on the Vehicle => Load element) is not set properly. Please make sure that in both case you are setting this to an appropriate value.

if the tunnelRestrictionCode is set properly, can you provide an example? IIRC HAZARDOUS_TO_WATERS, COMBUSTIBLES or COMBUSTIBLES_HAZARDOUS_TO_WATERS should imply HAZARDOUS.
Joost Claessen
Senior Technical Consultant
PTV Benelux
Joost
 
Posts: 232
Joined: Fri Apr 25, 2014 1:46 pm

Re: hazardousGoodsType

Postby mrczeg » Tue Mar 05, 2019 8:47 am

I do not use tunnelRestrictionCode. Should I use that ?
mrczeg
 
Posts: 8
Joined: Tue Oct 17, 2017 9:11 am

Re: hazardousGoodsType

Postby Joost » Tue Mar 05, 2019 8:54 am

Yes. Tunnels do not have a hazardous good blocking, but a tunnel restriction blocking. From a technical pov these are 2 completely different blocking with no relation between them. There is of course a correlation in reality, but for the algoritme there is none. This is why it is important if you do hazardous good routing to not only set the hazardousGoodType but also the tunnel restriction code.
Joost Claessen
Senior Technical Consultant
PTV Benelux
Joost
 
Posts: 232
Joined: Fri Apr 25, 2014 1:46 pm

Re: hazardousGoodsType

Postby mrczeg » Tue Mar 05, 2019 9:39 am

But in both case I do not use tunnel Restriction Code. I am asking why I have different results for HAZARDOUS and for example HAZARDOUS_TO_WATERS. Why for HAZARDOUS the route do not goes through areas where "are not allowed for vehicles carrying hazardous goods" and for HAZARDOUS_TO_WATERS goes.
mrczeg
 
Posts: 8
Joined: Tue Oct 17, 2017 9:11 am

Re: hazardousGoodsType

Postby Joost » Tue Mar 05, 2019 9:41 am

Can you provide a sample request that demonstrates the issue?
Joost Claessen
Senior Technical Consultant
PTV Benelux
Joost
 
Posts: 232
Joined: Fri Apr 25, 2014 1:46 pm

Re: hazardousGoodsType

Postby mrczeg » Wed Mar 06, 2019 7:38 am

I attached a sample request and a picture for both case.
Attachments
HAZARDOUS.txt
(78.86 KiB) Downloaded 7 times
COMBUSTIBLES.txt
(45.36 KiB) Downloaded 5 times
HAZARDOUS.PNG
COMBUSTIBLES.PNG
mrczeg
 
Posts: 8
Joined: Tue Oct 17, 2017 9:11 am

Re: hazardousGoodsType

Postby Bernd Welter » Wed Mar 06, 2019 12:37 pm

Hello Marcin,

thanks for the files (sent 1:1). I analysed them. Looks like our topic is the combustibles call (Snippet line 11 and 43):
xml code
<?xml version='1.0' encoding='UTF-8'?>
<Profile>
<Routing majorVersion='2' minorVersion='0'>
<Vehicle>
<Physical>
<Weight totalPermittedWeight='8000' emptyWeight='8000' loadWeight='0'/>
<Trailer emptyWeight='0'/>
<Axle axleLoad='2000'/>
<Dimension height='250' length='1000' width='200'/>
</Physical>
<Load loadType='GOODS' hazardousGoodsType='COMBUSTIBLES'/>
<Legal>
<LegalCondition isAuthorized='false' isDelivery='false'></LegalCondition>
</Legal>
<Speed>
<SpeedRangeByNetworkClass maximumSpeed='100' minimumSpeed='55' />
<SpeedRangeByNetworkClass maximumSpeed='60' minimumSpeed='30'>
<SpeedRangeByNetworkClass maximumSpeed='60' minimumSpeed='23' />
<SpeedRangeByNetworkClass maximumSpeed='60' minimumSpeed='20' />
<SpeedRangeByNetworkClass maximumSpeed='60' minimumSpeed='18' />
<SpeedRangeByNetworkClass maximumSpeed='60' minimumSpeed='15' />
<SpeedRangeByNetworkClass maximumSpeed='16' minimumSpeed='9' />
<SpeedRangeByNetworkClass maximumSpeed='6' minimumSpeed='4' />
</SpeedRangeByNetworkClass>
</Speed>
</Vehicle>
<Course>
<BasicDataRules>
<Network>
<MalusByNetworkClass malus='0' />
<MalusByNetworkClass malus='0' />
<MalusByNetworkClass malus='0' />
<MalusByNetworkClass malus='0' />
<MalusByNetworkClass malus='0' />
<MalusByNetworkClass malus='0' />
<MalusByNetworkClass malus='0' />
<MalusByNetworkClass malus='0' />
</Network>
<CombinedTransport ferryMalus='0' />
</BasicDataRules>
<AdditionalDataRules enabled='true'>
<VehicleSpecific enabled='true'>
<Malus residential='2500' combustibles='2501'/>
</VehicleSpecific>
<SegmentSpecific useFerryLength='true'/>
</AdditionalDataRules>
</Course>
</Routing>
<FeatureLayer majorVersion='1' minorVersion='0'>
<Themes>
<Theme id='PTV_TruckAttributes' enabled='true'/>
</Themes>
</FeatureLayer>
</Profile>

In line 11 you define the load as "COMBUSTIBLE". Though I'd expect that "COMBUSTIBLE" is a special case of "HAZARDOUS" and therefore should be included it isn't treated like that.

From my perspective the ENUM based approach is an issue:
  • It does not offer each possible combination
  • Even the available ones aren't handeled properly

I'll check this with DEV (was already in touch with one of the experts) and get back with a description.

C u,
Bernd

SnippetCOMBSTIBLE.XML
Snippet COMBUSTIBLE
(1.95 KiB) Downloaded 4 times
Bernd Welter
Manager Technical Consulting & Requirement Engineering
Senior Technical Consultant Developer Components
PTV GROUP - Germany

Bernd at Youtube
User avatar
Bernd Welter
Site Admin
 
Posts: 1313
Joined: Mon Apr 14, 2014 10:28 am

Re: hazardousGoodsType

Postby Bernd Welter » Wed Mar 06, 2019 2:59 pm

Obviously this is a topic we will improve within xServer2.
A question of design ;-)

Status xRoute 1:
a segment supports three boolean flags (handeled via FeatureLayer PTV_TruckATtributes):
  • segement is forbidden for hazardous goods
  • segment is forbidden for hazardous to water
  • segment is forbidden for explosives
On the vehicle we support only one attribute which is an ENUM with discrete values:
  • A vehicle has no hazardous goods.
  • A vehicle has hazardous goods
  • A vehicle has goods hazardous to waters.
  • A vehicle has combustible goods.
  • A vehicle has combustible goods hazardous to waters.
I'd say a segment with "forbidden for HAZ==true" and "forbidden for WATER==false" wouldn't make sense I think.
Bernd Welter
Manager Technical Consulting & Requirement Engineering
Senior Technical Consultant Developer Components
PTV GROUP - Germany

Bernd at Youtube
User avatar
Bernd Welter
Site Admin
 
Posts: 1313
Joined: Mon Apr 14, 2014 10:28 am


Return to PTV xRouteServer