使用SQL实现车流量的计算

news/2024/11/27 17:42:29/

卡口转换率


将数据导入hive,通过SparkSql编写sql,实现不同业务的数据计算实现,主要讲述车辆卡口转换率,卡口转化率:主要计算不同卡口下车辆之间的流向,求出之间的转换率。

在这里插入图片描述


1、查出每个地区下每个路段下的车流量

selectcar,monitor_id,action_time,ROW_NUMBER () OVER (PARTITION by car
ORDER byaction_time) as n1
FROMtraffic.hive_flow_action

此结果做为表1,方便后面错位连接使用

在这里插入图片描述


2、通过错位连接获取每辆车的行车记录

通过表1的结果,与自身进行错位链接,并以车牌为分区,拼接经过卡口的过程

(selectt1.car,t1.monitor_id,concat(t1.monitor_id,"->",t2.monitor_id) as way
from(selectcar,monitor_id,action_time,ROW_NUMBER () OVER (PARTITION by carORDER byaction_time) as n1FROMtraffic.hive_flow_action) t1
left join (selectcar,monitor_id,action_time,ROW_NUMBER () OVER (PARTITION by carORDER byaction_time) as n1FROMtraffic.hive_flow_action) t2 ont1.car = t2.carand t1.n1 = t2.n1-1
wheret2.action_time is not null)

在这里插入图片描述

获取到每辆车的一个行车记录,经过的卡口


3、获取行车过程中的车辆数

获取卡口1~卡口2,…等的车辆数有哪些,即拿上面的行车记录字段进行分区在进行统计

(selects1.way,COUNT(1) sumCar
from--行车过程
(selectt1.car,t1.monitor_id,concat(t1.monitor_id,"->",t2.monitor_id) as wayfrom(selectcar,monitor_id,action_time,ROW_NUMBER () OVER (PARTITION by carORDER byaction_time) as n1FROMtraffic.hive_flow_action) t1left join (selectcar,monitor_id,action_time,ROW_NUMBER () OVER (PARTITION by carORDER byaction_time) as n1FROMtraffic.hive_flow_action) t2 ont1.car = t2.carand t1.n1 = t2.n1-1wheret2.action_time is not null)s1
group by way)

在这里插入图片描述


4、获取每个卡口的总车辆数

获取每个卡口最初的车辆数,方便后面拿行车轨迹车辆数/总车辆数,得出卡口之间的转换率

selectmonitor_id ,COUNT(1) sumall
fromtraffic.hive_flow_action
group bymonitor_id

在这里插入图片描述


5、求出卡口之间的转换率

selects2.way,s2.sumCar / s3.sumall zhl
from(selects1.way,COUNT(1) sumCarfrom--行车过程
(selectt1.car,t1.monitor_id,concat(t1.monitor_id,"->",t2.monitor_id) as wayfrom(selectcar,monitor_id,action_time,ROW_NUMBER () OVER (PARTITION by carORDER byaction_time) as n1FROMtraffic.hive_flow_action) t1left join (selectcar,monitor_id,action_time,ROW_NUMBER () OVER (PARTITION by carORDER byaction_time) as n1FROMtraffic.hive_flow_action) t2 ont1.car = t2.carand t1.n1 = t2.n1-1wheret2.action_time is not null)s1group byway)s2
left join--每个卡口总车数
(selectmonitor_id ,COUNT(1) sumallfromtraffic.hive_flow_actiongroup bymonitor_id) s3 onsplit(s2.way,"->")[0]= s3.monitor_id

在这里插入图片描述



http://www.ppmy.cn/news/535695.html

相关文章

卡口系统展示

一个交通行业的卡口监控系统 [img]http://tom331618.iteye.com/upload/picture/pic/54730/36cff792-a0d3-3161-b163-445396744c19.jpg[/img] 登录 [img]http://tom331618.iteye.com/upload/picture/pic/54728/ba0d066d-50e7-32ea-b9cb-8ae4ee42af72.jpg[/img] [img]http://…

智能交通卡口和电子警察解决方案

近年来,随着我国综合实力和国民收入水平的提高,机动车每年以10%~20%的速度迅猛增长,道路建设步伐加快,全国城市化水平也在不断提高,交通管理现状和需求的矛盾进一步加剧,与交通相关的刑事和治安…

基于sumo和车牌识别数据的城市仿真

前言 最近希望能仿真出一个城市的交通状态,也就是知道在不同的需求加载下城市宏观交通状态的变化情况,同时,因为我手头有车牌识别数据,因此需求将来自于车牌识别数据。 但是仿真过后发现,并不能很好的模拟真实世界&am…

奥普泰卡口车辆追踪系统

客户需求 全国车辆总数庞大且日益增加的现状下,精准掌握目标车辆的信息,是公安、交警系统迫切需要的。目前公安、交警部门通过卡口安装摄像机的方式实现对车辆信息的采集、目标车辆的抓拍等。这种方式基础设施体系建设庞大,对车辆的管控、系统…

智慧交通完整解决方案

什么是智慧交通? 智能交通系统ITS(IntelligentTransportation System)是将先进的信息技术、数据通讯传输技术、电子传感技术、控制技术及计算机技术等有效地集成并运用于交通系统,从而提高交通系统效率的综合性应用系统。其目标在…

卡口和电子警察的区别

网上内容 电子警察是通过设置在特定位置的摄像机、雷达对过往车辆实施记录的电子装置,摄像机通过雷达侦测联动拍摄。电子卡口工作原理与之差不多,但电子卡口记录每一辆车的通过时间及图象,电子警察则是单独有选择记录超速、闯红灯等违法行为&…

SD卡的接口:

1.我们先看一下原理图: 我们看到的就是一个可以插SD卡的一个卡槽,nCD接的是EINT4,和中断有关,具体干吗的,暂时还不太清楚。 我们查看SD卡,有9个金属引脚,对应卡槽上面的:DAT1、DAT0…

治安卡口摄像机与电警抓拍机之间有什么区别?

接下来小编和大家说说它们有哪些相同和不同的地方,供大家参考。 治安卡口: 卡口摄像机主要是用于城市道路或高速公路出入口、收费站等重点治安监控地段的全天候实时检测与记录收费站、交通或治安检查站等地点。 治安卡口监控系统的前端部分主要由三个单元…