目录
- 一、卡口数据简介
- 二、断面基本图
一、卡口数据简介
数据名称 | 含义 |
DEVICEID | 设备ID |
TRAVELID | 车辆ID,可分辨车辆 |
hpzl | 车辆类型,1表示大型车,2表示小汽车 |
SJ | 时间 |
LANEID | 车道编号,较长编号表示该位置处于上下游车道过渡区域,无划线;-1表示由于技术原因导致的无效计数,可忽略该检测值 |
LANNUM | 车道数 |
SPEED | 瞬时车速 |
TURN | 车道方向信息,LSR分别表示左直右及其组合,LU和RU分别表示左掉头和右掉头,LC表示上下游车道连接过渡段,表明此断面包含车道变化区域 |
FTNODE | 起始节点 |
卡口布设简图
二、断面基本图
交通流特性(流速密)在断面、路段上的区别
绘制南进口道上游的断面基本图,南进口道上游的数据对应条件DEVICEID为507,TURN为S
断面基本图使用调和平均车速公式计算平均车速
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.dates as mdate
import time
# 数据导入
kk_data = pd.read_csv('data/kk_data/kk.csv')
# 筛选南进口道数据,数据对应条件DEVICEID为507,TURN为S
kk_data_south = kk_data[(kk_data['DEVICEID']==507) & (kk_data['TURN']=='S')].copy()
# 时间字段SJ数据类型不符合要求,将其转换为时间类型
kk_data_south['SJ'] = pd.to_datetime(kk_data_south['SJ'])
kk_data_south = kk_data_south.sort_values(by = 'SJ') # 排序
# 以5分钟为间隔,统计南进口道断面的流量与平均车速
def kk(kk_data):
kk_data['1/SPEED'] = 1 / kk_data['SPEED']
kk_data_group = kk_data.groupby(['DEVICEID',pd.Grouper(key='SJ',freq='5min')])
kk_data_flow = kk_data_group['DEVICEID'].count()
kk_data_flow = kk_data_flow * 12
kk_data_speed = 1 / (kk_data_group['1/SPEED'].mean())
return kk_data_flow,kk_data_speed
kk_south_flow,kk_south_speed = kk(kk_data_south)
kk_south_flow = kk_south_flow / 2 # 南进口道上游的车道数为2
# 计算密度
kk_south_density = kk_south_flow / kk_south_speed
# 绘图
plt.xlabel('K: veh/km/lane')
plt.ylabel('Q: veh/h/lane', rotation=360, horizontalalignment='right', verticalalignment='center')
plt.scatter(kk_south_density, kk_south_flow, c=kk_south_flow)
plt.show()
断面基本图
水平有限,仅供参考,如有错误请指出