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.
Post Reply
mrczeg
Posts: 11
Joined: Tue Oct 17, 2017 9:11 am

hazardousGoodsType

Post by mrczeg »

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?
Joost
Posts: 310
Joined: Fri Apr 25, 2014 1:46 pm

Re: hazardousGoodsType

Post by Joost »

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
mrczeg
Posts: 11
Joined: Tue Oct 17, 2017 9:11 am

Re: hazardousGoodsType

Post by mrczeg »

I do not use tunnelRestrictionCode. Should I use that ?
Joost
Posts: 310
Joined: Fri Apr 25, 2014 1:46 pm

Re: hazardousGoodsType

Post by Joost »

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
mrczeg
Posts: 11
Joined: Tue Oct 17, 2017 9:11 am

Re: hazardousGoodsType

Post by mrczeg »

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.
Joost
Posts: 310
Joined: Fri Apr 25, 2014 1:46 pm

Re: hazardousGoodsType

Post by Joost »

Can you provide a sample request that demonstrates the issue?
Joost Claessen
Senior Technical Consultant
PTV Benelux
mrczeg
Posts: 11
Joined: Tue Oct 17, 2017 9:11 am

Re: hazardousGoodsType

Post by mrczeg »

I attached a sample request and a picture for both case.
Attachments
HAZARDOUS.txt
(78.86 KiB) Downloaded 402 times
COMBUSTIBLES.txt
(45.36 KiB) Downloaded 385 times
HAZARDOUS.PNG
COMBUSTIBLES.PNG
User avatar
Bernd Welter
Site Admin
Posts: 2695
Joined: Mon Apr 14, 2014 10:28 am
Contact:

Re: hazardousGoodsType

Post by Bernd Welter »

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):

Code: Select all

<?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 364 times
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: hazardousGoodsType

Post by Bernd Welter »

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
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