Comprehensive emission calculation approaches contain default values for fuel consumption and factors for calculation. As user no own consumption data has to be added. PTV xRoute offers two comprehensive approaches: HBEFA 3.2 and COPERT Australia 1.2. In this use case description you see how both standards are designed and how you can use them for calculating your emissions with PTV xRoute. A general overview of emission calculation with PTV xServer can be found here: How to calculate emissions for a routing. Emission calculation with factor-based approaches is described here: How to calculate emissions with factor-based approaches.
Using the current HBEFA 3.2, the entire bundle of emissions will be provided for each vehicle type. The following list indicates the resulting attributes: Hydrocarbons, hydrocarbons except for methane, methane, carbon monoxide, carbon dioxide, carbon dioxide from fossil sources, sulphur dioxide, nitrous oxide, nitrogen oxides, nitrogen dioxide, ammonia, benzene, lead, particles, particle number and fuel.
COPERT Australia emission calculation reports values for CO2 and fuel consumption. It is explicitly designed for Australian fleets:
The Handbook of Emission Factors for Road Transport (HBEFA) was originally developed on behalf of the Environmental Protection Agencies of Germany, Switzerland and Austria. In the meantime, further countries (Sweden, Norway and France) as well as the JRC (European Research Center of the European Commission) are supporting HBEFA. HBEFA provides emission factors, i.e. the specific emission in g/km for all current vehicle categories (PC, LCV, HCV, buses and motorcycles), each divided into different categories, for a wide variety of traffic situations. The first version (HBEFA 1.1) was published in December 1995, an update (HBEFA 1.2) followed in January 1999. Version HBEFA 2.1 was available in February 2004. The newest versions date from January 2010 (HBEFA 3.1) and July 2014 (HBEFA 3.2).
HBEFA 3.X calculation reports values for all global warming gases and other harmful substances. The internal process is independently certificated and therefore is independent of any external organizations.
You want to route from Rome to Napoli with five intermediate stops as shown in the map below and you want to calculate the emission values according to HBEFA:
 
             
             
            The following data properties were mapped from HBEFA to PTV's routing engine:
| HBEFA Version | Norm | Release notes and changes | 
|---|---|---|
| 2.1 | EURO 0, EURO 1, EURO 2, EURO 3, EURO 4, EURO 5 | New features and improvements: 
 | 
| 3.1 | EURO 0, EURO 1, EURO 2, EURO 3, EURO 4, EURO 5, EURO 6 | Improvements in comparison to 2.1: 
 | 
| 3.2 | EURO 0, EURO 1, EURO 2, EURO 3, EURO 4, EURO 5, EURO 6, EURO 6c | EURO 0 to EURO 4: 
 EURO 5 , EURO 6 and EURO 6c vehicles: 
 | 
Considerable differences might occur in comparison of version 3.1 and 3.2 especially considering EURO 5 and 6 due to the updated emission measurements.
HBEFA 2.1
| CAR | Only EURO_0-EURO_4 are supported for the fuel types EUROSUPER and DIESEL. The CYLINDER_CAPACITY is considered. | 
| VAN/CAM | Only EURO_0-EURO_4 are supported for the fuel types EUROSUPER and DIESEL. The CYLINDER_CAPACITY is not considered. | 
| TRU/TRL/COM/HAZ/BUS | Only EURO_1-EURO_5 are supported for the fuel type DIESEL. The CYLINDER_CAPACITY is not considered. The TOTAL_WEIGHT is considered. | 
| PED/BIK/MOT | Emission calculation is not supported | 
HBEFA 3.1
| CAR | EURO_0 is not supported. EURO_1 is only supported for the fuel types EUROSUPER and DIESEL. EURO_2 and EURO_3 is only supported for the fuel types EUROSUPER, DIESEL, COMPRESSED_NATURAL_GAS and LIQUEFIED_PETROLEUM_GAS. From EURO_4 on all fuel types are supported. The cylinder capacity is considered. | 
| VAN/CAM | EURO_0 is not supported. The emission technology is not considered. From EURO_1 on only DIESEL is supported. The cylinder capacity is not considered. | 
| TRU/TRL/COM/HAZ/BUS | EURO_0 is not supported. From EURO_1 on only DIESEL is supported. The cylinder capacity is not considered. The emission technology is needed for EURO_4 and EURO_5, in all other cases the emission technology is not considered. | 
| PED/BIK/MOT | Emission calculation is not supported. | 
HBEFA 3.2
| CAR | EURO_0 is not supported. EURO_1 is only supported for the fuel types EUROSUPER and DIESEL. EURO_2 is only supported for the fuel types EUROSUPER, DIESEL, COMPRESSED_NATURAL_GAS and LIQUEFIED_PETROLEUM_GAS. From EURO_3 on all fuel types are supported. The cylinder capacity is considered. | 
| VAN/CAM | EURO_0 is not supported the emission technology is not considered from EURO_1 on only DIESEL is supported the cylinder capacity is not considered | 
| TRU/TRL/COM/HAZ/BUS | EURO_0 is not supported. From EURO_1 on only DIESEL is supported. The cylinder capacity is not considered. The emission technology is needed for EURO_4 and EURO_5, in all other cases the emission technology is not considered. EURO_6C is not supported. | 
| PED/BIK/MOT | Emission calculation is not supported. | 
This installation is optional according to your licence agreement (additional licence fee is required). The data package HBEFA 3.2 (or 3.1) needs to be separately installed. Please contact your PTV representative to obtain the data. Following steps should be carried out:
maps.path=<your map path>
			configured in the "conf/xroute.properties" file) taking following
			steps into account:
				It is also possible to install both data packages "HBEFA 3.1" and "HBEFA 3.2" together but we recommend using the current version achieving the precise levels of emissions.
Emission calculation according to HBEFA is configured in conf/xroute.properties.
emissions.hbefa21=true and the data path toemissions.hbefa21.path=data/hbefa.ptv.emissions.hbefa3=true.
			Caution: A valid licence key must be configured:
		xroute.emissions=32 (or xroute.emissions=31) otherwise an
		exception will be thrown.
		Emission calculation is available for the PTV xRoute methods calculateExtendedRoute
		and calculateAdvancedTour.
		This sample uses the method
			calculateExtendedRoute
		to illustrate the workflow.
		
Use a request with at least two stations:
{
  "waypoints": [
    {
      "coords": [
        {
          "point": {
            "x": 685903,
            "y": 6372958
          }
        }
      ],
      "linkType": "NEXT_SEGMENT"
    },
    {
      "coords": [
        {
          "point": {
            "x": 681013,
            "y": 6371680
          }
        }
      ],
      "linkType": "NEXT_SEGMENT"
    }
  ],
  ...
        
		Set the
			hbefaType
		attribute in the ResultListOptions
		element according to the HBEFAVersion
		you have configured:
		
"details": {
  "hbefaType": {
    "$type": "HBEFAType",
    "version": "HBEFA_3_2"
  }
}
        
		Set the granularity of the emission information returned in the
		response with the
			emissions
		element in the
			ResultListOptions
		. Possible levels are:
			BASIC
		, if you only need the total emissions of the route,
			STATIONS
		, if you want to obtain the emission per part of the route, or
			SEGMENTS
		, if you additionally want to obtain the emissions per segment.
		
"details": {
  ...,
  "emissions": {
    "$type": "EmissionType",
    "emissionLevel": "BASIC"
  }
}
        
		Depending on the configuration of the EmissionType
		in the request, the total emissions can be found in the
			emissions
		element at the route, stations, or segments. The units of each
		emission value vary according to the specification.
		
"route": {
  "info": {
    "distance": 4129,
    "time": 457,
    "cost": 5367
  },
  "emissions": {
    "$type": "EmissionsHBEFA32",
    "hydrocarbons": 0.042084042872999994,
    "methane": 0.003535058461000001,
    "hydrocarbonsExMethane": 0.03854898441200001,
    "carbonMonoxide": 2.091023040688,
    "carbonDioxide": 0.7847751744067001,
    "sulphurDioxide": 0.034604260911999994,
    "nitrogenOxides": 0.15486596991300003,
    "nitrousOxide": 0.013420440881999998,
    "ammonia": 0.08385116139900001,
    "benzene": 0.005441465834,
    "toluene": 0.0039138162859999985,
    "xylene": 0.0032404725,
    "lead": 0,
    "particles": 0,
    "fuel": 0.24717327679788
  },
  ...
        
		The listed attributes and values depend on the selected HBEFA type.
		For detailed information see the documentation of
			Emissions
		,
			EmissionsHBEFA31
		, or
			EmissionsHBEFA32
		.
		
 Complete JSON request:
Complete JSON request:
            {
  "waypoints": [
    {
      "coords": [
        {
          "point": {
            "x": 685903,
            "y": 6372958
          }
        }
      ],
      "linkType": "NEXT_SEGMENT"
    },
    {
      "coords": [
        {
          "point": {
            "x": 681013,
            "y": 6371680
          }
        }
      ],
      "linkType": "NEXT_SEGMENT"
    }
  ],
  "details": {
    "hbefaType": {
      "$type": "HBEFAType",
      "version": "HBEFA_3_2"
    },
    "emissions": {
      "$type": "EmissionType",
      "emissionLevel": "STATIONS"
    }
  }
}
            The COmputer Program to calculate Emissions from Road Transport (COPERT) was originally developed by EMISIA and the European Environment Agency as road transport emission inventory preparation for European countries. COPERT Australia was adapted to the Australian driving conditions, vehicle types and fuel types by EMISIA and DSITIA. The COPERT Australia emission calculation reports values for CO2 and fuel consumption.
| PED/BIK/MOT/CAR/VAN/CAM | emission calculation is not supported. | 
| TRU/TRL/COM/HAZ/BUS | supported fuel types are DIESEL and LIQUEFIED_PETROLEUM_GAS. EURO_0 is not supported. the emission technology for exhaust gas recirculation(EGR) is needed for EURO_5, EURO_6, EURO_6c and EURO_7. the cylinder capacity is not considered. | 
Comparable to the European emission standards there are Australian Design Rules(ADR). The European classifications are mapped internally to ADRs as follows:
| ADR30 | Euro 1 | 
| ADR70-00 | Euro 2 | 
| ADR80-00 | Euro 3 | 
| ADR80-02 | Euro 4 | 
| ADR80-03 with exhaust gas recirculation | Euro 5 | 
| ADR80-04 with exhaust gas recirculation | Euro 6 | 
| ADR80-05 with exhaust gas recirculation | Euro 7 | 
This installation is optional according to your licence agreement (additional licence fee is required). The data package COPERT Australia needs to be separately installed. Please contact your PTV representative to obtain the data. Following steps should be carried out:
maps.path=<your map path>
            configured in the "conf/xroute.properties" file):
                Emission calculation according to COPERT Australia is configured in conf/xroute.properties.
emissions.copertaus12=true.
            Caution: A valid licence key must configured:
        xroute.emissions=COPERTAUS12 otherwise an exception will be thrown.
Emission calculation is available for the PTV xRoute methods calculateExtendedRoute
		and calculateAdvancedTour.
		This sample uses the method
			calculateExtendedRoute
		to illustrate the workflow.
Use a request with at least two stations:
{
    "waypoints": [
    {   
        "coords": [
        {
            "point": {
                "x": 685903,
                "y": 6372958
            }
        }],
        "linkType": "NEXT_SEGMENT"
    },
    {
        "coords": [
        {
            "point": {
                "x": 681013,
                "y": 6371680
            }
        }],
        "linkType": "NEXT_SEGMENT"
    }],
    ...
        Set the hbefaType attribute in the ResultListOptions element to COPERT_AUS_1_2:
"details": {
    "hbefaType": {
        "$type": "HBEFAType",
        "version": "COPERT_AUS_1_2"
    }
    ...
        Set the granularity of the emission information returned in the response with the emissions element in the ResultListOptions. Possible levels are:
                BASIC, if you only need the total emissions of the route,
                STATIONS, if you want to obtain the emission per part of the route, or
                SEGMENTS, if you additionally want to obtain the emissions per segment.
            
        ...,
    "emissions": {
        "$type": "EmissionType",
        "emissionLevel": "BASIC"
    }
}
        Depending on the configuration of the EmissionType in the request, the total emissions can be found in the emissions element at the route, stations, or segments.
"route": {
    "info": {
        "distance": 4129,
        "time": 457,
        "cost": 5367
    },
    "emissions": {
        "$type": "Emissions",
        "hydrocarbons": 0,
        "methane": 0,
        "hydrocarbonsExMethane": 0,
        "carbonMonoxide": 0,
        "carbonDioxide": 0.945174406700143,
        "sulphurDioxide": 0,
        "nitrogenOxides": 0,
        "nitrousOxide": 0,
        "ammonia": 0,
        "benzene": 0,
        "toluene": 0,
        "xylene": 0,
        "lead": 0,
        "particles": 0,
        "fuel": 0.345679788
    },
    ...
}
         Complete JSON request:
Complete JSON request:
            {
		"waypoints": [
		{
			"$type": "WaypointDesc",
			"linkType": "NEXT_SEGMENT",
			"fuzzyRadius": 0,
			"coords": [
				{
				"$type": "Point",
				"point": {
				"$type": "PlainPoint",
				"x": 145.16381,
				"y": -38.20777
				}
			}
			]
		},
		{
			"$type": "WaypointDesc",
			"linkType": "NEXT_SEGMENT",
			"fuzzyRadius": 0,
			"coords": [
				{
				"$type": "Point",
				"point": {
				"$type": "PlainPoint",
				"x": 144.84767,
				"y": -37.81019
				}
			}
			]
			}
		],
		"options": [],
		"exceptionPaths": [],
		"details": {
			"manoeuvres": false,
			"texts": false,
			"nodes": false,
			"binaryPathDesc": false,
			"polygon": false,
			"detailLevel": "BORDERS",
			"dynamicInfo": false,
			"segments": false,
			"segmentAttributes": false,
			"manoeuvreAttributes": false,
			"brunnelManoeuvres": false,
			"urbanManoeuvres": false,
			"manoeuvreGroups": false,
			"tollManoeuvres": false,
			"boundingRectanglesC": 0,
			"boundingRectanglesOffset": 0,
			"totalRectangle": false,
			"emissions": {
			"emissionLevel": "BASIC"
		},
			"hbefaType": {
			"version": "COPERT_AUS_1_2"
			}
		},
		"countryInfoOptions": null,
		"callerContext": {
		"properties": [
		{
			"key": "CoordFormat",
			"value": "OG_GEODECIMAL"
		},
		{
			"key": "Profile",
			"value": "truckfast"
		},
		{
			"key": "ProfileXMLSnippet",
			"value": "<Profile>   <Routing majorVersion='2' minorVersion='0'>    <Vehicle>     <Physical>      <Drive>       <Emissions emissionTechnology='EXHAUST_GAS_RECIRCULATION'/>      </Drive>     </Physical>    </Vehicle>   </Routing>  </Profile>"
				}
				]
			}
		}			
				
            
Copyright © 2025 PTV Logistics GmbH All rights reserved. | Imprint