Skip to content

Emissions & ECA/SECA reporting: distance in emission-control zones + optional CO₂e estimate #12

Description

@mayurrawte

Motivation

Emissions reporting is the dominant commercial driver in this space (EU ETS, FuelEU Maritime, GLEC). The commercial Searoutes API leads with exactly two things we could offer in open source:

  1. ECA/SECA distance — how much of the route is inside an emission-control area (drives fuel-type/cost).
  2. CO₂e estimate — emissions for the voyage.

No open-source library does either today. Our architecture is already the right shape: the segment-vs-bbox intersection we use for passage detection extends naturally to zone-distance.

Proposal

Phase 1 — ECA/SECA distance:

route.properties.ecaKm // km of the route inside ECA/SECA zones

Add ECA/SECA zone polygons; sum the route length that falls inside them (reuse/extend the segment-intersection logic).

Phase 2 — CO₂e (opt-in):

seaRoute(o, d, { vesselClass: 'panamax', speedKnots: 14, emissions: true });
// → route.properties.co2eTonnes (rough, distance × class emission factor)

Document clearly as an estimate (distance × vessel-class factor), not a certified figure. GLEC recommends inflating shortest-distance by ~15% for real-world deviations — surface that as an option/note.

Notes

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestpriority: lowBigger effort or opportunistic

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions