301 lines
4.7 KiB
Markdown
301 lines
4.7 KiB
Markdown
Version: codex6
|
||
Architecture: NavSea V11
|
||
Domain: weather-display
|
||
Status: planned
|
||
|
||
1. 任务名称
|
||
|
||
NavSea_DisplayProductLine
|
||
|
||
2. 任务目标
|
||
|
||
建立 NavSea 天气系统中的 Display Product 生成线。
|
||
|
||
该生成线负责把服务端天气数据产出为前端可直接显示的天气产品,服务于地图叠加、图层控制、图例展示与时间帧切换。
|
||
|
||
该任务明确规定:
|
||
|
||
前端不参与天气颜色渲染
|
||
|
||
前端不参与天气场插值重建
|
||
|
||
显示图层由服务端直接生成或直接定义显示语义
|
||
|
||
Display Product 只对“显示可用性”负责,不对精确分析复用负责
|
||
|
||
3. 任务范围
|
||
|
||
本任务关注的是服务端显示产品体系,不包含分析查询,也不包含离线包。
|
||
|
||
本任务要定义并落地的主要内容包括:
|
||
|
||
显示产品命名规范
|
||
|
||
显示产品接口规划
|
||
|
||
raster weather tiles 体系
|
||
|
||
vector isoline / isoband 体系
|
||
|
||
display metadata 结构
|
||
|
||
legend metadata 结构
|
||
|
||
frame index 与产品索引结构
|
||
|
||
前端接入所需的最小语义边界
|
||
|
||
4. 目标产物
|
||
|
||
本任务完成后,应形成一套完整的 Display Product 基础能力,至少可支持:
|
||
|
||
风速 raster tile
|
||
|
||
浪高 raster tile
|
||
|
||
气压 isoline MVT
|
||
|
||
与之配套的显示元数据
|
||
|
||
与之配套的图例元数据
|
||
|
||
多时间帧显示切换基础
|
||
|
||
5. 核心原则
|
||
5.1 Display Product 不是分析接口
|
||
|
||
Display Product 面向地图显示,而不是数值精确查询。
|
||
|
||
5.2 服务端负责颜色
|
||
|
||
色带、颜色区间、推荐显示范围、图例语义,均由服务端定义。
|
||
|
||
5.3 前端只消费
|
||
|
||
前端负责图层接入、开关、透明度、顺序、时间帧切换、图例显示,不负责场构建与色带映射。
|
||
|
||
5.4 产品化输出
|
||
|
||
不要再输出“稀疏点等前端自行加工”的中间形态作为主显示方案。
|
||
|
||
6. 推荐产品类型
|
||
6.1 Raster Products
|
||
|
||
优先用于:
|
||
|
||
wind
|
||
|
||
wave
|
||
|
||
temperature
|
||
|
||
rain
|
||
|
||
current(如后续需要)
|
||
|
||
推荐接口命名:
|
||
|
||
/weather-display/raster/{product}/{time}/{z}/{x}/{y}.png
|
||
6.2 Vector Products
|
||
|
||
优先用于:
|
||
|
||
pressure isoline
|
||
|
||
wind isoband(后续)
|
||
|
||
wave isoband(后续)
|
||
|
||
推荐接口命名:
|
||
|
||
/weather-display/vector/{product-variant}/{time}/{z}/{x}/{y}.pbf
|
||
|
||
示例:
|
||
|
||
/weather-display/vector/pressure-isoline/{time}/{z}/{x}/{y}.pbf
|
||
/weather-display/vector/wind-isoband/{time}/{z}/{x}/{y}.pbf
|
||
/weather-display/vector/wave-isoband/{time}/{z}/{x}/{y}.pbf
|
||
7. 必须定义的元数据
|
||
7.1 Display Meta
|
||
|
||
至少包含:
|
||
|
||
product
|
||
|
||
time
|
||
|
||
unit
|
||
|
||
display type
|
||
|
||
palette id
|
||
|
||
recommended min/max
|
||
|
||
data min/max
|
||
|
||
no-data definition
|
||
|
||
supported zoom range
|
||
|
||
opacity suggestion
|
||
|
||
示例方向:
|
||
|
||
/weather-display/meta/{product}/{time}
|
||
7.2 Legend Meta
|
||
|
||
至少包含:
|
||
|
||
title
|
||
|
||
subtitle
|
||
|
||
unit
|
||
|
||
legend sections
|
||
|
||
scale type
|
||
|
||
color stops / discrete buckets
|
||
|
||
contour levels(如适用)
|
||
|
||
7.3 Frame Index
|
||
|
||
至少包含:
|
||
|
||
available frames
|
||
|
||
frame step
|
||
|
||
earliest / latest
|
||
|
||
product availability
|
||
|
||
8. 服务端职责
|
||
|
||
本任务要求服务端承担:
|
||
|
||
原始天气数据插值/重采样到显示适合形式
|
||
|
||
色带映射
|
||
|
||
等值线 / 等值带生成
|
||
|
||
多时间帧组织
|
||
|
||
显示元数据输出
|
||
|
||
图例元数据输出
|
||
|
||
no-data 透明化或规避策略
|
||
|
||
产品一致性控制
|
||
|
||
9. 前端职责边界
|
||
|
||
Display Product 接入后,前端只负责:
|
||
|
||
source / layer 注册
|
||
|
||
图层可见性控制
|
||
|
||
opacity 调整
|
||
|
||
z-index / layer ordering
|
||
|
||
时间帧切换
|
||
|
||
图例读取与展示
|
||
|
||
点击地图后跳转到 Analysis Product 查询
|
||
|
||
前端不得承担:
|
||
|
||
主显示色带生成
|
||
|
||
连续场构建
|
||
|
||
contour 生成
|
||
|
||
稀疏点插值渲染
|
||
|
||
10. 非目标
|
||
|
||
本任务不包括:
|
||
|
||
点位天气查询接口
|
||
|
||
多小时 sample bundle
|
||
|
||
航线采样接口
|
||
|
||
离线天气包下载
|
||
|
||
前端本地天气数值采样
|
||
|
||
路线规划算法
|
||
|
||
航速极图/性能模型耦合
|
||
|
||
11. 第一阶段最小可交付
|
||
必做
|
||
|
||
wind raster display product
|
||
|
||
wave raster display product
|
||
|
||
pressure isoline display product
|
||
|
||
display metadata
|
||
|
||
legend metadata
|
||
|
||
frame index
|
||
|
||
可后续增强
|
||
|
||
wind isoband
|
||
|
||
wave isoband
|
||
|
||
current raster
|
||
|
||
rain raster
|
||
|
||
temperature raster
|
||
|
||
12. 接受标准
|
||
|
||
任务完成时,必须满足:
|
||
|
||
已建立 Display Product 正式命名与结构
|
||
|
||
已形成前端可直接消费的显示产品体系
|
||
|
||
前端无需参与颜色渲染
|
||
|
||
前端无需自行插值天气场
|
||
|
||
至少具备 wind / wave raster 与 pressure isoline 的最小闭环
|
||
|
||
已定义 display meta / legend meta / frame index
|
||
|
||
与 Analysis / Offline 保持清晰边界
|
||
|
||
符合 NavSea V11 非破坏式扩展要求
|
||
|
||
13. Codex 执行要求
|
||
|
||
执行此任务时:
|
||
|
||
优先产出系统设计文件、接口定义文件、元数据结构文件
|
||
|
||
若新建 .ts/.tsx 文件,必须加 logger 初始化
|
||
|
||
若修改已有文件,必须等待用户提供原文件
|
||
|
||
不得擅自假设现有前端地图实现细节
|
||
|
||
不得把 Analysis 或 Offline 内容混入 Display Product 任务范围 |