1 前言
🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。
为了让大家以最小的努力顺利通过毕业设计,学姐们共同分享了高质量的毕业设计。今天我们想要分享的是
[En]
In order for everyone to pass the project smoothly and with the least effort, the seniors share the high-quality graduation project. What we want to share today is
🚩 基于大数据的公交数据分析与可视化系统
🥇学长这里给一个题目综合评分(每项满分5分)
- 难度系数:3分
- 工作量:3分
- 创新点:5分
🧿 选题指导, 项目分享:
1 课题背景
本项目采用B/S架构,利用前后端分离的方法来实现Web开发。同时采用加密的方法对数据进行脱敏,利用python对大数据处理的优势对数据进行整合和清洗,方便可视化时的数据拿取,利用Vue前端框架结合ECharts可视化组件进行前端可视化开发。我们从车辆正晚点、车辆运营情况、线路交通状况、站点客流、线路客流、车辆的满载率、OD客流分析这7个维度来分析公交数据。总体来说是利用某城市特殊的公交数据做出一套针对某城市的公交状况可视化分析系统。为解决某城市公共交通人员出行、道路拥堵、时刻表安排等问题的解决提供技术支持
2 具体实现
前端UI设计
行车正晚点
线路运营
站点运营
线路客流
站点客流
OD客流
; 3 Flask框架
简介
Flask是一个基于Werkzeug和Jinja2的轻量级Web应用程序框架。与其他同类型框架相比,Flask的灵活性、轻便性和安全性更高,而且容易上手,它可以与MVC模式很好地结合进行开发。Flask也有强大的定制性,开发者可以依据实际需要增加相应的功能,在实现丰富的功能和扩展的同时能够保证核心功能的简单。Flask丰富的插件库能够让用户实现网站定制的个性化,从而开发出功能强大的网站。
本项目在Flask开发后端时,前端请求会遇到跨域的问题,解决该问题有修改数据类型为jsonp,采用GET方法,或者在Flask端加上响应头等方式,在此使用安装Flask-CORS库的方式解决跨域问题。此外需要安装请求库axios。
Flask框架图
相关代码:
import sqlalchemy
from flask import Flask, request, render_template,flash
import pymysql
from datetime import datetime
from flask_sqlalchemy import SQLAlchemy
from flask import jsonify
import json
import toolfun
app = Flask(__name__)
db = pymysql.connect("localhost", "root", "renshuaichen", "firstdatabase")
cursor = db.cursor()
app.secret_key='aaa'
@app.route('/',methods=['GET','POST'])
def update_page():
err="请填写条件"
data="数据为空"
bustime_p = []
bustime_f = []
turn=[]
if request.method=='POST':
select1 = request.values.get('s1')
select2 = request.values.get('s2')
if select1=='0000-00-00' and select2=='0000-00-00':
err='消息不完整'
else:
err=""
sql = "select 排班时间 from 行车计划201812 where 线路名称='"+select1+"' and 排班时间 like '"+select2+"%'"
cursor.execute(sql)
data=cursor.fetchall()
bustime_p=toolfun.get_time_plan(data)
turn=toolfun.turn(data)
print(data)
sql="select 运营日期 from 趟次201812 where 线路名称='"+select1+"' and 运营日期 like '"+toolfun.change_data_from(select2)+" %'"
cursor.execute(sql)
data = cursor.fetchall()
print(data)
bustime_f=toolfun.get_time(data)
print(bustime_f)
return render_template('on-schedule.html', err=json.dumps(err), bustime_f=json.dumps(bustime_f),
bustime_p=json.dumps(bustime_p), turn=json.dumps(turn))
@app.route('/t_point',methods=['GET','POST'])
def t_point():
err="请填写条件"
data="数据为空"
time_a_1 = []
time_a_2 = []
time_a_3 = []
sta_a = []
turn=[]
if request.method=='POST':
select1 = request.values.get('s1')
select2 = request.values.get('s2')
if select1 == '0000-00-00' and select2 == '0000-00-00':
err='消息不完整'
else:
sql = "select 始发站名称 from 行车计划201812 where 线路名称='"+select1+"'"
cursor.execute(sql)
f_stop = cursor.fetchone()
print(f_stop[0])
sql="select 趟次ID from 到离站201812 where 线路名称='"+select1+"'and 到站时间 like '"+toolfun.change_data_from(select2)+" 7:0%' and 进出站='2' and 站点名称='"+f_stop[0]+"'"
cursor.execute(sql)
trip_1=cursor.fetchone()
print(trip_1[0])
sql = "select * from 到离站201812 where 趟次ID='"+trip_1[0]+"' and 进出站='2'"
cursor.execute(sql)
data_1 = cursor.fetchall()
time_a_1,sta_a = toolfun.by_time(data_1)
return render_template("t_point.html", time_a_1=json.dumps(time_a_1), sta_a=json.dumps(sta_a), time_a_2=json.dumps(time_a_2), time_a_3=json.dumps(time_a_3))
@app.route('/page_one',methods=['GET','POST'])
def page_one():
return render_template('站点客流.html')
@app.route('/page_two',methods=['GET','POST'])
def page_two():
num,name=toolfun.sta_co_data()
return render_template('客流柱状图.html',num=json.dumps(num),name=json.dumps(name))
if __name__ == '__main__':
app.run()
4 ECharts可视化工具
ECharts(Enterprise Charts)是百度开源的数据可视化工具,底层依赖轻量级Canvas库ZRender。兼容了几乎全部常用浏览器的特点,使它可广泛用于PC客户端和手机客户端。ECharts能辅助开发者整合用户数据,创新性的完成个性化设置可视化图表。支持折线图(区域图)、柱状图(条状图)、散点图(气泡图)、K线图、饼图(环形图)等,通过导入 js 库在 Java Web 项目上运行。
5 最后
Original: https://blog.csdn.net/HUXINY/article/details/126786134
Author: DanCheng-studio
Title: 【毕业设计】大数据公交数据分析与可视化 - 大数据 python falsk

cudart64_110.dll not found windows解决方法

TensorFlow Slim 工具包使用

2021-07-12 在 GeForce RTX 3090上配置深度学习环境 cuda 11.1 + tensorflow2.5.0 + python3.8.3

语音领域视频及书籍(不定期更新)

DHU 数据科学技术与应用【15】 第八次单元测验 时序与语音数据处理 答案

机器学习笔记1(西瓜书):聚类任务、性能度量、距离计算、

Tensorflow2梯度带tape.Gradient的用法_(全面,深入)

【新坑】最新ubuntu20.04 LTS安装ROS

基于macos M1 python3.8的tensorflow安装(简单方便几步完成)

Magichub重口音对话语音识别挑战赛报名开始

【Linux】CUDA Toolkit和cuDNN版本对应关系(更新至2022年6月,附官网永久更新链接)

Set A Light 3D Studio for Mac(3D摄影棚布光软件)中文

什么是卷积神经网络(CNN)
![[TensorFlow]Embedding Layer 和 GlobalAveragePooling1d Layer原理及作用](https://www.itcode1024.com/wp-content/themes/begin/prune.php?src=https://www.itcode1024.com/wp-content/themes/begin/img/loading.png&w=280&h=210&a=&zc=1)
[TensorFlow]Embedding Layer 和 GlobalAveragePooling1d Layer原理及作用
