城市公交运行客流数据分析与可视化大屏监控系统

《城市公交运行客流数据分析与可视化大屏监控系统》项目说明书(毕设版)

1. 项目概述

本系统面向"城市公交运行"场景,围绕线路、站点、车辆、驾驶员等基础数据,提供客流数据采集(模拟/Excel导入)、定时清洗与汇总、智能统计分析与可视化大屏展示能力,满足本科软件工程毕设的"可运行、可演示、可答辩"要求。

核心特点:

  • 前后端分离:后端提供 RESTful API;前端提供管理端与大屏
  • 数据分析逻辑:使用 Java 原生统计计算(不引入大数据框架)
  • 定时任务:Quartz 每日凌晨清洗/汇总,生成统计报表表

2. 技术栈

后端(固定):

  • Java 17
  • SpringBoot 2.7.x + SpringMVC
  • MyBatis-Plus
  • MySQL 8.0 + Redis
  • Quartz(定时清洗/汇总)
  • EasyExcel(Excel导入导出)

前端(固定):

  • Vue2 + Element UI + Axios
  • ECharts(大屏图表)
  • Nginx(静态资源部署 + /api 反向代理)

3. 系统功能结构

3.1 功能模块

  • 基础数据管理:线路/站点/车辆/驾驶员 CRUD,Excel批量导入
  • 客流数据采集:模拟生成、Excel历史数据导入、客流记录查询
  • 智能数据分析:
    • 分时段客流(早高峰/晚高峰/平峰)
    • 线路/站点日均客流热度
    • 换乘站聚集度(占比)
    • 空载/满载车次统计
    • 周/月趋势环比、同比
  • 可视化大屏:
    • 线路分布(站点坐标折线)
    • 站点实时热力 TopN
    • 7日客流走势
    • 线路峰值客流对比
    • 高峰时段占比
    • 车辆在线与发车频次看板
  • 权限管理:管理员登录、角色/权限分级、操作日志、数据备份导出

3.2 业务流程图(Mermaid)

通过
拒绝
登录
权限校验
基础数据维护
客流采集
模拟生成
Excel导入
原始客流入库
Quartz每日清洗/汇总
统计报表表
分析接口
管理端图表
大屏可视化

4. 数据库设计(ER图)

建表脚本:

ER 图(Mermaid):
start/end
contains
belongs
has
generates
occurs
by
has
runs
status
agg
agg
owns
grants
grants
belongs
writes
BUS_STATION
BUS_LINE
BUS_LINE_STATION
BUS_VEHICLE
PASSENGER_FLOW_RECORD
TRIP_RECORD
VEHICLE_STATUS
FLOW_DAY_LINE_AGG
FLOW_DAY_STATION_AGG
SYS_USER
SYS_USER_ROLE
SYS_ROLE
SYS_ROLE_PERMISSION
SYS_PERMISSION
SYS_OPERATION_LOG

5. 关键实现说明

5.1 统一返回与异常

  • Result:统一返回结构(code/message/data)
  • BizException:业务异常(带code)
  • GlobalExceptionHandler:统一异常处理

对应代码:

5.2 权限与登录

  • Spring Security + JWT
  • Token 写入 Redis(支持失效/退出)
  • Role/Permission 通过多表关联查询

对应代码:

5.3 操作日志

  • MVC 拦截器记录接口访问(排除 /api/auth)

对应代码:

5.4 数据分析(Java原生统计)

以"分时段统计"为例:

  1. 查询指定日期范围内原始客流记录
  2. 按 occurTime.hour 分桶
  3. 聚合得到早高峰/晚高峰/平峰总和

对应代码:

5.5 Quartz 每日清洗与汇总

执行内容:

  • 清洗:删除 occurTime 为空、board/alight 为负的异常数据
  • 汇总:按线路/站点聚合昨日客流,生成日统计表(峰值按"每小时汇总的最大值"计算)

对应代码:

5.6 大屏展示

大屏接口为公开接口 /api/screen/**,主要用于:

  • 线路分布:返回线路的站点坐标序列
  • 热力:返回站点TopN客流
  • 7日:返回城市总客流的日期序列
  • 看板:返回车辆在线数与近1小时发车次数

前端静态版入口:

  • frontend_static/admin.html
  • frontend_static/screen.html

6. 项目目录结构

复制代码
bus_data
├─ backend               后端 SpringBoot
├─ frontend              Vue2 源码版(可用于二次开发)
├─ frontend_static       免构建静态版(Nginx 直接部署)
├─ sql                   MySQL 脚本
└─ docs                  文档(接口/部署/说明书)

7. 演示建议(答辩路线)

  1. 导入数据库脚本与初始化数据
  2. 启动后端,管理端登录(admin/admin123)
  3. 进入"客流采集"一键模拟生成 7 天数据
  4. 打开大屏:观察 7 日走势、线路峰值、站点热力、车辆看板
  5. 展示"分析"页:分时段/热度/趋势
  6. 展示权限与日志:用户管理、操作日志分页查询、数据备份导出 ZIP
相关推荐
Cloud_Shy6185 分钟前
Python 数据分析基础入门:《Excel Python:飞速搞定数据分析与处理》学习笔记系列(第八章 使用读写包操作 Excel 文件 上篇)
python·数据分析·excel·pandas
小白学大数据1 小时前
基于大模型的Python智能爬虫:语义识别与数据清洗实践
开发语言·爬虫·python·数据分析
Cloud_Shy6181 小时前
Python 数据分析基础入门:《Excel Python:飞速搞定数据分析与处理》学习笔记系列(附录 B 高级 VS Code 功能)
vscode·python·jupyter·数据分析·excel
小白学大数据4 小时前
均线选股策略研究:基于 Python 数据分析实现
人工智能·python·数据分析
源码之家4 小时前
计算机毕业设计:Pyhon健康数据分析系统 Django框架 数据分析 可视化 身体数据分析 大数据(建议收藏)✅
大数据·python·数据挖掘·数据分析·django·lstm·课程设计
Fleshy数模4 小时前
基于 LangChain 实现 PDF 文档检索:从加载到向量检索全流程
人工智能·数据挖掘·langchain·大模型
跟尚西学PowerBI5 小时前
【供应链AI实践案例】OpenClaw+PowerBI 打造 AI 智能库存预警实战
大数据·人工智能·数据分析·openclaw
YangYang9YangYan5 小时前
2026运营岗位学习数据分析对于提升个人能力的价值
学习·数据挖掘·数据分析
redgxp6 小时前
启发式算法WebApp实验室:从搜索策略到群体智能的能力进阶(七)
人工智能·机器学习·数据挖掘
Soari7 小时前
科研与工程的 AI 助推器:深度拆解 scientific-agent-skills,为你的智能体注入专家级灵魂
人工智能·数据分析·科学计算·科研工具·aiagent·claudecode·ai技能库