摘要
时代在飞速进步,每个行业都在努力发展现在先进技术,通过这些先进的技术来提高自己的水平和优势,基于大数据平台的交通数据可视化系统当然不能排除在外。基于大数据平台的交通数据可视化系统是在实际应用和软件工程的开发原理之上,运用Python语言、数据可视化技术以及Django框架进行开发,可以让管理员通过新增或导入的方式,可以新增出租车数据及地铁数据,非常方便。在系统开发之前首先要进行需求分析,分析出基于大数据平台的交通数据可视化系统的主要功能,然后设计了系统结构。整体设计包括系统的功能、系统总体结构、系统数据结构和对系统安全性进行设计;最后要对系统进行测试,还要对测试的结果进行总结和分析,为以后系统的维护提供方便,也为以后类似系统的开发提供参考和帮助。这种个性化的网络系统管理更重视相互协调和管理合作,能激发管理者的创造性和主动性,这对交通数据可视化系统来说非常有益。
绪 论
1.1背景及意义 随着社会的快速发展,计算机的影响是全面且深入的。电子计算机在现代管理中的应用使电子,计算机变成了人类运用现代信息技术的主要工具。可以更高效的处理人类获取信息中精细化、全面化的问题,从而提高了效率[2]。基于大数据平台的交通数据可视化系统,是指使用具有万维网上所有特点和资源优势的超媒体的信息发布方式,来提供一个数据分析平台,在系统管理的过程受到了鼓励与帮助。而随着互联网的应用,互联网也以一种巨大变革力的新形象出现于商务关系领域。
1.2 国内外研究概况 在当前这个飞速发展的时代,无论是国内还是国外,发展都是突飞猛进的,经济形势也是一片明朗。在这种背景下,互联网的这一块的市场成为了各个国家想要争夺的香饽饽。于是无论是国内还是国外一些公司把目光投向了互联网这块市场,越来越多的人对互联网有所了解,具备了一些网络意识。在这种互联网大浪潮的不断冲刷下,各种各样的系统被开发出来。计算机技术在国内还是国外中应用普遍,使计算机这一新型工具成为人们耳熟能详、人尽皆知的新技术。计算机和互联网的广泛应用,让国内外的距离变“近”了,这个庞大的地球家园一下变成了地球村。国内国外的互联网发展也存在一些差距,我国近些年的互联网发展迅速,跻身于世界前列。 基于大数据平台的交通数据可视化系统采用B/S架构、数据可视化技术、Django框架、MySQL数据库,使用Python技术开发。该系统的开发方式无论在国内还是国外都比较常见,而且开发完成后使用普遍,可以给用户和管理员提供大量的便利[3]。该系统在国内外前景较为良好。
1.3 课题的研究意义 大数据时代已经到来,大数据技术已成为这个时代不可或缺的一项技术,企业需要数据来分析用户行为、产品的不足之处以及竞争对手的信息等,而这一切的首要条件就是数据的采集。在互联网社会中,数据是无价之宝,一切皆为数据,谁拥有了大量有用的数据,谁就拥有了决策的主动权。本次使用Python技术加网络可视化大屏技术,可以实现管理员对出租车数据和地铁数据的快速管理,对社会的发展来说,是一个非常有意义的创新。
相关技术
本基于大数据平台的交通数据可视化系统的数据库采用的是MySQL数据库,并且选择了Python语言、数据可视化技术和Django框架进行开发项目,在项目开发过程中,实现了系统功能模块的安全性、实用性、稳定性、易维护和页面简单等特点。 2.1 Python简介 Python是由荷兰数学和计算机研究学会的吉多·范罗苏姆于20世纪90年代设计的一款高级语言。Python优雅的语法和动态类型,以及解释型语言的本质,使它成为许多领域脚本编写和快速开发应用的首选语言。Python相比与其他高级语言,开发代码量较小,代码风格简洁优雅,拥有丰富的第三方库。Python的代码风格导致其可读性好,便于维护人员阅读维护,程序更加健壮。Python能够轻松地调用其他语言编写的模块,因此也被成为“胶水语言”[3]。
Python的应用场合非常广泛,在科研领域中,可以用Python训练人工智能模型,也可以对实验数据进行数据分析。在生活中,Python提供了很多优秀的、开源的Web开发框架,例如Django、Flask、Pyramid、Tornado等。知乎、豆瓣网、Youtube等知名应用都是由Python为基础进行开发的。相比于其他框架,Django有着更加丰富的插件,作为企业级框架也很好上手,适合本次开发。此次基于大数据平台的交通数据可视化系统是开发一个Web应用,采用Django框架,将在下一节进行具体介绍。本次开发选用的是Python3.6.4版本。
2.2 Django框架 Django被官方称之为“完美主义者框架”,只需要很少的代码就能更快的完成一个优秀的Web应用[4]。Django采用了MTV框架模式,此模式根据MVC进行改进形成了更适于Django的设计模式。M为模型(Model)、T为模板(Template)、V为视图(View)。下面介绍部分Django的核心与优点: (1)对象关系映射(ORM,Object-Relation-Mapping):ORM的方法论有着三个核心原则: ①简单:以最基本的形式构建数据。 ②传达性:数据库结构被任何人都能理解的语言文档化。 ③精确性:基于数据模型创建正确标准化的结构。 用于Python之中即是以Python类形式定义数据模型,类中的每一个属性对应着数据库中的一列。引入ORM后,无需编写原生SQL语句,使用基于面向对象的思想去编写类、对象、调用方法等,ORM会将其映射成SQL语句通过pymysql执行。 (2)路由配置(URLConf):Django的URL设置更加灵活优雅,看似复杂难懂,但使用的都是简单的正则表达式,你可以随心所欲的创造优美的、简洁的、专业的地址。
(3)模板(Template):模板可以理解为承载数据的工具,为了将数据从视图中分离出来,通过各种各样的标签来进行数据的传输。Django的模板融入了面向对象中继承的思想,提高了复用减少冗余代码。 (4)视图(View):视图就是views.py中的函数,也就是逻辑代码,为了将URL和视图关联起来,用到了上述的URLConfs,URLConfs将URL模式映射到视图中,每个视图有两件事是必须要做的:返回一个包含被请求页面的HttpResponse对象,或者抛出一个异常。 (5)后台管理系统(Django-Admin):Django提供的一个基于Web的管理工具。 Django-Admin来自django.contrib也就是Django的标准库,默认被配置好,只需要激活启用即可,它的优势在于可以快速对数据库的各个表进行增删改查,一行代码即可管理一张数据库表,相比于手动后台1个模型一般需要4个urls,4个视图函数和4个模板,可以说Django完成了一个程序编写的大部分重复工作,并且对于图书管理这种以管理工作为重系统来说,极度契合。 (6)应用(Application):当项目规模过大时,难免会产生目录过长,文件过多的问题,Django理念中的App可以将项目相对独立的进行开发,插拔的工作方式和独立性让开发者废弃的App即使删除也不会影响整体,是一种不可多得的理念。 因为本次使用的Python版本为3.6.4,低版本的Django不支持Python3,故此次使用的Django版本为3.2.12。
2.3 可视化技术简介 可视化是一个认知的过程,目的在于对事物的洞悉观察,而不是绘制的可视化结果本身。数据显示是数据分析后发送结果和请求的过程,是一个报警过程。大数据分析结果之间的相关性更为复杂。传统的展示方式已经不能满足当今社会的需要。大数据的出现带来了更直观、更清晰的表现形式。可视化技术的参考是其中的一个重要部分。他的作用也体现在很多方面,揭示很多想法和对应关系,形成论点或者意见,观察事物的演变趋势,探索性的分析数据。 以对于中央电化教育馆教育信息技术研究2018年度立项课题清单的分析为例,进行需求分析以及可视化表达。首先要对清单内数据进行一系列处理,我们可以大概从课题内容分析、按学段进行分析、或者对同一地区课题方向进行分析。那么我将针对课题内容进行分析,目的为得到当前年度热门课题的关键词都有哪些,明确当下教育热点,以便为下一步教育的发展做铺垫。既然要从课题内容进行分析,那么第一步就是对整个清单内的数据进行处理,对课题进行一个分词处理,也就是对关键词进行提炼,有效关键词的获取是分析的最重要的基础,在这一部分,由于是教育方面的课题研究,因此我将引用专业领域词库,并设定一些停用词,在使关键词的划分更加准确的同时,能够减少关键词的数量,让提取出来的关键词在质量上得到保证。其次就是对关键词进行统计,最终以可视化图表的形式呈现出想要的结果。 从宏观的角度来讲,可视化的三大功能之一就是信息记录,将浩瀚烟云的信息记录成文,最有效的方法之一就是信息成像,因此,为了达到最终的分析目的,使杂乱无章的占比数据以一种更加直观、简明清晰的视图效果展现出来,对数据进行系统的分析之后,将最终结果进行可视化处理,便能够显而易见的看出当前的热点话题。
2.4 MySQL简介 MySQL是一款小型关系型数据库管理系统(Relational Database Management System),开发商为瑞典MySQLAB公司。关系型数据库将数据存放在不同的表中,使数据更加规范化。MySQL因其体积小、速度快、源码开放的特点,很多网站开发都将MySQL作为首选[5]。由于Python3不再支持MySQLdb模块,此次开发采用pymysql模块连接MySQL数据库。数据库系统是一个进行数据存储的系统,数据库就是这个系统的库,用来存放通过系统的数据,数据库在开发人员的日常生活中,占据了很大的地位。因为使用数据可以使自己系统存储数据更加方便、快捷[14]。 MySQL之所以受到广大开发人员的欢迎,主要原因使因为数据库的使用是免费的。最开始的数据库研发出后,是需要收费的,但是随着MySQL的出现和不断更新,越来越多的用户去使用这款软件[15]。首先它是开源且免费的,这样大大减少了开发的成本;第二MySQL可以在多个平台上使用,在MAC、Windows和Linux上都可以使用。其次它的性能也是十分强大的,性价比极高。最后,MySQL相比其他数据库语言来说,更加简单易于上手;可以与很多平台搭建联系,比如本文使用的Python技术 [16] 。
2.4 PyCharm简介 PyCharm是JetBrains公司开发的一款Python集成开发环境,它提供了很多便利于开发者的功能,比如调试、语法高亮、代码跳转、智能提示、自动补全等。除此之外Pycharm还提供了一些支持Web框架的高级功能,适合此次游戏商城支付系统的开发。 2.6小结 本章详细的介绍了开发基于大数据平台的交通数据可视化系统所需要的技术与工具,工欲善其事必先利其器,对于技术和工具了解的越多越清晰,才会在开发过程中如鱼得水。
系统整体功能图
登录界面图
管理员功能界面图
出租车数据管理界面图
地铁数据管理界面图
看板界面图
部分数据库表
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
id |
bigint |
主键 |
主键 |
||
addtime |
timestamp |
创建时间 |
CURRENT_TIMESTAMP |
||
xingchejiluyi |
varchar |
200 |
行车记录仪 |
||
shijian |
varchar |
200 |
时间 |
||
cheliangbianhao |
varchar |
200 |
车辆编号 |
||
jingduzuobiao |
varchar |
200 |
经度坐标 |
||
weiduzuobiao |
varchar |
200 |
维度坐标 |
||
chuzuchedeshunshisudu |
float |
出租车的瞬时速度 |
|||
fangxiang |
int |
方向 |
|||
chuzuchedebianhao |
varchar |
200 |
出租车的编号 |
||
zaikezhuangtai |
int |
载客状态 |
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
id |
bigint |
主键 |
主键 |
||
addtime |
timestamp |
创建时间 |
CURRENT_TIMESTAMP |
||
kahao |
varchar |
200 |
卡号 |
||
jiaoyiriqi |
varchar |
200 |
交易日期 |
||
jiaoyishijian |
int |
交易时间 |
|||
jiaoyifangshi |
int |
交易方式 |
|||
jiaoyichezhan |
int |
交易车站 |
结论
本系统是采用Python语言、数据可视化技术、Django框架构建的一个操作管理系统,选择的数据库是MySQL。整个过程先是通过整体的系统分析,来确定本系统的可行性是否达标。为了满足管理员的需求以及提高工作效率,通过系统所要实现的功能分析,决定了管理员要实现的功能。之后就是精细各个模块的具体功能,定义管理员的权限,确定了管理员的功能。之后通过系统测试来确保数据的准确性和操作的准确性,发现错误并立即做出了改正。 本系统没有设定用户的模块,只有管理员一个用户进行操作,因为本系统主要是一个对基于大数据平台的交通数据可视化系统,一般适用于交通数据的管理,方便管理员进行浏览、查看数据,通过导入、上传模版或新增的方式、新增数据,这些数据通过数据可视化,会在看板显示。 在本次项目设计中,完成了大大小小的模块,系统设计的调查,数据的分析,在安装软件方面,选择版本问题困扰了我很久,后来找相关的网站介绍,了解了各个版本的利与弊,最后完善了本次设计。基于大数据平台的交通数据可视化系统的系统设计选择了Python开发工具,和MySQL数据库对后台的数据交互进行分析保存,使用MySQL数据库可以是程序运行更加的安全且稳定,从而实现并完善系统的开发。