1. 海上设施安全监管与决策平台
Shipxy
  • 船讯网API服务概述
  • 文档目录
  • 注册与创建应用
  • 多语言SDK引入
  • 标准API服务
    • 1 船舶查询
      • 1.1 船舶位置查询
        • 1.1.1 单船位置查询
        • 1.1.2 多船位置查询
        • 1.1.3 船队位置查询
      • 1.2 船舶模糊查询
      • 1.3 周边船舶查询
      • 1.4 区域船舶查询
      • 1.5 船舶船籍查询
      • 1.6 船舶档案查询
      • 1.7 档案服务扩展
    • 2 港口查询
      • 2.1 港口信息查询
      • 2.2 港口当前靠泊船查询
      • 2.3 港口当前到锚船查询
      • 2.4 港口预抵船舶查询
    • 3 历史行为
      • 3.1 船舶历史轨迹查询
      • 3.2 船舶互相搭靠记录查询
    • 4 挂靠记录
      • 4.1 船舶历史挂靠记录
      • 4.2 船舶挂靠指定港口记录
      • 4.3 船舶当前挂靠信息
      • 4.4 港口挂靠历史船舶
    • 5 航线规划
      • 5.1 点到点航线规划
      • 5.2 港到港航线规划
      • 5.3 预计到达时间(ETA)查询
    • 6 天气气象
      • 6.1 新全球气象
        • 6.1.1 实时气象数据
        • 6.1.2 未来气象预报
      • 6.2 全球台风
        • 6.2.1 获取全球台风列表
        • 6.2.2 获取单个台风信息
      • 6.3 国内港口潮汐
        • 6.3.1 查询国内潮汐观测站列表
        • 6.3.2 查询单个观测站潮汐详情
      • 6.4 全球港口潮汐
        • 6.4.1 查询全球潮汐观测站列表
        • 6.4.2 查询单个观测站潮汐详情
      • 6.5 海区气象
      • 6.6 单点海洋气象
      • 6.7 历史气象记录
    • 7 海图GIS平台开发
      • 7.1 快速入门:从注册到接入
      • 7.2 地图引擎基础:地图控制与业务绘制
      • 7.3 船位展示服务
      • 7.4 历史轨迹服务
      • 7.5 图层与气象服务
      • 7.6 航线绘制与区域回放服务
      • 7.7 Vue项目接入指南
      • 7.8 API Key后端代理接入
      • 7.9 坐标系转换指南
      • 7.10 私有化部署开发指南
        • 01 私有化地图加载绘制
        • 02 船舶与轨迹绘制实践
        • 03 气象图层效果绘制
    • 8 海事数据
      • 8.1 航行警告查询
    • 9 监控推送
      • 9.1 监控船队管理
        • 9.1.1 创建船队
        • 9.1.2 更新船队信息
        • 9.1.3 查询船队
        • 9.1.4 删除船队
        • 9.1.5 船队船舶增加
        • 9.1.6 船队船舶批量更新
        • 9.1.7 船队船舶删除
      • 9.2 区域监控推送
        • 9.2.1 区域创建
        • 9.2.2 区域更新
        • 9.2.3 区域查询
        • 9.2.4 区域删除
        • 9.2.5 区域监控推送内容
      • 9.3 船舶航速提醒推送
        • 9.3.1 新增船舶订阅
        • 9.3.2 删除订阅船舶信息
        • 9.3.3 查询订阅船舶列表
        • 9.3.4 船舶航速异常推送
      • 9.4 实时船位推送
      • 9.5 船舶到离港事件推送
      • 9.6 船舶动态ETA推送
      • 9.7 船舶AIS信号消失事件推送
      • 9.8 船舶搭靠事件推送
    • 文档附录
      • 船舶类型对照表
      • 服务码返回说明
      • 海区对照表
      • 航行状态对照表
      • 绕航节点清单
      • 航标类型对照表
      • 区域船二进制解析说明
      • 常见问题
  • AI智能体应用
    • AI大模型接入MCP服务
    • 智能体场景应用
      • 运力资源智能体
      • 船舶风控智能体
      • 运输规划智能体
      • 航次时效预测智能体
      • 船舶安全监控智能体
      • 多式联运协同智能体
      • 大宗贸易态势分析智能体
  • 视频监控AI识别预警服务
    • 视频监控服务接入指南
    • 视频监控API服务说明
    • 视频监控场景应用指南
    • 视频监控服务FAQ与最佳实践
  • 场景化开发示例
    • 大宗物流运输智能决策平台
      • 1、港口运力监控与找船
      • 2、船队货运跟踪与 ETA
      • 3、货运异常预警中心
      • 4、大宗航运态势分析与经营决策大屏
      • 5、航次时效预测与滞期费测算
      • 6、航次能效与碳强度管理
    • 海上设施安全监管与决策平台
      • 1、监管区域与事件推送(总览大屏)
      • 2、设施周边安全监控
      • 3、偏航识别与轨迹回放
      • 4、气象海况与航行警告
      • 5、海上安全态势监管大屏与执法效能分析
      • 6、水域通航密度与碰撞风险预测
      • 7、设施运维作业窗口智能排程与船舶调度
  1. 海上设施安全监管与决策平台

7、设施运维作业窗口智能排程与船舶调度

所属:海上设施安全监管与决策平台

一、场景说明#

业务视角:一个海上风电场运营方要同时管理几十台风机、若干海上升压站与海缆,每周要安排:风机定检(需要浪高 < 1.5 m)、叶片维修(需要风速 < 8 m/s 且连续 4 小时)、海缆巡检(需要能见度良好)、人员倒班(大船需要乘潮进港)。可用的运维船只有 3–5 艘,分布在不同母港。
现实是:排程靠 Excel + 微信群,天气一变全面打乱,船舶空跑与工序延误频发;船员到了现场发现浪高超标只能返航,一次就是几十万成本。
本子场景把「气象预报 + 潮汐窗口 + 禁航警告 + 船舶可达性 + 工序约束」合成一个排程优化问题,输出:
窗口层:未来 7 天每个设施、每道工序的可作业窗口(精确到小时);
调度层:哪艘船、什么时候、去哪个设施、做什么工序的 7 天甘特排程;
冲突层:窗口重叠、船舶冲突、禁航冲突的自动检测与提示;
重排层:预报更新后自动检测失效窗口、生成改期方案并量化影响。
客户视角:风电场 / 油田运维调度中心、船舶调度、项目经理。
与 B4 的区别:B4 回答「明天能不能作业」(单点环境判断),B7 回答「下周这几天、这几艘船、这几个设施,怎么排最合理」(多约束组合优化)。B7 消费 B4 的窗口计算结果,加上船舶与工序维度。

二、实现流程#

fig-B7-实现流程.png
步骤阶段使用接口关键计算 / 业务逻辑
1.1 设施与工序台账① 数据获取内部系统设施坐标、工序类型、时长、环境阈值
1.2 气象预报① 数据获取FutureWeather每设施 168 小时逐小时预报
1.3 潮汐窗口① 数据获取GetTideData大吃水船 / 潮间带作业窗口
1.4 禁航与台风① 数据获取GetNavWarning / GetSingleTyphoon冲突时段剔除
1.5 船舶位置① 数据获取GetFleetShip / GetSingleShip运维船当前位置与状态
1.6 船舶状态① 数据获取GetShipStatus是否在港、可否出动
1.7 航渡时长① 数据获取PlanRouteByPoint / GetSingleETAPrecise船到设施的航渡里程与时长
2.1 单工序窗口计算② 计算处理—阈值比对 + 连续时长 ≥ 工序时长 + 余量
2.2 潮汐窗口叠加② 计算处理—需乘潮工序与高潮窗口取交集
2.3 冲突剔除② 计算处理—禁航区 / 台风风圈时段剔除
2.4 船舶可达性② 计算处理—航渡时长 + 可用时间窗 → 可匹配船舶集合
2.5 排程优化② 计算处理—优先级 × 窗口适配度 × 船舶可用度打分贪心
2.6 冲突检测② 计算处理—船舶时间冲突、窗口重叠、资源超限
3.1 方案生成③ 业务判断—输出 7 天甘特与派工单
3.2 重排决策③ 业务判断—预报变更 → 影响评估 → 改期方案
4.1 排程甘特④ 输出应用—按船 / 按设施两种视图
4.2 派工与下达④ 输出应用—生成派工单推送船长
4.3 执行监控④ 输出应用—计划 vs 实际偏差,实时船位比对

三、接口调用与响应#

3.1 FutureWeather 每设施预报#

返回 168 个逐小时点。多个设施需分别调用,建议并行 5–10 个并缓存 6 小时(与数值预报更新同步)。

3.2 GetFleetShip 运维船队位置#

{"code": 0, "data": [{"mmsi": 413000001, "ship_name_en": "WIND OPS 01", "lat": 32.10,
 "lng": 121.80, "sog": 0.0, "cog": 0, "navistat": "锚泊", "dest": "", "last_time": 1726000100}]}
运维船建议统一编入船讯网船队(9.1 系列),即可用一次调用拿到全部船舶动态,并可订阅实时船位推送。

3.3 PlanRouteByPoint 航渡里程#

{"code": 0, "data": {"distance": 42.7, "duration_days": 0.15, "route": [...]}}
distance 除以船舶服务航速即得航渡时长。

3.4 GetSingleETAPrecise 到位时间#

用于「船从当前位置到设施需要多久」的精确估算(设施有港口码时可用;纯坐标设施用 PlanRouteByPoint + 航速换算)。

3.5 GetNavWarning 禁航剔除#

取 range_points / 圆心半径与 start_time / end_time,与作业窗口做时空相交剔除。

四、计算逻辑#

4.1 单工序作业窗口#

中文说明:每道工序有自己的环境阈值(如叶片维修要求风速 < 8 m/s 且浪高 < 1.5 m)与所需连续时长(如 4 小时)。逐小时检查预报点是否满足全部阈值,把连续满足的时段累计成窗口,窗口长度必须 ≥ 工序时长 + 准备收尾时间(默认 1 小时),否则视为无效窗口(做一半被迫中断更贵)。

4.2 禁航与台风冲突剔除#

中文说明:对每个候选窗口,检查其时间区间是否与航行警告的有效期重叠,且空间上是否与作业区域相交(多边形相交或圆心距小于半径);台风同理,用 7 级风圈半径加安全余量判断设施是否落入影响范围。命中即从候选窗口中扣除该时段。

4.3 船舶可达性与匹配#

中文说明:对每艘运维船,用 PlanRouteByPoint 得到到设施的航渡海里,除以船舶服务航速得到航渡时长;船舶的可用起始时间 = 当前任务结束时间(或现在)+ 航渡时长;若该时间落在作业窗口内,且船舶资质(能否做该工序:人员资质、吊装能力、吃水限制)匹配,则这艘船是该任务的可选资源。

4.4 排程打分与贪心排程#

中文说明:这是一个带资源约束的调度问题,完全求最优需要整数规划,工程上用打分贪心即可满足业务需求。打分三个维度——任务优先级(安全生产类 > 定检类 > 优化类)、窗口适配度(窗口剩余时长越接近工序时长越不浪费,且越早越好)、船舶适配度(航渡越短越好、资质越匹配越好)。按分数从高到低依次占用资源(船舶 + 窗口),占用后从可用资源池扣除,直到排完或资源耗尽。

4.5 预报变更的重排与影响评估#

中文说明:数值预报每 6 小时更新一次,更新后原排程可能失效。做法是重新计算窗口,逐条比对原排程:完全落在失效时段内的任务标记为「必须改期」,部分重叠的标记为「需确认」;对必须改期的任务重新跑一次贪心排程(在未占用资源池中找替代窗口);最后量化影响——改期任务数、延误小时数、因航渡增加而增加的船舶成本。

五、输出的应用形态#

排程甘特:支持「按船」与「按设施」两种视图切换;每块任务条显示工序类型、设施、船舶、窗口;失效窗口以灰色斜纹标注;冲突条以红框标注。
窗口日历:未来 7 天 × 24 小时的热力日历,每格显示该时段可作业设施数;点击可下钻到具体设施与工序。
重排影响卡:预报更新后弹出「N 个任务需改期,累计延误 X 小时,建议方案」的卡片,支持一键应用或人工调整。
执行监控:计划 vs 实际的时间轴对比,船舶实时位置叠加在计划航线上。
海上设施监管-运维排程.png

六、数据边界与常见问题#

数据边界:气象、潮汐、禁航、船舶位置、航线来自船讯网;设施台账、工序定义与阈值、船舶资质与成本、人员排班来自内部系统。
Q1:为什么用贪心不用整数规划?
贪心在几十个任务、几艘船的规模下结果已经足够好,且响应快、可解释(每个决策都有打分依据,便于调度员理解与人工干预)。若任务量超过 200 或约束极复杂(多工种协同),再引入 OR-Tools 的 CP-SAT 求解器。
Q2:预报变了就一定重排吗?
不是。只有窗口完全失效才强制改期,部分重叠的只提示人工确认——过度自动重排会让调度员失去掌控感,也会造成船舶频繁改向。
Q3:船舶成本怎么算进排程?
把「航渡海里 × 单位海里成本 + 船舶日租金 × 占用天数」作为船舶适配度的一部分(航渡越短分越高),即可在打分中隐式优化成本;也可在方案生成后并行给出两套方案(最省时 / 最省钱)供调度员选择。


上一页
6、水域通航密度与碰撞风险预测