张功茂 / 开发履历
← 返回全部 11 个项目

PROJECT 09 / 11

Vue / Python / C++

海川边坡雷达监测系统

Vue 前端 / Python 后端 / C++ 雷达算法2023.10 — 2024.02

实现雷达控制、形变栅格处理与监测可视化,支持观察点曲线、告警管理及数据上报预检。

Vue 3FastAPIGeoTIFFWebGL2

核心技术栈

C、Linux GPIO / SPI / UART、pthread、Python / FastAPI、SQLAlchemy / SQLite、NumPy / Rasterio / GeoTIFF、Vue 3 / Element Plus、ECharts、WebGL2

具体项目经历

1. 实现雷达控制框架:封装 GPIO、SPI、UART 外设接口,集中管理设备初始化、上下电时序和资源释放;通过 VarCom 串口命令实现电机复位、目标角度控制及到位轮询。

2. 实现采样与分析线程编排:使用 pthread 协调电机、采样和分析线程,通过互斥锁、条件变量和有界 FIFO 传递采样帧,支持超时等待及扫描周期结束后的线程汇合。

3. 实现形变栅格处理:使用 NumPy、Rasterio 将 DAT 形变矩阵转换为 GeoTIFF,处理坐标映射、无效值掩膜及像元碰撞,采用保留符号的最大绝对值规则确定像元结果。

4. 实现数值与展示分离:以 GeoTIFF 保存形变数值,按色阶配置生成透明 PNG;分别管理数据版本和样式缓存,使颜色范围调整复用已有数值栅格,并支持点击查询像元值。

5. 实现监测可视化交互:基于 Vue 3 展示底图、扫描扇区、形变图层和观察点,使用 WebGL2 绘制散射诊断像元;通过请求序号校验避免切换矿山或图层时旧响应覆盖当前状态。

6. 实现观察点趋势展示:基于时序矩阵提供历史窗口、形变、速度和加速度曲线,结合 ECharts 完成观察点与时间范围切换;当前使用模拟历史数据进行演示联调。

7. 实现监测业务与后端分层:按路由、服务、仓储和数据模型组织 FastAPI 后端,实现矿山与边坡档案、雷达设备参数、告警查询与处理状态、登录会话及操作日志管理。

8. 实现上报数据预检与预览包:校验设备资料、空间索引和监测帧,按索引顺序提取形变值,以大端 Float32、gzip、Base64 编码,生成可追溯的本地 JSON 预览包及运行记录。