网友作品 #000100 · 提交于 2026/08/11
大气超级站数据平台:监测质控分析与智能简报


1 / 2
作品简介
这是一套大气超级站(复合污染观测站)综合观测数据平台,围绕“监测一张网、分析一个库、决策一张图”构建闭环。相比常规空气站,超级站监测参数更全(常规六项、VOCs、PM2.5 化学组分、大气氧化性、光化学前体物等),平台提供统一数据底座、全链路质控、专业分析工具箱与智能简报输出,示例库含 136 个站点、128 条参数字典、28 万余条监测记录。
核心亮点
- 交互式驾驶舱:单页应用 8 大功能页,ECharts 可视化,含 AQI 地理分布、时间序列、污染玫瑰图
- 全链路质控:通用性/明确性/参考性三类审核 + AI 智能异常识别(Z-score+IQR)+ 初核/复核/终审三级流转
- 专业分析工具箱:离子平衡、质量重构、OC/EC/SOC 估算、OFP 臭氧生成潜势、EKMA 控制区判断
- 在线源解析 PMF:纯 NumPy 加权 NMF 实现,输出因子贡献占比、贡献时间序列与因子谱
- 智能简报:日/周/月/年一键生成图文报告,内嵌图表并支持 Excel 导出
- 一键部署:双击启动.bat 自动建库、导入示例数据并打开浏览器,幂等导入不重复
- 质量保障:28 项 pytest 用例,14 个 API 端点全部验证通过
技术与工具
- 后端:FastAPI + SQLAlchemy 2.0 + Uvicorn,数据处理用 Pandas / NumPy
- 数据库:默认 SQLite,可通过环境变量切换 PostgreSQL / TimescaleDB
- 前端:原生 HTML + ECharts,无构建步骤、开箱即用
- 质控阈值(突变 σ、离子电荷比、质量闭合比、VOCs 曲线 R² 等)均可通过环境变量覆盖
- 开发方式:AI 编程类工具搭配国内免费模型
适用场景
- 生态环境部门:区域大气超级站数据统一管理、污染成因分析与管控决策支撑
- 其他环境监测领域:可迁移适配水质、土壤等站点,搭建行业专属的一站式监测数据平台
原始提交内容(点开查看,可复制全文去问 AI)
大气超级站综合观测数据平台 面向大气超级站(复合污染观测站)的一站式数据管理与分析平台:从多源监测数据采集、自动化质控审核,到气溶胶化学、光化学、源解析等专业分析,再到智能简报生成,形成“监测一张网、分析一个库、决策一张图”的闭环。 一、系统定位 大气超级站相比常规空气站,监测参数更全(常规六项、VOCs、PM2.5 化学组分、大气氧化性、光化学前体物等),数据体量更大、质控要求更高、分析维度更复杂。本平台针对这些特点,提供: 统一数据底座:站点到参数的标准化入库,消除多源异构数据口径差异。 全链路质控:通用性、明确性、参考性三类审核 + AI 智能异常识别 + 三级人工审核流转。 专业分析工具箱:气溶胶化学(离子平衡、质量重构、OC/EC/SOC)、光化学(OFP、EKMA)、在线源解析(PMF)。 智能决策输出:按日/周/月/年自动生成图文简报(含内嵌图表与 Excel 导出)。 二、核心特性 特性 说明 一键部署 双击 启动.bat 自动建库、导入示例数据、启动服务并弹出浏览器 交互式驾驶舱 单页应用,8 大功能页,ECharts 可视化,白色简洁风格 幂等数据导入 检测已存在站点并跳过重复记录,增量导入不重复 可配置质控阈值 突变 σ、离子电荷比、质量闭合比、VOCs 曲线 R² 等均可通过环境变量覆盖 多源数据库支持 默认 SQLite,可通过 AQS_DATABASE_URL 切换 PostgreSQL / TimescaleDB 完整测试覆盖 28 项 pytest 用例,14 个 API 端点全部验证通过 三、技术架构 前端 (ECharts 单页驾驶舱) HTTP / REST (JSON)
FastAPI 应用层 API 路由 (data / qc / analysis / report)
业务逻辑层 质控引擎 (qc) / 专业分析 (analysis) / 简报生成 (report)
数据访问层 SQLAlchemy ORM
存储层 SQLite (默认) / PostgreSQL / TimescaleDB
种子导入 从 data/ 导入示例监测数据 技术栈 后端:FastAPI + SQLAlchemy 2.0 + Uvicorn 数据处理:Pandas + NumPy 源解析:纯 NumPy 加权 NMF(不依赖 scikit-learn,轻量可部署) 前端:原生 HTML + ECharts(无构建步骤,开箱即用) 测试:pytest + FastAPI TestClient 四、功能模块 1. 首页概况 区域站点 AQI 分布(地理散点 / 排行气泡),关键指标统计(站点数、平均 AQI、峰值 AQI、超标站点)。 2. 数据管理 按站点 + 参数查询时间序列,支持 Excel 导出;明细表展示原始数据。 3. 常规分析 单参数时间序列趋势 + 污染玫瑰图(风向-浓度分布)。 4. 气溶胶化学 离子平衡:阴/阳离子当量线性拟合(R² 评估电荷平衡质量) 质量重构:SIA / 碳组分 / 土壤尘等组分占比与序列 OC / EC / SOC:有机碳、元素碳及二次有机碳估算 5. 光化学分析 OFP(臭氧生成潜势):基于 MIR 法的物种贡献排序与序列 EKMA 控制区:VOCs-NOx 敏感性判断 6. 源解析 PMF 在线正矩阵分解(加权 NMF),输出因子贡献占比、贡献时间序列与因子谱(优势物种)。 7. 质控审核 四类审核整合: 通用性审核:值域、突变、平线、连续缺失 明确性审核:对照仪器质量目标 参考性审核:离子电荷比、质量闭合、OC-EC、SOR/NOR、VOCs 标准曲线 AI 智能异常:Z-score + IQR 联合判定 三级审核:初核 复核 终审 状态机流转 8. 智能简报 日 / 周 / 月 / 年报一键生成,多维结论 + 内嵌 ECharts 图表 + Excel 导出;无数据时段自动回退到数据实际日期范围。 五、数据库设计 8 张核心表: 表 用途 monitoring_sites 站点信息(136 个示例站点) parameter_def 参数字典(128 条:常规污染物 + 117 种 VOCs + 组分) pollutant_data 核心时序表(去重后 28 万+ 条监测记录) instruments 仪器设备清单(预留) meteo_data 气象要素(预留) qc_log 质控日志 audit_log 三级审核流转日志 report 简报记录 注意:当前模型未设置数据库级外键约束,关联为逻辑关联。新增字段需配合迁移脚本(SQLite 的 ALTER TABLE ADD COLUMN)或 AQS_RESET_DB=1 重建。 六、快速开始 方式一:一键启动(推荐) 双击 D:\AQ_OMAS\启动.bat,按提示选择是否导入示例数据,浏览器自动打开 http://127.0.0.1:8000/。 方式二:命令行 cd D:\AQ_OMAS\platform .venv\Scripts\python.exe run.py 常用环境变量 变量 作用 默认值 AQS_PORT 服务端口 8000 AQS_DATABASE_URL 数据库连接串 SQLite(本地 db 文件) AQS_RESET_DB 设为 1/true 清空重建数据库 不重置 AQS_NO_BROWSER 设为 1 关闭自动开浏览器 自动开页 七、目录结构