基于Spark的出租车信息查询系统
当代的社会正逐步走向一个数据驱动的智能社会,更加完善的数据获取方式,更加系统的数据整合和储存手段,让我们息息相关的生活中能取得的数据逐渐成为了真正的大数据。指数级增长的数据量给数据的处理和分析带来了更多的困难,但是也带来了更多的可能性,从数据挖掘的角度,更多的样本量意味着更不容易过拟合,更小的方差和置信度更高的结论。所以利用合适的大规模处理框架去处理与生活息息相关的大数据将为我们带来更多启发,对社会现象更准确的分析结果和更深入的理解。其中,基数巨大且频率较高的交通数据作为一个最典型的大数据来源之一,其背后巨大的大数据价值正等待我们去发掘。
进入21世纪以来,应我国交通系统发展的需求,智慧交通的建设进入了高速发展期。基于移动计算技术和全球定位系统(GPS)以及其他形式的位置获取技术,可收集到大量移动交通对象的轨迹数据。通过对这些轨迹数据的分析挖掘,可以提取大量有效信息,服务于智慧交通建设,服务于人们日常生活。
在多种多样的交通方式中出租车在人们的日常出行中扮演了重要角色,是交通数据分析中不可缺少的组成部分。出租车有别于公交车、地铁等公共交通,具有没有固定线路和站点的特点,为个人出行提供定制化服务。因此出租车轨迹信息数据能够较为清晰反映出城市交通的状况,可挖掘分析人们的出行特点等信息。
1.2 项目意义
出租车作为一种普遍而广泛的出行方式深受人们的青睐,作为一种交通形式而言,研究出租车数据能方便我们深入了解其在城市里的具体特征和出租车行业在该地区的发展状态。同样的,出租车的数据在一定程度上反映了该地区人口的流动性情况,出租车的行车轨迹与方式在一定程度上也能反映全市的整体的情况。而城市的道路和交通情况被称为一座城市的心跳与脉搏,深入理解出租车数据也有助于我们去分析城市内部与出租交通息息相关的特征与因素,从而在某些层面上为未来的城市改进提供了方向。
对于出租车数据的分析结果可用于城市规划,交通建设等多个方面,具有较强的应用意义。例如,提取热点轨迹,反映车辆行驶运动规律,可帮助政府了解城市道路情况,对于道路与交通路线规划和交通治理有重要价值,对个人了解出行的合适时间与费用以及交通服务质量也有积极作用;
提取出租车轨迹数据中的载客点和卸客点,可反映人们的出行习惯,乘车需求分布等信息,对车辆调度分配、运营策略调整等方面有较为有效的帮助;
对于车速和占用率的分析结果可以反映出租车行业在各个时间段和不同地区的分区差异,帮助改进部分道路设计和帮助出租车公司和司机寻找更好的工作方式。
对于个人而言,通过训练出的模型估计到达目的地所需的时间,帮助顾客(地图使用者)更好地评估所需时间和计算出发的时间以避免迟到等等。
1.3 报告组成
本篇报告的剩余部分将分为五个部分,报告的第二、三部分对我们使用的数据集,我们项目的代码框架以及在代码框架里主要使用的工具和技术做了简单地介绍,给读者一个关于数据集所包含信息的大致映像,同时方便读者更好地理解本项目的工作流程和方式;
报告的第四部分将细致地根据不同的分类介绍我们的信息检索系统提供的功能和交互结果的展示,并且在每一个功能展示后,我们将会对功能展示出的结果做出自己的分析,也有助于读者理解每一个模块具体想要提供什么样的信息和背后设计的思想;
在第五部分中我们将总结整篇报告中的分析和结果,对上海市的出租车交通情况做一个大致的总结。并根据我们的数据和已有的成果从城市规划、道路设计和行人出行等方面提出了一些合理的建议。
报告的最后部分将是我们小组的分工介绍。
2 数据集介绍
2.1 数据来源
启发自纽约出租车数据集的分析,我们尝试对我们生活的上海的出租车数据进行分析和挖掘,最终我们通过SODA(上海开放数据创新应用大赛)平台得到了上海强生出租车公司提供的出租车数据。上海强生出租车公司作为上海主要的出租车运营和管理公司之一,其提供的出租车数据基数大,发送频率高,能在一定程度上反映上海市的出租车交通的生态情况。
强生出租车公司的出租车每过10s会向公司数据总部发送一个信号,信号主要包括当前汽车所处的经纬度坐标、行车方向、速度、是否被占用(载客)、是否踩了刹车等等有关汽车或者GPS微型当前状况的属性。经过大致的统计,强生出租车公司在一天内收到的数据大约体量在1亿条以上。
项目框架与使用技术介绍
因为当前并不存在一个用于完成类似于我们的出租车信息的查询与可视化框架去学习,所以我们基于 Spark 的大规模数据处理框架,自主设计了我们的项目的代码框架,在本部分里,将详细介绍我们使用的技术和数据存放格式,代码框架的设计:
3.1 使用技术
- 基本框架是 Spark,Spark 提供了对数据的读入,序列化以及一系列操作;
- 同时使用了两种各有优劣的 RDD 和 DataFrame 存储不同的数据表,基于两种变量类型完成查询,排序,展示等结果;
- 主要的处理方式是基于 Spark 提供的对序列化数据集的操作接口(如 map, filer 等),主要的处理方式是 MapReduce;
- 基于 matplotlib 的统计图表可视化(折现趋势图和柱状分布图),还包括了使用 FuncAnimation 进行的动画(gif)制作;
- 基于 Basemap 和 folium 的地理信息可视化;
- 基于 Django 的网页前端实现;
- 基于 Python3 脚本的类的封装。
3.2 数据表存放格式
对于一个数据表,会同时维护一个 RDD 和一个 DataFrame ,因为相对而言 DataFrame 的运行速度稍微快一些,而RDD支持的基本操作类型更多,为了方便后续操作,在初始化过程中对原始数据集所在的RDD按照时间进行排序;
基于Spark的出租车信息查询系统相关推荐
- 基于android的旅游信息查询系统APP(ssm+uinapp+Mysql)
网络的广泛应用给生活带来了十分的便利.所以把旅游信息查询管理与现在网络相结合,利用java技术建设基于安卓的旅游信息查询系统,实现旅游信息查询的信息化.则对于进一步提高旅游信息查询管理发展,丰富旅游信 ...
- 药品信息管理系统mysql_基于PHP+MySQL药品信息查询系统(含论文)
本系统阐述了医药信息查询系统的开发过程,并对该系统的需求分析及系统需要实现的设计方法作了介绍.该系统的基本功能包括用户注册登录,查看医药资讯,医药查询和在线留言等信息. 本系统技术介绍:php,mys ...
- 基于android系统的公交信息查询系统,基于Android平台的智能手机公交信息查询系统的设计与实现...
摘要: 随着我国城市化经济的飞速发展,公共交通在这一进程中的作用越来越重要.目前,我国城市公共交通的线路和站点越来越多,逐渐形成了一个复杂的公共交通网络.然而,正是因为公交网络的复杂,导致人们无法快速 ...
- 基于ssm考研信息查询系统(java毕业设计)
基于ssm考研信息查询系统 考研信息查询系统是基于java编程语言,ssm框架,mysql数据库,idea工具开发:系统分为学生,管理员,导师三个角色:学生的功能是注册登陆系统,查看考研资讯,学校,专 ...
- 简单航班查询系统java_基于jsp的航班信息查询-JavaEE实现航班信息查询 - java项目源码...
基于jsp+servlet+pojo+mysql实现一个javaee/javaweb的航班信息查询, 该项目可用各类java课程设计大作业中, 航班信息查询的系统架构分为前后台两部分, 最终实现在线上 ...
- 模拟非同期运行java_基于JavaME技术的移动终端设备信息查询系统的设计分析.pdf...
应 用 科 基于 学 J a v a ME技术的移动终端设备信息查询系统的设计分析 鲁俊 ( 泰兴中等专业学校江 苏泰兴2 2 5 4 0 0 ) [ 摘 要] J a v a M E技术开发的移动应 ...
- 魏永红java课后答案_基于J2ME技术的手机信息查询系统的设计与实现
基于J2ME技术的手机信息查询系统的设计与实现 魏永红 [期刊名称]<微计算机信息> [年(卷),期]2006(000)04X [摘要]本文以公安系统的应用为例,介绍了如何在基于Java的 ...
- 基于JSP+MYSQL的路况信息查询系统
运行环境: Myelipse内置 IDE环境: Myeclipse tomcat环境: Myelipse中内置 硬件环境: windows 7/8/10 2G内存以上(推荐4G,4G以上更好) 主要功 ...
- java m查询_信息查询系统,基于SSM框架的JAVA系统
今天和一个朋友共同完成了一个信息查询系统项目,我们在开发时选用的框架是SSM(MYECLIPSE)框架.我这个朋友知识有限,只会这个框架,哈哈,都是为了方便他.和往常一样选用简单又便捷的MYECLIP ...
最新文章
- JS 总结之原型继承的几种方式
- 三天竟然爆发两起大漏洞事件!我们来教你如何跳过以太坊的坑
- javaScript 验证码代码
- 初次使用 Elasticsearch 遇多种分词难题?那是你没掌握这些原理
- expect工具使用
- centerOS安装chkrootkit
- android cpu负载 工具,计算Android中进程的CPU使用率
- php 全局变量能定义数组吗,php数组声明、遍历、数组全局变量使用小结
- ApacheCN 未来发展方向(暂定)2019.8.2
- 含有swap的c语言冒泡排序6,c#中写个Swap方法来实现冒泡排序 看看哪里错了
- centosc访问mysql_Linux(CentOS7.0)下 C访问MySQL (转)
- php 创建任务程序命令行,PHP Yii 命令行程序以及定时任务详解
- Delphi中ListView和TreeView的Item中的内存泄露
- vue在开发环境中配置本地hosts修改域名
- 多媒体一体机计算机打不开,多媒体教学一体机突然打不开PPT是怎么回事?
- 【OSX】MAC下能用的炒股软件
- 亲戚(relation)
- 木子-后端-Spring配置时间触发器的方法
- 什么是架构?架构的本质和作用!
- 信创操作系统--统信UOS桌面版(玩游戏:安装Steam、Linux游戏、Windows游戏)
热门文章
- 最强【网络安全】是哪些大学?看一下一流网络安全学院建设高校
- 原生爬虫爬取虎牙绝地求生直播热度排行榜
- xampp mysql远程连接_远程访问xampp
- [沟通能力] 述职,你搞定了吗?
- 2021强烈推荐的十大Win10必备工具(重装系统必备)
- 华为服务器光盘安装系统按f几,服务器操作系统安装
- 南昌大学计算机就业能去哪,几所就业率高的211院校,考生毕业后就业不用愁!...
- 2016-6-2-第二个sprint
- portraiture中文版下载切换教程v3.5.6版本
- [随笔所想] 学英语打卡2000天碎碎念