本项目面向城市环境监测与空气质量数据分析场景,服务于环保管理、科研分析、教学演示等需求。系统通过采集和管理城市空气质量数据,对 PM2.5、PM10、SO2、NO2、CO、O3、AQI 等多维污染物指标进行清洗、标准化、聚类分析和可视化展示,帮助用户识别不同城市或区域的空气污染特征、污染等级分布和相似污染模式,为空气质量评估、趋势观察和辅助决策提供数据支撑。
点击空白处退出提示
本项目面向城市环境监测与空气质量数据分析场景,服务于环保管理、科研分析、教学演示等需求。系统通过采集和管理城市空气质量数据,对 PM2.5、PM10、SO2、NO2、CO、O3、AQI 等多维污染物指标进行清洗、标准化、聚类分析和可视化展示,帮助用户识别不同城市或区域的空气污染特征、污染等级分布和相似污染模式,为空气质量评估、趋势观察和辅助决策提供数据支撑。
系统主要提供城市空气质量数据的采集、管理、分析、展示和导出功能。用户可以通过外部 API 定时采集空气质量数据,也可以上传 CSV/Excel 文件导入历史数据;系统支持按城市、时间、污染物、数据来源和状态进行查询筛选。分析模块基于 K-Means 算法对空气质量数据进行聚类,可自动推荐 K 值,也支持用户自定义 K 值、时间聚合维度和算法参数。系统还提供数据预处理能力,包括缺失值填充、异常值处理和 Z-Score 标准化,并生成预处理报告。前端提供 Dashboard、数据采集、数据查询、聚类分析、可视化展示、数据导出、系统管理和个人中心等页面。管理员可进行用户管理、系统配置、日志查看、数据维护等操作。导出模块支持原始数据、预处理数据、聚类结果、图表和分析报告的导出。
项目采用前后端分离架构实现。前端位于 weather-analysis-frontend,使用 Vue 3、Vite、Element Plus、ECharts、Vue Router、Pinia 和 Axios 构建,负责页面路由、用户登录状态、表格查询、图表展示、文件下载和业务交互。后端位于 backend,使用 Flask、Flask-SQLAlchemy、Flask-CORS、PyJWT、APScheduler、pandas、scikit-learn、matplotlib、python-docx 等技术实现 API 服务、数据处理、聚类分析和报表生成。数据库使用 MySQL,核心表包括用户表、空气质量原始数据表、区域表、采集日志表、预处理数据表、预处理日志表、聚类结果表、导出历史表和系统配置表。后端按模块划分为 auth、collection、data、preprocess、analysis、export、system 等 API 蓝图;业务逻辑集中在 data_service.py、preprocessing_service.py、analysis_service.py、report_service.py 中。聚类流程为:读取有效空气质量数据,按需进行日/周/月时间聚合,提取污染物特征,使用 StandardScaler 标准化,再调用 sklearn.cluster.KMeans 完成聚类,并计算轮廓系数、Calinski-Harabasz 指数和 inertia 等评价指标,最后将结果持久化到 MySQL 并返回给前端展示。





评论