文档版本:V1.0
编制日期:2026-06-30
适用项目:项目甲平台
适用对象:产品、前端、后端、APP、某采集平台对接方
一、需求背景
本次需求主要围绕项目甲平台中的图斑展示与无人机视频叠加能力进行补充完善,包含三类诉求:
- 底图上的图斑信息需要按地图缩放比例控制显示,避免地图未放大时图斑信息过密、重叠、难以查看。
- 底图图斑需要展示大致长宽,方便操作人员在举证任务中设置飞行或拍摄参数。
- 无人机执行任务时,直播画面需要支持图斑红线叠加,叠加效果参考 APP 现有效果;外网场景不使用 APP 的本地图斑缓存方式,而由某采集平台传输当前任务的 GeoJSON/JSON 图斑几何数据。
现有 APP 端已具备类似图斑红线叠加效果,但 APP 场景通常将图斑信息放在本地。外网某采集平台执行任务时,需要通过接口或任务数据传输方式,将当前任务对应的图斑几何信息传递给红线叠加模块,用于计算直播画面中的红线位置。
二、需求目标
| 目标编号 | 目标说明 | 优先级 |
|---|---|---|
| G1 | 底图图斑按地图比例尺或层级控制显示,减少低缩放级别下的信息重叠 | P0 |
| G2 | 图斑信息显示能力支持配置,可按业务需要开启或关闭 | P0 |
| G3 | 底图图斑增加大致长宽展示,辅助举证参数设置 | P0 |
| G4 | 无人机直播画面支持当前任务图斑红线叠加,效果参考 APP | P0 |
| G5 | 外网某采集平台场景支持传输当前任务 GeoJSON/JSON 图斑几何数据,仅用于计算和叠加红线 | P0 |
| G6 | 提供项目甲侧已实现或已验证的图斑红线叠加方案,便于某采集平台对接 | P0 |
三、需求范围
3.1 包含范围
- 地图底图上的图斑红线显示控制。
- 图斑长宽信息展示。
- 图斑信息显示开关配置。
- 无人机直播画面中的图斑红线叠加。
- 当前任务图斑 GeoJSON/JSON 几何数据传输。
- 图斑红线叠加计算方案说明。
- 内网版本更新后的联调测试与验收。
3.2 不包含范围
- 不新增图斑业务流转、审核、状态判断等管理能力。
- 不要求某采集平台传输图斑 ID、图斑编号、业务类型、举证状态等业务字段。
- 不将图斑长宽作为测绘级精确量算结果,仅作为举证参数设置参考。
- 不改变现有 APP 本地图斑缓存机制,本需求仅说明外网某采集平台场景的数据传输差异。
四、功能需求
4.1 图斑信息显示逻辑
4.1.1 功能描述
地图底图中的图斑信息不应在所有缩放级别下直接绘制。系统需在用户将地图放大到指定比例尺或地图层级后,再显示图斑红线、图斑标签及长宽信息。
默认建议阈值为 1:20000及以上,具体实现可根据前端地图组件能力选择以下任一配置方式:
- 按比例尺配置:如地图比例尺达到
1:20000或更大比例时显示。 - 按地图层级配置:如地图 zoom 达到指定层级后显示。
最终采用比例尺还是地图层级,需要与杨林沟通确认。
4.1.2 显示规则
| 场景 | 显示规则 |
|---|---|
| 图斑信息开关关闭 | 不显示图斑红线、标签、长宽 |
| 图斑信息开关开启,但地图未达到显示阈值 | 不显示图斑红线、标签、长宽 |
| 图斑信息开关开启,且地图达到显示阈值 | 显示图斑红线,可显示图斑标签和长宽 |
| 用户缩小地图并低于显示阈值 | 自动隐藏图斑信息 |
| 图斑数据为空或加载失败 | 不绘制图斑,并给出必要的前端容错提示 |
4.1.3 配置要求
系统需提供图斑信息显示配置能力,建议配置项如下:
| 配置项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
patchDisplayEnabled | boolean | true | 是否启用底图图斑信息显示 |
patchDisplayMode | string | scale | 显示阈值模式:scale 表示按比例尺,zoom 表示按地图层级 |
patchDisplayScale | string/number | 1:20000 | 按比例尺显示时的阈值 |
patchDisplayZoom | number | 待确认 | 按地图层级显示时的阈值 |
patchLengthWidthEnabled | boolean | true | 是否显示图斑长宽信息 |
4.2 图斑边长展示
4.2.1 功能描述
底图图斑需要增加大致长宽展示,便于操作人员在举证任务中设置参数。长宽信息主要用于业务辅助判断,不作为精确测绘结果。
4.2.2 展示内容
建议展示格式:
长约 120m,宽约 18m
若图斑较小或地图空间不足,可采用简化格式:
120m x 18m
4.2.3 计算口径
图斑长宽可采用以下方式计算,按实现成本和准确性综合选择:
- 优先按图斑主方向或最小外接矩形计算大致长宽。
- 若暂不具备主方向计算能力,可先按图斑外接矩形估算长宽。
- 对不规则图斑,展示值仍以“大致长宽”为准,不要求完全贴合每一条边。
4.2.4 显示规则
- 图斑长宽随图斑红线一起显示。
- 地图未达到显示阈值时,长宽不显示。
- 图斑信息显示开关关闭时,长宽不显示。
- 长宽计算失败时,仅显示图斑红线,不阻断图斑绘制。
4.3 无人机直播画面图斑红线叠加
4.3.1 功能描述
某采集平台执行无人机任务时,直播画面需要支持叠加当前任务图斑红线。叠加效果参考 APP 中已有的图斑红线效果,即在视频画面中根据无人机视角将地面图斑边界映射到画面上。
本需求明确:红线叠加不以“无人机到达图斑举证位置”为前置条件,但必须存在任务上下文。只有在无人机执行任务、已开启“红线叠加”和“AI识别”功能,并且当前任务存在可用图斑几何数据时,才允许进行图斑红线叠加。
日常飞行或无任务飞行场景下,由于不存在当前任务图斑 GeoJSON/JSON 数据,不允许叠加图斑红线。
4.3.2 触发条件
| 条件 | 是否必须 | 说明 |
|---|---|---|
| 当前处于无人机任务执行过程中 | 是 | 必须存在正在执行的任务上下文 |
| 红线叠加功能已开启 | 是 | 用户或系统配置开启 |
| AI识别功能已开启 | 是 | 与现有任务执行能力联动 |
| 当前任务存在图斑几何数据 | 是 | 由某采集平台传输 GeoJSON/JSON |
| 无人机到达图斑举证位置 | 否 | 不作为叠加前置条件 |
不满足“任务执行中”或“当前任务存在图斑几何数据”任一条件时,即使红线叠加和 AI识别开关已开启,也不得在直播画面叠加图斑红线。
4.3.3 叠加逻辑
直播叠加模块根据以下数据计算图斑红线在视频画面中的位置:
- 当前任务图斑几何数据。
- 无人机实时位置。
- 无人机飞行姿态。
- 云台角度。
- 相机参数。
- 视频画面尺寸和当前画面坐标系。
计算结果用于在直播画面上绘制图斑红线。若图斑不在当前相机可视范围内,则不绘制或只绘制可见部分。
4.3.4 显示规则
| 场景 | 显示规则 |
|---|---|
| 红线叠加开启,AI识别开启,图斑几何数据正常 | 直播画面叠加图斑红线 |
| 日常飞行或无任务飞行 | 不叠加图斑红线 |
| 有任务但未收到当前任务图斑几何数据 | 不叠加图斑红线 |
| 红线叠加关闭 | 不叠加图斑红线 |
| AI识别关闭 | 不叠加图斑红线 |
| 当前任务无图斑几何数据 | 不叠加图斑红线,并记录或提示数据缺失 |
| 图斑不在当前可视范围内 | 不显示或仅显示可视范围内的红线 |
| 无人机姿态或相机参数缺失 | 不叠加红线,并记录原因,避免错误绘制 |
4.4 APP 效果参考与外网场景差异
4.4.1 APP 场景
APP 端可参考现有红线叠加效果。APP 场景下,图斑信息通常可提前放在本地,任务执行时直接从本地读取图斑几何数据进行计算和叠加。
4.4.2 外网某采集平台场景
外网某采集平台场景下,不采用 APP 的本地图斑数据方式。某采集平台需要在当前任务执行过程中,将当前任务对应的 GeoJSON/JSON 图斑几何数据传输给叠加模块。
该数据仅用于红线计算和画面叠加,不用于业务状态判断,也不要求携带图斑业务属性。
日常飞行没有任务上下文,也没有当前任务图斑 GeoJSON/JSON 数据,因此不进入红线叠加流程。
五、数据与接口要求
5.1 数据传输原则
当前任务图斑数据以 GeoJSON/JSON 形式传输,仅用于计算和叠加红线。数据内容只需要包含图斑几何信息,不需要图斑 ID、图斑编号、业务类型、举证状态等字段。
5.2 支持的数据格式
5.2.1 GeoJSON Geometry
{
"type": "Polygon",
"coordinates": [
[
[113.912345, 30.912345],
[113.913456, 30.912678],
[113.913789, 30.911987],
[113.912678, 30.911654],
[113.912345, 30.912345]
]
]
}
5.2.2 GeoJSON FeatureCollection
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "Polygon",
"coordinates": [
[
[113.912345, 30.912345],
[113.913456, 30.912678],
[113.913789, 30.911987],
[113.912678, 30.911654],
[113.912345, 30.912345]
]
]
},
"properties": {}
}
]
}
5.2.3 Geometry 数组
[
{
"type": "Polygon",
"coordinates": [
[
[113.912345, 30.912345],
[113.913456, 30.912678],
[113.913789, 30.911987],
[113.912678, 30.911654],
[113.912345, 30.912345]
]
]
}
]
5.3 坐标系要求
- 默认使用 WGS84 经[坐标已隐藏]坐标,即 GeoJSON 常用坐标顺序 `[[坐标已隐藏]
- 若某采集平台传输的数据不是 WGS84 坐标系,需要在对接时明确坐标系,并由双方确认转换责任。
- 坐标精度应满足直播画面叠加需求,建议保留 6 位及以上小数。
5.4 传输时机
建议在以下时机传输当前任务图斑几何数据:
- 任务开始或任务加载时,传输当前任务全部图斑几何数据。
- 任务图斑发生变化时,重新传输最新图斑几何数据。
- 直播叠加模块初始化失败或数据丢失时,可重新请求当前任务图斑几何数据。
无任务的日常飞行不需要传输图斑几何数据,也不允许触发图斑红线叠加。
5.5 异常处理
| 异常场景 | 处理方式 |
|---|---|
| 未收到图斑几何数据 | 不叠加红线,记录数据缺失原因 |
| GeoJSON/JSON 解析失败 | 不叠加红线,记录解析失败原因 |
| geometry 类型不支持 | 跳过不支持的图斑,继续处理其他图斑 |
| 坐标系不明确 | 暂不叠加,需对接确认 |
| 图斑坐标明显异常 | 跳过异常图斑,避免错误叠加 |
六、非功能需求
6.1 性能要求
| 指标 | 要求 |
|---|---|
| 底图图斑显示响应 | 地图达到阈值后 2 秒内完成当前视野图斑绘制 |
| 地图缩放隐藏响应 | 缩放低于阈值后 1 秒内隐藏图斑信息 |
| 直播红线叠加延迟 | 不明显影响直播画面播放流畅度 |
| 图斑数据解析 | 当前任务常规图斑数量下应快速完成解析,不阻塞任务执行 |
6.2 可配置性
- 图斑信息显示开关可配置。
- 显示阈值可配置。
- 长宽展示可配置。
- 红线叠加功能可配置。
- AI识别功能开关与红线叠加逻辑联动。
6.3 可用性
- 图斑红线颜色建议使用醒目的红色,与 APP 效果保持一致。
- 图斑长宽标签应避免遮挡核心图斑区域。
- 低缩放级别下不展示图斑信息,优先保证地图可读性。
- 直播画面叠加失败时,不应影响直播播放和 AI 识别任务本身。
6.4 兼容性
- 底图显示能力需兼容现有地图组件和图层管理能力。
- 直播叠加能力需兼容某采集平台当前任务执行流程。
- GeoJSON/JSON 数据格式应尽量采用标准格式,降低双方对接成本。
七、开发计划与待办
| 待办事项 | 负责人 | 说明 |
|---|---|---|
| 确认图斑信息显示配置方案 | 杜大雾、杨林 | 明确按地图层级还是按比例尺配置 |
| 开发底图图斑显示逻辑 | 待定 | 按配置控制图斑红线、标签、长宽显示 |
| 开发图斑长宽展示能力 | 待定 | 输出大致长宽,辅助举证参数设置 |
| 提供图斑红线叠加方案 | [姓名已隐藏] | 向某采集平台说明已有计算方案和对接口径 |
| 确认某采集平台当前任务 GeoJSON/JSON 传输方式 | [姓名已隐藏]、某采集平台 | 仅传输几何信息,用于计算叠加 |
| 确认本周内网版本是否更新 | 杜大雾 | 内网版本更新后安排测试 |
| 联调直播红线叠加效果 | [姓名已隐藏]、某采集平台 | 验证开启红线叠加和 AI 识别后可显示红线 |
八、验收标准
8.1 地图图斑显示验收
- 地图未达到配置阈值时,不显示图斑红线、标签和长宽。
- 地图达到配置阈值后,图斑信息正常显示。
- 图斑信息显示开关关闭后,图斑信息不显示。
- 地图缩放过程中,显示和隐藏逻辑稳定,无明显残留图形。
8.2 图斑长宽展示验收
- 图斑显示时能展示大致长宽。
- 长宽单位为米,展示格式清晰。
- 不规则图斑也能给出可参考的长宽估算值。
- 长宽展示不明显遮挡图斑主体。
8.3 直播红线叠加验收
- 无人机任务执行过程中,同时开启红线叠加和 AI识别后,直播画面可叠加当前任务图斑红线。
- 日常飞行或无任务飞行场景下,即使开启红线叠加和 AI识别,也不得叠加图斑红线。
- 有任务但未收到当前任务图斑 GeoJSON/JSON 几何数据时,不得叠加图斑红线。
- 红线叠加不要求无人机到达图斑举证位置。
- 关闭红线叠加功能后,直播画面不显示图斑红线。
- 关闭 AI识别功能后,直播画面不显示图斑红线。
- 图斑不在当前相机视野内时,不错误显示红线。
- 图斑红线叠加不影响直播画面正常播放。
8.4 数据传输验收
- 某采集平台可传输当前任务 GeoJSON/JSON 图斑几何数据。
- 数据只包含几何信息时,叠加模块仍可正常计算和绘制。
- 不传输图斑 ID、图斑编号、业务类型、举证状态等字段时,不影响红线叠加。
- GeoJSON/JSON 数据异常时,系统不叠加错误红线,并能记录或提示异常原因。
8.5 内网版本验收
- 本周内网版本更新后,可开展底图图斑显示、长宽展示和直播叠加相关测试。
- 若内网版本未更新,需要明确延期测试时间和影响范围。
九、关键结论
- 图斑信息显示需要受地图比例尺或层级控制,默认参考
1:20000及以上。 - 图斑显示能力需要支持配置,便于不同环境按需开启或关闭。
- 底图图斑需要展示大致长宽,方便操作人员设置举证参数。
- 无人机直播画面红线叠加效果参考 APP,但外网某采集平台场景需要由某采集平台传输当前任务 GeoJSON/JSON 图斑几何数据。
- 红线叠加触发条件是任务执行过程中同时开启“红线叠加”和“AI识别”,并且存在当前任务图斑 GeoJSON/JSON 数据,不是无人机到达图斑举证位置。
- 日常飞行或无任务飞行没有当前任务图斑数据,不允许叠加图斑红线。
- 当前任务图斑数据只用于计算叠加红线,不做业务判断,因此不要求传输图斑 ID 等业务字段。