WIKI v2.1
多源遥感数据集成与智能分析
综合可视化平台
文档编号
WX-WIKI-001
版本
v2.1
密级
内部机密
编制日期
2026-06-13
编制单位
卫星陕西项目组
文档类型
项目代码Wiki
一、项目概述
1.1 项目名称
多源遥感数据集成与智能分析综合可视化平台
1.2 项目定位
本平台是一个面向多源遥感数据的集成管理、智能分析与综合可视化系统,旨在实现遥感数据的批量上传/下载、统一组织管理、多维度检索查询、二三维可视化展示及运维管理等功能。平台严格遵循国家遥感数据管理标准,支持CGCS2000国家大地坐标系(EPSG:4490),兼容WGS84(EPSG:4326),满足等保三级(含2025数据安全新规)安全合规要求。
1.3 核心目标
| 目标 | 说明 |
|---|---|
| 数据集成 | 支持多源异构遥感数据(GF-1/2/6/7、ZY-3、SJ-9等国产卫星)的统一接入与管理 |
| 智能分析 | 提供基于元数据与时空条件的智能检索,AI目标检测(DOTA基准mAP≥0.75)、语义分割(mIoU≥0.65)能力 |
| 综合可视化 | 基于CGCS2000统一时空标准实现二三维一体化可视化,支持COG按需切图 |
| 运维保障 | 提供完整的运维管理与日志查看功能,满足等保三级(含2025数据安全新规)合规要求 |
二、系统架构
2.1 整体架构设计
graph TB
subgraph PL["表现层 Presentation"]
direction LR
PM[数据管理] --> PS[检索查询]
PS --> PV[可视化展示]
PV --> PA[运维管理]
end
subgraph SL["业务服务层 Service"]
direction LR
SU[数据上传/下载] --> SR[综合检索]
SR --> SV[二三维可视化]
SV --> SO[日志管理]
end
subgraph PL2["数据处理层 Processing"]
direction LR
PP1[元数据解析] --> PP2[查询引擎]
PP2 --> PP3[影像处理]
PP3 --> PP4[日志采集]
end
subgraph STL["数据存储层 Storage"]
direction LR
ST1["文件存储
影像数据"] --> ST2["元数据库
元数据索引"] ST2 --> ST3["影像缓存
瓦片/切片"] ST3 --> ST4["日志存储
日志数据"] end PL --> SL SL --> PL2 PL2 --> STL style PL fill:#E8F5E9,stroke:#4CAF50,stroke-width:2px style SL fill:#E3F2FD,stroke:#2196F3,stroke-width:2px style PL2 fill:#FFF3E0,stroke:#FF9800,stroke-width:2px style STL fill:#F3E5F5,stroke:#9C27B0,stroke-width:2px
影像数据"] --> ST2["元数据库
元数据索引"] ST2 --> ST3["影像缓存
瓦片/切片"] ST3 --> ST4["日志存储
日志数据"] end PL --> SL SL --> PL2 PL2 --> STL style PL fill:#E8F5E9,stroke:#4CAF50,stroke-width:2px style SL fill:#E3F2FD,stroke:#2196F3,stroke-width:2px style PL2 fill:#FFF3E0,stroke:#FF9800,stroke-width:2px style STL fill:#F3E5F5,stroke:#9C27B0,stroke-width:2px
2.2 架构分层说明
| 层级 | 名称 | 职责 |
|---|---|---|
| 表现层 | Presentation | 用户交互界面,包括数据管理、检索查询、可视化展示、运维管理等前端模块 |
| 业务服务层 | Service | 核心业务逻辑处理,提供数据上传/下载、检索、可视化、运维等 API 服务 |
| 数据处理层 | Processing | 数据解析、转换、索引构建、影像处理等计算密集型任务 |
| 数据存储层 | Storage | 多类型数据持久化,包括文件存储、元数据库、影像缓存、日志存储 |
三、主要模块职责
3.1 模块总览
graph LR
M1[数据上传/下载] --> M2[数据管理]
M2 --> M3[目录管理]
M2 --> M4[综合检索]
M4 --> M5[空间检索]
M1 --> M6[可视化]
M3 --> M6
M5 -.-> M6
M6 --> M7[运维管理]
M7 --> M8[日志管理]
style M1 fill:#E3F2FD,stroke:#1565C0
style M2 fill:#E3F2FD,stroke:#1565C0
style M3 fill:#E3F2FD,stroke:#1565C0
style M4 fill:#E8F5E9,stroke:#2E7D32
style M5 fill:#E8F5E9,stroke:#2E7D32
style M6 fill:#FFF3E0,stroke:#E65100
style M7 fill:#FCE4EC,stroke:#C2185B
style M8 fill:#FCE4EC,stroke:#C2185B
3.2 各模块详细说明
3.2.1 数据上传/下载模块
| 项目 | 说明 |
|---|---|
| 模块职责 | 提供遥感数据的批量上传与高效下载能力 |
| 核心功能 | 本地上传/下载、服务器上传/下载、断点续传、完整性校验 |
| 支持数据类型 | 原始影像、成果影像及其他符合元数据规范的扩展数据类型 |
| 支持数据格式 | GeoTIFF/COG、HDF4/5、NetCDF-4、SAFE(Sentinel)、FAST(高分系列)、JPEG2000、NITF 2.1 |
| 数据分级 | L0原始数据→L1辐射校正→L2系统几何校正→L3正射校正→L4专题产品 |
| 技术指标 | 支持批量上传;下载内容完整;支持本地与服务器两种传输模式 |
关键接口设计:
数据上传接口:
POST /api/data/upload - 本地文件上传
POST /api/data/upload/server - 服务器端数据导入
GET /api/data/upload/status - 上传状态查询
数据下载接口:
GET /api/data/download/{id} - 单文件下载
POST /api/data/download/batch - 批量下载
GET /api/data/download/status - 下载状态查询
3.2.2 数据管理模块
| 项目 | 说明 |
|---|---|
| 模块职责 | 对遥感数据进行增删改查及统一组织管理 |
| 核心功能 | 数据 CRUD、元数据自动解析、编目组织、统一检索、自动关联 |
| 技术指标 | 自动解析各类原始卫星影像与成果影像的元数据信息;利用元数据结构实现编目组织与自动关联 |
关键接口设计:
数据管理接口:
GET /api/data - 数据列表查询
POST /api/data - 新增数据记录
PUT /api/data/{id} - 更新数据记录
DELETE /api/data/{id} - 删除数据记录
GET /api/data/{id}/metadata - 获取元数据信息
3.2.3 目录管理模块
| 项目 | 说明 |
|---|---|
| 模块职责 | 支持按照业务需求自定义多级目录对数据进行管理 |
| 核心功能 | 多级目录创建/编辑/删除、目录权限管理、数据与目录关联 |
| 技术指标 | 支持自定义多级目录结构;灵活的目录组织方式 |
关键接口设计:
目录管理接口:
GET /api/catalog/tree - 获取目录树
POST /api/catalog - 创建目录节点
PUT /api/catalog/{id} - 更新目录节点
DELETE /api/catalog/{id} - 删除目录节点
POST /api/catalog/{id}/data - 关联数据到目录
3.2.4 综合检索模块
| 项目 | 说明 |
|---|---|
| 模块职责 | 提供多维度影像数据快速检索能力 |
| 核心功能 | 多条件检索、联合检索、结果排序与分页 |
| 支持检索条件 | 成像时间范围、卫星及传感器参数(GF-1/2/6/7、ZY-3等)、文件名称、数据级别(L0-L4)、云量、空间范围(AOI) |
| 技术指标 | 支持多条件联合检索;快速响应 |
关键接口设计:
综合检索接口:
POST /api/search - 综合检索(支持多条件联合)
GET /api/search/suggestions - 搜索建议
GET /api/search/filters - 可用过滤条件
检索参数模型:
{
"timeRange": {
"start": "成像开始时间",
"end": "成像结束时间"
},
"satellite": "卫星名称",
"sensor": "传感器参数",
"fileName": "文件名称(支持模糊匹配)",
"dataLevel": "数据级别",
"cloudCover": {
"max": "最大云量百分比"
},
"spatialFilter": {
"geometry": "空间几何范围(GeoJSON)"
},
"page": {
"number": 1,
"size": 20
}
}
3.2.5 空间检索模块
| 项目 | 说明 |
|---|---|
| 模块职责 | 提供基于空间范围的数据检索能力 |
| 核心功能 | 空间范围查询、空间交集判断、GeoJSON 几何过滤 |
| 技术指标 | 支持空间检索;与综合检索联合使用 |
3.2.6 可视化模块
| 项目 | 说明 |
|---|---|
| 模块职责 | 提供基于同一时空标准(CGCS2000/EPSG:4490)的二三维可视化能力 |
| 核心功能 | 二维地图展示、三维场景渲染、时空标准对齐、影像叠加显示、COG按需切图 |
| 技术指标 | 二三维一体化;统一时空标准 |
关键接口设计:
可视化接口:
GET /api/visualization/tiles/{z}/{x}/{y} - 获取影像瓦片
POST /api/visualization/scene - 创建三维场景
GET /api/visualization/scene/{id} - 获取场景配置
GET /api/visualization/timeline - 获取时间轴数据
3.2.7 运维管理模块
| 项目 | 说明 |
|---|---|
| 模块职责 | 提供系统运维管理能力 |
| 核心功能 | 系统监控、服务状态管理、配置管理、用户权限管理 |
| 技术指标 | 支持运维管理功能 |
3.2.8 日志管理模块
| 项目 | 说明 |
|---|---|
| 模块职责 | 提供系统日志查看与管理功能 |
| 核心功能 | 操作日志记录、日志查询、日志导出、异常日志告警 |
| 技术指标 | 支持日志查看功能 |
关键接口设计:
日志管理接口:
GET /api/logs - 日志列表查询
GET /api/logs/{id} - 日志详情
GET /api/logs/export - 日志导出
GET /api/logs/statistics - 日志统计
四、数据模型
4.1 核心实体关系
erDiagram
REMOTE_DATA ||--|| METADATA : "1:1"
REMOTE_DATA }|--|{ DATA_CATALOG : "N:N"
CATALOG_NODE }|--|{ DATA_CATALOG : "N:N"
REMOTE_DATA ||--o{ OPERATION_LOG : "操作记录"
REMOTE_DATA {
string id PK
string fileName
string filePath
string dataType
string dataLevel
long fileSize
string source
string status
datetime uploadTime
}
METADATA {
string id PK
string dataId FK
datetime imagingTime
string satellite
string sensor
float cloudCover
geometry spatialExtent
string coordinateSystem
float resolution
json extraFields
}
CATALOG_NODE {
string id PK
string parentId
string name
int level
int sortOrder
datetime createTime
}
DATA_CATALOG {
string id PK
string dataId FK
string catalogId FK
datetime createTime
}
OPERATION_LOG {
string id PK
string userId
string operationType
string operationTarget
text operationDetail
string ipAddress
datetime operationTime
string status
}
SYS_CONFIG {
string id PK
string configKey
text configValue
string configDesc
datetime updateTime
}
4.2 核心数据结构
遥感数据 (RemoteData)
| 字段 | 类型 | 说明 |
|---|---|---|
| id | String | 数据唯一标识 |
| fileName | String | 文件名称 |
| filePath | String | 文件存储路径 |
| dataType | Enum | 数据类型(原始影像/成果影像/扩展数据) |
| dataLevel | String | 数据级别(L0-L4) |
| fileSize | Long | 文件大小(字节) |
| uploadTime | DateTime | 上传时间 |
| source | Enum | 数据来源(本地上传/服务器导入) |
| status | Enum | 数据状态 |
元数据 (Metadata)
| 字段 | 类型 | 说明 |
|---|---|---|
| id | String | 元数据唯一标识 |
| dataId | String | 关联遥感数据ID |
| imagingTime | DateTime | 成像时间 |
| satellite | String | 卫星名称(如GF-1/2/6/7、ZY-3、SJ-9等) |
| sensor | String | 传感器参数(如PMS/PAN/MSS/SAR等) |
| cloudCover | Float | 云量百分比 |
| spatialExtent | Geometry | 空间范围 |
| coordinateSystem | String | 坐标系(优先CGCS2000/EPSG:4490,兼容WGS84/EPSG:4326) |
| resolution | Float | 空间分辨率 |
| extraFields | JSON | 扩展元数据字段 |
目录节点 (CatalogNode)
| 字段 | 类型 | 说明 |
|---|---|---|
| id | String | 节点唯一标识 |
| parentId | String | 父节点ID(根节点为null) |
| name | String | 目录名称 |
| level | Integer | 目录层级 |
| sortOrder | Integer | 排序序号 |
| createTime | DateTime | 创建时间 |
五、依赖关系
5.1 模块依赖关系图
graph LR
M1[数据上传/下载] --> M2[数据管理]
M2 --> M3[目录管理]
M2 --> M4[综合检索]
M4 --> M5[空间检索]
M1 --> M6[可视化]
M3 --> M6
M5 -.-> M6
M6 --> M7[运维管理]
M7 --> M8[日志管理]
style M1 fill:#E3F2FD,stroke:#1565C0
style M2 fill:#E3F2FD,stroke:#1565C0
style M3 fill:#E3F2FD,stroke:#1565C0
style M4 fill:#E8F5E9,stroke:#2E7D32
style M5 fill:#E8F5E9,stroke:#2E7D32
style M6 fill:#FFF3E0,stroke:#E65100
style M7 fill:#FCE4EC,stroke:#C2185B
style M8 fill:#FCE4EC,stroke:#C2185B
5.2 模块依赖说明
| 模块 | 依赖模块 | 依赖原因 |
|---|---|---|
| 数据上传/下载 | 数据管理 | 上传/下载后需创建/更新数据记录 |
| 数据管理 | 目录管理 | 数据需关联到目录节点 |
| 综合检索 | 数据管理 | 检索需访问数据与元数据 |
| 空间检索 | 综合检索 | 空间检索作为综合检索的空间维度扩展 |
| 可视化 | 数据管理 | 可视化需读取影像数据 |
| 可视化 | 数据上传/下载 | 动态加载影像数据 |
| 运维管理 | 全部模块 | 监控所有模块运行状态 |
| 日志管理 | 全部模块 | 记录所有模块操作日志 |
5.3 推荐技术栈
| 类别 | 推荐技术 | 说明 |
|---|---|---|
| 后端框架 | Spring Boot 3.2+ / FastAPI 0.110+ | 提供 RESTful API 服务,Java业务中台+Python影像/AI服务 |
| 元数据库 | PostgreSQL 16 + PostGIS 3.4 | 支持空间数据存储与空间查询,原生OGC标准兼容 |
| 文件存储 | MinIO | S3 API兼容对象存储,大文件分布式存储 |
| 搜索引擎 | Elasticsearch 8.13+ | 全文检索与多条件联合查询 |
| 影像处理 | GDAL 3.8+ / Rasterio / MapProxy | 影像解析、COG按需切图、金字塔构建、投影转换 |
| 前端框架 | Vue 3 + TypeScript | 前端交互界面 |
| 可视化引擎 | CesiumJS 1.115+ (3D) + OpenLayers 9+ (2D) | 二三维地图可视化,无Token依赖 |
| AI推理 | vLLM 0.5+ / MMDetection 3.3+ / MMSegmentation 1.2+ | 目标检测、语义分割、图像描述,全本地部署 |
| 缓存 | Redis 7.2+ | 热点数据缓存、会话管理、Celery结果后端 |
| 消息队列 | RabbitMQ 3.13+ | 异步任务处理(影像处理/AI推理),AMQP标准 |
| 日志 | Loki + Grafana | 日志采集、存储与可视化(轻量级替代ELK) |
| 容器化 | Docker Compose | 服务部署与编排 |
六、项目运行方式
6.1 环境要求
| 项目 | 最低要求 |
|---|---|
| 操作系统 | Linux (CentOS 7+ / Ubuntu 18.04+) / 麒麟V10(信创环境) |
| CPU | 8 核+(鲲鹏920/飞腾S2500兼容) |
| 内存 | 16 GB+ |
| 磁盘 | 500 GB+(视数据量扩展) |
| GPU | NVIDIA A100/V100(AI推理必需,三维可视化可选) |
| Docker | 20.10+ |
| Docker Compose | 2.27+ |
6.2 部署架构
graph TB
subgraph NET["内网安全区域"]
NG["Nginx
负载均衡"] subgraph APP["应用服务"] FE["前端服务
Nginx"] API["API网关
Spring Boot"] IMG["影像处理
FastAPI + Celery"] AI["AI推理
vLLM + GPU"] OPS["运维服务"] end subgraph DB["数据存储"] PG["PostgreSQL
+ PostGIS"] MN["MinIO
文件存储"] RD["Redis
缓存"] MQ["RabbitMQ
消息队列"] ES["Elasticsearch
搜索引擎"] end subgraph GPU["GPU集群"] GP["GPU服务器
A100 x2"] end subgraph NFS["共享存储"] NF["NFS/GlusterFS
影像/瓦片/模型"] end end NG --> FE NG --> API API --> IMG API --> AI API --> OPS IMG --> PG IMG --> MN IMG --> RD IMG --> MQ AI --> GP AI --> NF OPS --> ES OPS --> RD PG --> NF MN --> NF style NET fill:#F5F5F5,stroke:#424242,stroke-width:3px style NG fill:#E3F2FD,stroke:#1565C0,stroke-width:2px style APP fill:#E8F5E9,stroke:#2E7D32,stroke-width:2px style DB fill:#FFF3E0,stroke:#E65100,stroke-width:2px style GPU fill:#FCE4EC,stroke:#C2185B,stroke-width:2px style NFS fill:#E1F5FE,stroke:#0277BD,stroke-width:2px
负载均衡"] subgraph APP["应用服务"] FE["前端服务
Nginx"] API["API网关
Spring Boot"] IMG["影像处理
FastAPI + Celery"] AI["AI推理
vLLM + GPU"] OPS["运维服务"] end subgraph DB["数据存储"] PG["PostgreSQL
+ PostGIS"] MN["MinIO
文件存储"] RD["Redis
缓存"] MQ["RabbitMQ
消息队列"] ES["Elasticsearch
搜索引擎"] end subgraph GPU["GPU集群"] GP["GPU服务器
A100 x2"] end subgraph NFS["共享存储"] NF["NFS/GlusterFS
影像/瓦片/模型"] end end NG --> FE NG --> API API --> IMG API --> AI API --> OPS IMG --> PG IMG --> MN IMG --> RD IMG --> MQ AI --> GP AI --> NF OPS --> ES OPS --> RD PG --> NF MN --> NF style NET fill:#F5F5F5,stroke:#424242,stroke-width:3px style NG fill:#E3F2FD,stroke:#1565C0,stroke-width:2px style APP fill:#E8F5E9,stroke:#2E7D32,stroke-width:2px style DB fill:#FFF3E0,stroke:#E65100,stroke-width:2px style GPU fill:#FCE4EC,stroke:#C2185B,stroke-width:2px style NFS fill:#E1F5FE,stroke:#0277BD,stroke-width:2px
6.3 启动步骤
# 1. 克隆项目
git clone <repository-url>
cd zkxg
# 2. 配置环境变量
cp .env.example .env
# 编辑 .env 文件,配置数据库、存储等连接信息
# 3. 使用 Docker Compose 启动所有服务
docker-compose up -d
# 4. 初始化数据库
docker-compose exec backend python manage.py migrate
# 或
docker-compose exec backend java -jar init-db.jar
# 5. 导入基础数据(目录模板、系统配置等)
docker-compose exec backend python manage.py loaddata initial_data.json
# 6. 验证服务状态
docker-compose ps
curl http://localhost:8080/api/health
6.4 开发模式运行
# 后端开发
cd backend
pip install -r requirements.txt # Python
# 或
mvn spring-boot:run # Java
python manage.py runserver 0.0.0.0:8000
# 前端开发
cd frontend
npm install
npm run dev
七、开发计划
| 阶段 | 交付内容 |
|---|---|
| 第一阶段 | 完成实施方案评审 |
| 第二阶段 | 完成平台系统集成 |
| 第三阶段 | 完成平台初次验收 |
| 第四阶段 | 完成平台最终验收 |
八、验收标准
8.1 功能验收
| 序号 | 验收项 | 验收标准 |
|---|---|---|
| 1 | 数据批量上传 | 支持多源遥感数据批量上传,上传过程稳定可靠 |
| 2 | 数据高效下载 | 下载内容完整,传输效率满足要求 |
| 3 | 数据增删改查 | 数据管理模块支持完整的 CRUD 操作 |
| 4 | 数据组织管理 | 支持多级目录自定义管理 |
| 5 | 多源异构查询 | 支持多条件联合检索 |
| 6 | 空间检索 | 支持基于空间范围的数据检索 |
| 7 | 综合可视化 | 二三维一体化可视化,时空标准统一 |
| 8 | 运维管理 | 系统监控、配置管理功能正常 |
| 9 | 日志查看 | 操作日志完整记录,可查询可导出 |
8.2 性能验收
- 检索响应时间满足业务要求
- 大文件上传/下载稳定
- 可视化渲染流畅
九、API接口汇总
| 模块 | 方法 | 路径 | 说明 |
|---|---|---|---|
| 数据上传 | POST | /api/data/upload | 本地文件上传 |
| 数据上传 | POST | /api/data/upload/server | 服务器端数据导入 |
| 数据上传 | GET | /api/data/upload/status | 上传状态查询 |
| 数据下载 | GET | /api/data/download/{id} | 单文件下载 |
| 数据下载 | POST | /api/data/download/batch | 批量下载 |
| 数据下载 | GET | /api/data/download/status | 下载状态查询 |
| 数据管理 | GET | /api/data | 数据列表查询 |
| 数据管理 | POST | /api/data | 新增数据记录 |
| 数据管理 | PUT | /api/data/{id} | 更新数据记录 |
| 数据管理 | DELETE | /api/data/{id} | 删除数据记录 |
| 数据管理 | GET | /api/data/{id}/metadata | 获取元数据信息 |
| 目录管理 | GET | /api/catalog/tree | 获取目录树 |
| 目录管理 | POST | /api/catalog | 创建目录节点 |
| 目录管理 | PUT | /api/catalog/{id} | 更新目录节点 |
| 目录管理 | DELETE | /api/catalog/{id} | 删除目录节点 |
| 目录管理 | POST | /api/catalog/{id}/data | 关联数据到目录 |
| 综合检索 | POST | /api/search | 综合检索 |
| 综合检索 | GET | /api/search/suggestions | 搜索建议 |
| 综合检索 | GET | /api/search/filters | 可用过滤条件 |
| 可视化 | GET | /api/visualization/tiles/{z}/{x}/{y} | 获取影像瓦片 |
| 可视化 | POST | /api/visualization/scene | 创建三维场景 |
| 可视化 | GET | /api/visualization/scene/{id} | 获取场景配置 |
| 可视化 | GET | /api/visualization/timeline | 获取时间轴数据 |
| 日志管理 | GET | /api/logs | 日志列表查询 |
| 日志管理 | GET | /api/logs/{id} | 日志详情 |
| 日志管理 | GET | /api/logs/export | 日志导出 |
| 日志管理 | GET | /api/logs/statistics | 日志统计 |
| 系统 | GET | /api/health | 健康检查 |