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:
|
if route_distances:
|
||||||
travel.add_leg_route_distance(leg, 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"]):
|
if all("distance" in leg for leg in train["legs"]):
|
||||||
train["distance"] = sum(leg["distance"] 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
|
return trains
|
||||||
|
|
||||||
|
@ -73,6 +79,10 @@ def load_ferries(
|
||||||
if route_distances:
|
if route_distances:
|
||||||
travel.add_leg_route_distance(item, 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"])
|
geojson = from_terminal["routes"].get(item["to"])
|
||||||
if geojson:
|
if geojson:
|
||||||
item["geojson_filename"] = geojson
|
item["geojson_filename"] = geojson
|
||||||
|
|
Loading…
Reference in a new issue