Skip to content

AirPollutionExposure

Traffic-related air pollution (TRAP) exposure assessment based on fleet operation outputs and spatial population data.

The AirPollutionExposure class estimates relative population exposure to traffic-related emissions by combining: - Fleet-level vehicle kilometers traveled (VKT / VKM) - Spatialized road geometries from travel sequences - A population raster - Distance-based exponential decay of pollutant concentration

The exposure assessment follows a raster-based workflow and produces intermediate and final spatial indicators suitable for GIS analysis.

Workflow
  1. Local emission index: Spatial allocation of vehicle kilometers to raster cells based on road geometry intersection.
  2. Distance-weighted exposure:Application of an exponential decay kernel within a given buffer distance.
  3. Population-weighted exposure: Combination with population raster and normalization.
  4. Raster export: All outputs are written as GeoTIFF files.
Notes
  • The model estimates relative exposure, not pollutant concentration (e.g. NO₂, PM₂.₅).
  • Emissions are assumed proportional to vehicle kilometers traveled.
  • No background pollution or meteorology is included.
  • The decay function is isotropic and distance-based.
  • All rasters must share the same spatial resolution and CRS.

Attributes:

Name Type Description
input_fleet_operation str

Path to CSV file containing fleet operation results (trip-level VKM).

input_travel_sequences str

Path to CSV file containing travel sequence geometries (WKT LineStrings).

population_raster str

Path to population raster (GeoTIFF).

buffer_distance float

Maximum influence distance in meters.

decay_rate float

Exponential decay rate (per meter).

output_local_emission_index str

Path to output local emission raster.

output_distance_weighted_index str

Path to output distance-weighted raster.

output_population_exposure str

Path to output population exposure raster.

Examples:

>>> calculator = AirPollutionExposure(
...     input_fleet_operation="fleet_operation.csv",
...     input_travel_sequences="travel_sequences.csv",
...     population_raster="population.tif",
...     buffer_distance=300,
...     decay_rate=0.0064
... )
>>> calculator.compute_exposure(
...     "local_emission.tif",
...     "distance_weighted.tif",
...     "population_exposure.tif"
... )

Functions

__init__(input_fleet_operation, input_travel_sequences, population_raster, buffer_distance=300, decay_rate=0.0064)

Initialize the air pollution exposure assessment engine.

This constructor registers all required inputs and configuration parameters. No computation is performed at initialization.

Parameters:

Name Type Description Default
input_fleet_operation str

Path to CSV file containing fleet operation outputs, including total distance traveled per trip.

required
input_travel_sequences str

Path to CSV file containing travel sequences with WKT geometries.

required
population_raster str

Path to population raster (GeoTIFF).

required
buffer_distance float

Maximum distance of pollutant influence in meters. Defaults to 300 m.

300
decay_rate float

Exponential decay rate of exposure per meter. Defaults to 0.0064.

0.0064

compute_exposure(output_local_emission_index, output_distance_weighted_index, output_population_exposure)

Run the full air pollution exposure assessment pipeline.

This method executes all processing steps sequentially: - VKM and geometry preparation - Local emission index computation - Distance-weighted exposure convolution - Population-weighted exposure normalization

All intermediate and final results are written to disk.

Parameters:

Name Type Description Default
output_local_emission_index str

Output GeoTIFF path for the local emission index raster.

required
output_distance_weighted_index str

Output GeoTIFF path for the distance-weighted exposure raster.

required
output_population_exposure str

Output GeoTIFF path for the normalized population exposure raster.

required