Skip to content

ECA Voyage Lab

排放控制区航次策略实验室

简体中文 | English

在线演示 / Live Demo

一个无需后端服务的浏览器研究工作台,用于展示中国船舶大气污染物排放控制区(ECA/DECA)、编辑沿海航线,并联动计算分区距离、航速、油耗、碳排放和成本策略。

本项目用于研究展示、教学和方法讨论,不是电子海图、航线规划系统或海事合规工具。任何实际航行、调度、燃料采购和法规判断都应以主管机关、正式海图及船公司数据为准。

ECA Voyage Lab 主实验室界面

项目定位

项目的起点是维护者在本科阶段围绕“排放控制区影响下的内贸班轮航速优化”开展的一项早期研究。原研究提供了问题意识、典型参数、离散航速—油耗关系以及“ECA 内外采用不同航速”的建模启发。

当前仓库不是论文的网页复刻,也不以复现原论文的全部约束和数值结果为目标。它在早期研究基础上重新实现并扩展为一个交互实验室,重点包括:

  • 在真实地图上编辑和比较研究性航线;
  • 根据航线几何自动估算 ECA 内外距离;
  • 在浏览器中重新计算航速、燃油、碳排放和成本;
  • 观察燃油价差、碳价、计划周期和船舶性能参数的影响;
  • 为后续的路线—航速联合比较、多目标分析和排放扩展提供实验底座。

更完整的模型定位与论文关系见 模型与研究边界

为什么默认情景的优化比例有限

默认四航段航线不是未经处理的原始沿海路线,而是经过人工标注和 ECA 避让考虑的研究性航线。它已经把较大比例的航程安排在 ECA 之外,因此路线层面的优化提前吸收了部分成本节约空间。

页面中的“统一航速”和“优化策略”使用的是同一条默认航线,比较的只是给定航线下继续调整 ECA 内外航速的边际收益。以 v0.1.0 的默认均衡情景为例:

  • 总航程约 3,009 海里,其中 ECA 内约 492 海里;
  • 优化航速相对于同航线统一航速的成本节约约为 0.2%;
  • 节约比例较小是路线已避让 ECA、班期余量和当前价格参数共同作用的结果,不代表求解器没有工作。

若希望观察更明显的策略差异,可以编辑航线以增加 ECA 航程、扩大 MGO/HFO 价差、缩紧计划周期,或切换其他预设情景。未来版本计划把“原始路线/避让路线”和“统一航速/优化航速”做成独立的四情景对照。

主要功能

  • 中国沿海 ECA 研究判区、海侧控制点和内河边界断面展示;
  • 大连大窑湾、青岛前湾、上海洋山、广州南沙四港循环航线;
  • 基于 Haversine 大圆距离的地图测距和 ECA 分区估算;
  • 15–21 节离散航速搜索、燃油成本和碳成本计算;
  • 统一航速、优化策略和排放强度视图;
  • MGO 价格、碳价和计划周期敏感性分析;
  • 地图内航路点编辑,以及独立的航线标注与 JSON/GeoJSON 导出页面;
  • 桌面端、宽屏和移动端浏览器自动化检查。

快速开始

git clone https://github.com/SeanWong17/eca-voyage-lab.git
cd eca-voyage-lab

页面可以直接打开,但推荐通过本地静态服务器运行:

python3 -m http.server 8000

然后访问:

底图瓦片在运行时从 OpenStreetMap 加载,因此完整地图显示需要网络连接。模型、样式、ECA 数据和 Leaflet 运行库均保存在仓库内。

开发与验证

要求 Node.js 18 或更高版本。

npm ci
npx playwright install chromium
npm test

可分别运行:

npm run check
npm run test:model
npm run test:browser

其中浏览器测试会访问 OpenStreetMap 瓦片服务;在离线或网络受限环境中可先运行语法检查和模型测试。

方法摘要

  1. 航路点之间使用 Haversine 公式计算球面距离。
  2. 航线按不超过 5 海里的小段采样,以中点判断其位于 ECA 内或区外。
  3. 每个港间航段被拆分为 ECA 与区外两个决策段。
  4. 求解器从离散速度—油耗曲线中选择航速,在总计划周期内最小化燃油成本与碳成本之和。
  5. “统一航速”是在同一航线和计划约束下选择一个可行的统一速度,作为交互对照基线。

当前实现是适合浏览器交互的简化动态规划模型,不包含逐港到达时间窗、天气海况、换油时间、载重变化或航行安全约束。详见 模型与研究边界

数据与资料

  • ECA 控制点主要依据交通运输部《船舶大气污染物排放控制区实施方案》(交海发〔2018〕168 号);
  • 大陆岸线来自 Natural Earth 10m 数据并为浏览器显示做了简化;
  • 底图来自 OpenStreetMap;
  • 默认港点和航线为研究性人工标注,不是电子海图航线;
  • 速度—油耗曲线和默认经济参数源于本科阶段早期研究所采用的算例体系,仅用于实验,不代表当前市场报价或任一具体船舶。

详细来源、坐标边界和许可证说明见:

本地 references/ 目录用于保存论文扫描件等个人研究资料,已被 Git 忽略,不属于开源发布内容。

目录结构

.github/         CI、Issue 和 Pull Request 模板
assets/          样式与项目字体
docs/            模型、数据来源、边界与研究说明
route-editor/    独立航线标注页面
src/data/        ECA、岸线、港口和航线数据
src/js/          距离模型、求解、地图渲染与交互逻辑
tests/           模型与浏览器自动化测试
vendor/          本地化第三方前端依赖
references/      本地研究资料,不纳入 Git 或开源发布

参与贡献

欢迎提交数据勘误、模型改进、可视化优化、测试和文档更新。涉及政策坐标、船舶参数或排放因子的修改,请同时提供可核查来源,并清楚区分法规原文、工程校核值和研究假设。

开始前请阅读 贡献指南行为准则路线图。安全问题请按 安全政策 私下报告。

开源许可

本仓库原创代码和文档采用 MIT License。第三方库、字体、图标、地图与地理数据不因本仓库采用 MIT 而改变其原有许可,详情见 THIRD_PARTY_NOTICES.mdOFL.txt

About

ECA Voyage Lab|排放控制区航次策略实验室 — Interactive route, speed, emissions and cost experiments for maritime ECAs. 面向船舶排放控制区的航线、航速、排放与成本交互实验。

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages