Files
pbf/tasks/NavSea V11 核心域定义.md
2026-04-08 19:32:25 +08:00

4.8 KiB
Raw Blame History

NavSea V11 核心域定义Core Domain Definition

版本

v11-core-domain-1 (CN)


1. 文档目的

本文件用于定义 NavSea 在 V11 架构下的核心域边界Domain Boundaries

NavSea 被定义为:

一个航海视觉辅助系统,在离线可生存的前提下,将海图数据、传感器解析结果与环境信息统一供给显示层。

本文件只定义:

  • 系统结构
  • 各域职责边界

本文件不涉及具体实现


2. 系统核心原则

NavSea 不是:

  • 航行控制系统
  • 设备控制系统
  • 单纯地图显示软件

NavSea 是:

一个面向显示的多源数据供给系统Display-Oriented Data Supply System

所有模块的存在目的只有一个:

为显示层提供可靠、可解释、可降级的数据


3. 顶层结构

NavSea 由四个核心域组成:

  1. 海图域Chart Domain
  2. 传感器域Sensor Domain
  3. 环境域Environment Domain
  4. 显示域Display Domain

4. 海图域Chart Domain

4.1 职责

海图域负责:

  • 向 MapLibre 提供瓦片数据PBF
  • 管理海图数据来源(预置 / 本地缓存 / 在线)
  • 保证离线可用
  • 管理数据版本与更新
  • 决定每个 tile 请求返回哪份数据

4.2 核心能力

  • Base Pack预置海图
  • Region Cache区域缓存
  • Online Pack在线最新数据
  • Tile Resolver瓦片解析与选择
  • Manifest本地索引与版本管理

4.3 输出

海图域输出:

MapLibre 可渲染的矢量瓦片PBF及相关资源

4.4 非职责

海图域不得:

  • 解析 NMEA
  • 做航行判断
  • 控制 UI
  • 处理非地图业务逻辑

5. 传感器域Sensor Domain

5.1 职责

传感器域负责:

  • 接收船内 UDP 数据
  • 解析 NMEA 电文
  • 统一数据结构
  • 维护本船状态
  • 进行实时判断与推导
  • 输出可显示的结果

5.2 输入

  • 船内 UDP 网络
  • NMEA 电文(如 GNRMC、YDMWV 等)

5.3 核心能力

  • 数据解析与标准化
  • 状态建模(本船 / 目标)
  • 计算派生数据(航向、风等)
  • 风险识别与判断
  • 生成可展示结果

5.4 输出

传感器域输出:

已解释的、可直接用于显示的结果(不是原始数据)

示例:

  • 本船状态
  • 目标信息
  • 风信息
  • 风险提示
  • 告警

5.5 非职责

传感器域不得:

  • 管理海图
  • 访问互联网 API
  • 控制设备
  • 直接渲染 UI

6. 环境域Environment Domain

6.1 职责

环境域负责:

  • 获取天气与海洋数据API
  • 本地缓存环境信息
  • 离线时提供可用数据
  • 管理数据时效性(新鲜度)

6.2 输入

  • 互联网 API天气、海流、气压等

6.3 核心能力

  • API 请求
  • 数据缓存(带 TTL
  • 离线 fallback
  • 时间戳管理
  • 数据新鲜度评估

6.4 输出

环境域输出:

带时间语义的环境信息

示例:

  • 风预报
  • 海流
  • 天气状态

6.5 非职责

环境域不得:

  • 管理地图瓦片
  • 解析 NMEA
  • 控制 UI
  • 生成无时间标记的数据

7. 显示域Display Domain

7.1 职责

显示域负责:

  • 将所有数据呈现给用户
  • 融合多来源数据
  • 管理 UI 组件与布局
  • 表达系统状态(包括降级状态)

7.2 输入

  • 海图域(瓦片)
  • 传感器域(判断结果)
  • 环境域(环境信息)

7.3 核心能力

  • MapLibre 地图显示
  • 覆盖层(目标 / 风险 / 航向等)
  • 信息面板
  • 告警展示
  • 数据新鲜度提示
  • 降级模式提示

7.4 输出

用户看到的完整视觉系统

7.5 非职责

显示域不得:

  • 获取数据
  • 解析数据
  • 管理缓存
  • 执行业务计算

8. 域间交互规则

8.1 允许的数据流

  • 海图域 → 显示域
  • 传感器域 → 显示域
  • 环境域 → 显示域

8.2 禁止耦合

  • 海图域 ↔ 传感器域
  • 传感器域 ↔ 环境域
  • 显示域依赖内部实现细节

所有交互必须通过明确的输出接口


9. 离线策略定义

9.1 海图域

  • 必须始终提供可显示内容
  • Base Pack 提供最低保障

9.2 传感器域

  • 必须完全离线可运行
  • 不依赖互联网

9.3 环境域

  • 离线时使用缓存数据
  • 必须标注数据时间

9.4 显示域

  • 必须清晰表达数据缺失或过期
  • 禁止伪装正常状态

10. V11 架构约束

后续开发必须遵守:

  • 不破坏域边界
  • 通过 wrapper / adapter 扩展
  • 不允许跨域逻辑泄漏
  • 不允许隐式数据共享

11. 最终定义

NavSea 架构定义为:

一个由海图域、传感器域、环境域独立生成数据,并由显示域统一呈现的离线可生存视觉系统。