Add CO2 emission calculations for train and ferry journeys
- Add CO2 calculation for train legs using 0.037 kg CO2e per passenger per km - Add CO2 calculation for ferry journeys using 0.02254 kg CO2e per passenger per km - Both calculations use standard emission factors from UK government sources (DEFRA/DECC) - CO2 values are automatically included in trip totals via existing total_co2_kg() method 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
791759b322
commit
5a15f48f50
|
@ -50,8 +50,14 @@ def load_trains(
|
|||
if route_distances:
|
||||
travel.add_leg_route_distance(leg, route_distances)
|
||||
|
||||
# Calculate CO2 emissions for train leg (0.037 kg CO2e per passenger per km)
|
||||
if "distance" in leg:
|
||||
leg["co2_kg"] = leg["distance"] * 0.037
|
||||
|
||||
if all("distance" in leg for leg in train["legs"]):
|
||||
train["distance"] = sum(leg["distance"] for leg in train["legs"])
|
||||
# Calculate total CO2 for entire train journey
|
||||
train["co2_kg"] = sum(leg["co2_kg"] for leg in train["legs"])
|
||||
|
||||
return trains
|
||||
|
||||
|
@ -73,6 +79,10 @@ def load_ferries(
|
|||
if route_distances:
|
||||
travel.add_leg_route_distance(item, route_distances)
|
||||
|
||||
# Calculate CO2 emissions for ferry (0.02254 kg CO2e per passenger per km)
|
||||
if "distance" in item:
|
||||
item["co2_kg"] = item["distance"] * 0.02254
|
||||
|
||||
geojson = from_terminal["routes"].get(item["to"])
|
||||
if geojson:
|
||||
item["geojson_filename"] = geojson
|
||||
|
|
Loading…
Reference in a new issue