毕设网毕设选题大全 · 成品源码

基于 Django 的城市空气质量监测分析系统设计与实现

项目编号 018 · 更新 2026-11-05
PythonDjangopandasNumPyscikit-learnEChartsMySQL

获取方式

两个渠道都可以买:面包多(在线支付、自动发货)或闲鱼;也可以加微信咨询。

面包多购买 闲鱼购买 去 B 站看演示

咨询微信:csbysj2020 / ACE2487(备注 BS)

项目简介

面向公众与环境管理者的城市空气质量监测分析系统:真实采集 12 个城市一年逐小时六项污染物与气象数据,按 HJ 633—2012 计算 AQI 与首要污染物,提供监测大屏、城市详情、区域对比、污染过程复盘、数据质量报告与预报对比实验,并支持原始数据下载。重点是把 AQI 数字变成可解释的结论。

演示视频

视频也可在 B 站视频页 观看

运行环境

编程语言Python 3.8 及以上
后端框架Django 4.2
数据采集requests 真实 HTTP 采集(Open-Meteo 空气质量 + ERA5 归档气象,带重试)
数据分析pandas 2.0 / NumPy 1.23 / scikit-learn 1.3
数据库MySQL 8.0(交付默认 SQLite,免安装)
可视化ECharts 5(已内置本地文件,离线可用)
数据规模12 城 × 8760 小时 = 105120 条,6 项污染物 + 3 项气象,0 缺失
操作系统Windows / macOS / Linux
启动方式双击一键脚本,或 python manage.py runserver 8083

功能模块

  • 真实采集:Open-Meteo(CAMS 观测同化产品)逐小时 6 项污染物 + ERA5 气象,12 城 × 一年 = 105120 条,均 0 缺失;页面与论文如实标注「非地面站点实测」
  • AQI 严格按 HJ 633—2012:断点分段线性插值、24 小时均值(有效小时 ≥ 20)、O₃ 日最大 8h 滑动平均、AQI 取最大、首要污染物判定与六级分类
  • 数据质量:完整性统计(0 缺失)+ IQR 异常检测与真实极值归因(静稳累积型 / 沙尘型)+ 缺失填补受控实验
  • 缺失填补实验:线性插值 MAE 3.51–5.25 最优,前向填充 8.4–11.6,当日中位数 30–33,均值填充 47–51(PM2.5 时间自相关强,邻近时刻信息远优于全局统计量)
  • 污染过程复盘:识别 90 段 AQI 连续 ≥100 且 ≥2 天的过程,输出起止/天数/峰值/主因/等级;最长一段为兰州 2026 年 4 月持续 27 天、峰值 AQI 500 的沙尘过程
  • 城市与区域对比:日均 AQI 北京 117.7 最差、哈尔滨 50.9 最优;华北 107.4 > 东北 50.9;首要污染物呈地域特征(华北 PM2.5 / 兰州 PM10 / 沪深 NO₂ / 哈尔滨 O₃)
  • 预报对比实验:过去 3 天 → 次日日均 AQI,按时间顺序切分避免信息泄漏;持续性 17.12 / 线性回归 18.83 / 梯度提升 17.07(仅改善约 0.3%)
  • 可视化:深色数据大屏 + 城市卡片矩阵 + AQI 日历热力图 + 可缩放多污染物趋势 + 过程曲线(含风速)+ 原始数据在线下载

交付内容

  • 完整源码(Django 工程 + 真实采集脚本 + AQI 计算 + 数据质控 + 分析 + 预报对比)
  • 真实采集的原始逐小时数据(data/raw/*.csv,12 城 + 城市清单,可在线下载)
  • 分析产物(每日 AQI、月度/日内画像、城市与区域对比、污染过程、数据质量、预报指标)与演示数据库
  • 毕业设计任务书(Word)
  • 开题报告(Word)
  • 毕业论文(Word,七章制,含数据来源与口径、数据质量实验、区域分析与预报对比章节)
  • 系统使用与二次开发说明(Word + md)
  • 11 张系统运行截图

最终成品目录结构

下面是交付包里的真实目录,共 97 个文件。只展示文件名,不含文件内容; 点击文件夹可逐层展开,看到每个模块是怎么拆分的。

根目录:018-基于Django的城市空气质量监测分析系统

界面截图

点击任意一张可放大,支持左右切换(也可用键盘 ← → 键)

城市空气质量监测分析
监测大屏
城市空气质量监测分析
城市详情(AQI 日历热力图)
城市空气质量监测分析
城市趋势与月度对比
城市空气质量监测分析
城市对比
城市空气质量监测分析
污染过程复盘(兰州沙尘)
城市空气质量监测分析
数据质量与缺失填补实验
城市空气质量监测分析
预报对比实验
城市空气质量监测分析
原始数据下载
城市空气质量监测分析
最优城市详情(哈尔滨)
城市空气质量监测分析
管理端
城市空气质量监测分析
月度与日内画像

文档预览

交付的任务书、开题报告与论文均为 Word 文档,下面是真实页面预览;点击可放大并左右切换:

毕业论文(七章制)
毕业论文(七章制)
毕业设计任务书
毕业设计任务书
开题报告
开题报告

常见问题

数据是真实采集的吗?

是。通过公开接口真实采集 12 个城市一年逐小时的 6 项污染物(Open-Meteo,CAMS 观测同化产品)与 3 项气象(ERA5 再分析),共 105120 条,原始 CSV 随包并可在页面下载。需要注意:这是观测同化后的模型数据,不是地面监测站的实测值,页面与论文都如实标注。

AQI 是怎么算的?

严格按 HJ 633—2012:分指数按断点分段线性插值;PM2.5/PM10/SO₂/NO₂/CO 取 24 小时平均(有效小时 ≥ 20),O₃ 取日最大 8 小时滑动平均;AQI 为各分指数最大值,AQI > 50 时最大项即首要污染物;六级分类并附健康提示。

缺失值是怎么处理的?

本数据源完整性为 100%(0 缺失)。为了定量说明填补方案是否可靠,做了受控实验:把北京 PM2.5 序列按 1%/3%/5%/10% 随机挖空再填补,结果线性插值 MAE 仅 3.5–5.3 最优,前向填充 8.4–11.6,当日中位数 30–33,均值填充 47–51。

异常值是什么情况?

IQR 检出的离群点经归因多为真实极端事件:北京 2025-12-22 PM2.5 430.3 μg/m³ 而风速仅 0.6–1.8 m/s(静稳累积型);兰州 2026-03-12 PM10 716.1 μg/m³ 且风速 10.66 m/s(沙尘型)。所以异常检测在环境数据里更像『极端事件定位』。

为什么北京最差、哈尔滨最好?

按日均 AQI 排序:北京 117.7 最差(华北,PM2.5 主导),哈尔滨 50.9 最优(东北,颗粒物低、以 O₃ 为主)。区域均值为华北 107.4 > 西南 105.9 > 西北 101.2 > 华中 98.6 > 华东 87.1 > 华南 81.0 > 东北 50.9。

预报效果如何?

用过去 3 天预测次日日均 AQI,按时间顺序切分避免信息泄漏:持续性基线 MAE 17.12、线性回归 18.83、梯度提升 17.07。诚实结论是持续性基线已很强,复杂模型只改善约 0.3%,要提升需补充边界层高度、风场与排放信息。

能换数据源或城市吗?

能。保持 data/raw/<城市>.csv 的列名不变替换采集逻辑即可(例如接入官方站点数据做交叉验证);加城市在 crawler/cities.py 增项后重跑采集、分析与导入,大屏与对比页会自动扩展。

原始数据能拿到吗?

能。页面『原始数据』列出 12 个逐小时 CSV 并提供下载,同时给出字段、单位与数据性质说明。

💬 在线咨询9:00–23:00
加微信咨询

备注 BS

csbysj2020ACE2487

也可在 B 站 看演示