Files
weather/tasks/NavSea_LandSeaMaskFoundation.md
OpenAI Codex c957fef15b Initial import
2026-03-17 19:52:51 +08:00

6.1 KiB
Raw Blame History

Task: NavSea_LandSeaMaskFoundation

Version: codex6 Architecture: NavSea V11 Domain: geo-mask Status: planned


1. 任务名称

NavSea_LandSeaMaskFoundation


2. 任务目标

建立 NavSea 的 land/sea mask 基础能力,作为天气 Display Product 服务端生成链的独立地理基础层。

该任务的目标不是生成天气数据,而是建立一个可复用的海陆判定资产,使后续天气显示产品能够支持:

  • 海域正常显示
  • 陆地弱化或屏蔽
  • 海岸过渡带处理
  • 不同天气产品按海陆语义应用不同 compositing 规则
  • 不同 zoom 下稳定一致的海陆判定

本任务必须明确:

  • land/sea mask 是独立基础地理资产
  • 不从天气 pbf 中反推海陆边界
  • mask 需服务于 Display Product但不依附于某个天气产品
  • mask 后续也可复用于其它海图/航海场景

3. 问题定义

当前 NavSea 天气显示层需要区分海域与陆地,否则会出现:

  • 陆地区域被整体染色
  • 底图地名和地形被压脏
  • 海岸线附近视觉边界不干净
  • wave/current 等本应海域专属的产品错误显示到陆地
  • wind 等产品缺少“海域优先、陆地弱化”的语义控制

这些问题无法通过天气数据本身稳定解决。

因此必须建立独立 land/sea mask 基础层。


4. 核心原则

4.1 Mask 必须独立于天气产品

land/sea mask 不得从 weather pbf、weather raster、weather contour 结果中推断。

4.2 Mask 是基础地理资产

它应来源于独立海岸线、陆地面、水域面或底图地理数据。

4.3 Mask 必须可复用

同一套 mask 应可服务于:

  • wind display
  • wave display
  • current display
  • pressure display
  • 后续其它海图叠加产品

4.4 产品规则独立于 mask 数据本身

mask 只回答“哪里是 land / sea / coast transition” 具体如何使用由各 weather product policy 决定。


5. 推荐数据来源方向

本任务允许并建议调研与选型以下来源:

5.1 日本本地官方方向

  • 国土地理院GSI相关地理数据 / 地理院瓦片体系 / 可复用海岸线或陆地区域数据

5.2 全球通用基础源

  • Natural Earth
  • GSHHG
  • OpenStreetMap 派生 coastline / land polygons / water polygons

5.3 复用现有底图数据

若 NavSea 当前底图体系已经具备:

  • land polygon
  • water polygon
  • coastline vector data

则优先复用,不重复建设平行数据链。

建议按 OSM land polygons → GSHHG → GSI 来尝试模型。

6. 任务范围

本任务关注:

  • land/sea mask 数据源选型
  • mask 数据模型
  • mask 生成规则
  • mask tile / mask asset 组织方式
  • coastline transition 基础能力
  • mask 元数据定义
  • 与 Display Product 的服务端对接边界

本任务不包括:

  • 天气 raster 生成
  • palette 生成
  • Analysis Product 查询
  • Offline Package 打包
  • 前端 layer 实现
  • 航线规划算法

7. 目标产物

本任务完成后,应至少形成:

  1. land/sea mask 数据来源选型结论
  2. mask asset 组织方案
  3. mask tilemask data block 输出方案
  4. coast transition 基础定义
  5. mask metadata 结构
  6. 给 Display Product 复用的服务端接口或内部资产规范

8. 推荐实现方向

8.1 最小可行版本

先建立基础二值判定:

  • land
  • sea

并支持:

  • land attenuate
  • land mask out

8.2 第二阶段增强

增加海岸过渡带:

  • coast transition band
  • 渐变衰减
  • 防止海岸线处硬切边

8.3 输出形式建议

推荐至少评估以下两种输出之一:

A. Raster mask tiles

例如: /geo-mask/land-sea/{z}/{x}/{y}.png

适合快速接入服务端 display compositing。

B. Vector / polygon asset

例如:

  • 预处理 land polygons
  • 预处理 coastline bands
  • 服务端生成 tile 时内部引用

适合更高质量生成链。


9. 必须定义的数据语义

至少定义:

  • land
  • sea
  • coastTransition(如实现第二阶段)
  • no-data / out-of-coverage 行为
  • 不同 zoom 下精度与简化策略
  • mask 版本号
  • 源数据来源标识

10. Display Product 对接要求

本任务必须为后续天气显示产品提供可复用能力,使不同产品可采用不同策略,例如:

wind

  • sea: normal
  • land: attenuate

wave

  • sea: normal
  • land: mask

current

  • sea: normal
  • land: mask

pressure

  • sea: normal
  • land: normal

因此本任务输出的不是某个固定产品规则,而是支持这些规则的统一 mask 基础层。


11. 选型评估要求

执行任务时,必须对候选数据源至少从以下维度进行比较:

  • 日本沿岸适用性
  • 海岸线精度
  • 岛屿细节表现
  • 许可与使用约束
  • 全球/区域覆盖能力
  • 数据更新便利性
  • 预处理复杂度
  • 与当前底图体系兼容性
  • 服务端 tile 生成链接入难度

12. 第一阶段最小可交付

必做

  1. 数据源选型结论
  2. land/sea mask 数据模型
  3. mask 资产组织方式
  4. 基础 land / sea 判定
  5. 给 Display Product 的对接方式

第二阶段

  1. coast transition band
  2. 多 zoom 精度策略
  3. 日本重点海域精度优化
  4. 与 Offline Package 的复用关系定义

13. 接受标准

任务完成时,必须满足:

  • land/sea mask 被正式定义为独立基础层
  • 不再从天气 pbf 推断海陆边界
  • 已有明确数据源选型结论
  • 已定义 mask 资产和输出组织方式
  • 已能支撑 Display Product 的海陆差异化显示
  • 已为 coastline transition 预留扩展空间
  • 符合 NavSea V11 非破坏式扩展要求

14. Codex 执行要求

执行此任务时:

  • 优先产出选型文档、mask 类型定义、mask asset 组织规则
  • 若修改已有文件,必须等待用户提供原文件
  • 若新建 .ts/.tsx 文件,必须包含 NavSea logger 初始化
  • 不引入未知依赖
  • 不把天气产品逻辑混入 mask 基础层
  • 不把 mask 简化成前端临时判断逻辑

15. 一句话定义

本任务的本质是:

为 NavSea 建立一个独立、可复用、可服务于天气显示产品的 land/sea mask 基础地理资产层。