Page 1 of 1

How to distinguish between a car and a truck?

Posted: Thu Jul 25, 2019 3:53 pm
by Bernd Welter
HI there,

Last week a partner asked me how he's supposed to parametrize a vehicle profile to be a truck or car (or a bus!).
Proper parametrizing could have an impact on:
  • Consideration of truck attributes (geometry, traveltime, distance)
  • Determination of toll tarifs (prices)
In fact I was quite surprised that it is not just a simple property you need to use for this.
Instead we have to use following combination of properties:
Routing / Vehicle / Physical / Drive / @driveType
Routing / Vehicle / Physical / Weight / @totalPermittedWeight

  • (@driveType=="MOTORIZED") and (@totalPermittedWeight <= 3500) is a car
  • (@driveType=="MOTORIZED") and (@totalPermittedWeight > 3500) is a truck
Thanks for asking this question, Harald...!
Thanks for answering it, Frank, Haba, Ralf ;-)
Best regards,
Bernd

Re: How to distinguish between a car and a truck?

Posted: Mon Jul 29, 2019 2:23 pm
by Joost
You also have to check the Routing / Vehicle / Load / @loadType . If it is set to GOODS or MIXED it is a truck, else it is a Coach (bus).

Re: How to distinguish between a car and a truck?

Posted: Mon Nov 21, 2022 2:37 pm
by Bernd Welter
In the context of xServer2 the properties in charge would be:

Re: How to distinguish between a car and a truck?

Posted: Fri Sep 12, 2025 8:47 am
by Bernd Welter
We are aware that in some cases the underlying engine cannot model the user's story by 100%, e.g. in BUS travels there's often a requirement of
  • Route geometry required equal to a specific vehicle setting (profile #1)
  • On that route KPI such as toll emission required by a different specific vehicle setting (profile #2) which would take a different geometry
In Developer routing you should consider the following 2 step approach:
  • Determine the desired geometry by using profile #1 in a first routing request. Retrieve the route's ROUTE_ID.
  • Then perform a 2nd routing no longer based on thw waypoints but on the ROUTE_ID and apply profile #2
This approach also often helps to identify underlying restrictions if you wonder why a routing does not take the expected geometry. In this case you can
  • Perform a hardly restricted 1st routing and retrieve the ROUTE_ID
  • Apply the ROUTE_ID with the "real" profile and request ResultLists.VIOLATION_EVENTs to get a list of conflicts that the real profile vehicle would face when driving on the "expected" route #1.