Initial import
This commit is contained in:
276
tasks/NavSea_LandSeaMaskFoundation.md
Normal file
276
tasks/NavSea_LandSeaMaskFoundation.md
Normal file
@@ -0,0 +1,276 @@
|
||||
# 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 tile` 或 `mask 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 基础地理资产层。**
|
||||
|
||||
---
|
||||
Reference in New Issue
Block a user