排放控制区航次策略实验室
简体中文 | English
一个无需后端服务的浏览器研究工作台,用于展示中国船舶大气污染物排放控制区(ECA/DECA)、编辑沿海航线,并联动计算分区距离、航速、油耗、碳排放和成本策略。
本项目用于研究展示、教学和方法讨论,不是电子海图、航线规划系统或海事合规工具。任何实际航行、调度、燃料采购和法规判断都应以主管机关、正式海图及船公司数据为准。
项目的起点是维护者在本科阶段围绕“排放控制区影响下的内贸班轮航速优化”开展的一项早期研究。原研究提供了问题意识、典型参数、离散航速—油耗关系以及“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 瓦片服务;在离线或网络受限环境中可先运行语法检查和模型测试。
- 航路点之间使用 Haversine 公式计算球面距离。
- 航线按不超过 5 海里的小段采样,以中点判断其位于 ECA 内或区外。
- 每个港间航段被拆分为 ECA 与区外两个决策段。
- 求解器从离散速度—油耗曲线中选择航速,在总计划周期内最小化燃油成本与碳成本之和。
- “统一航速”是在同一航线和计划约束下选择一个可行的统一速度,作为交互对照基线。
当前实现是适合浏览器交互的简化动态规划模型,不包含逐港到达时间窗、天气海况、换油时间、载重变化或航行安全约束。详见 模型与研究边界。
- 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.md 和 OFL.txt。
