目录

  • 一、卡口数据简介
  • 二、断面基本图


一、卡口数据简介

数据名称

含义

DEVICEID

设备ID

TRAVELID

车辆ID,可分辨车辆

hpzl

车辆类型,1表示大型车,2表示小汽车

SJ

时间

LANEID

车道编号,较长编号表示该位置处于上下游车道过渡区域,无划线;-1表示由于技术原因导致的无效计数,可忽略该检测值

LANNUM

车道数

SPEED

瞬时车速

TURN

车道方向信息,LSR分别表示左直右及其组合,LU和RU分别表示左掉头和右掉头,LC表示上下游车道连接过渡段,表明此断面包含车道变化区域

FTNODE

起始节点

卡口布设简图

交通断面流量 java 断面流量图怎么做_断面基本图

二、断面基本图

交通流特性(流速密)在断面、路段上的区别

绘制南进口道上游的断面基本图,南进口道上游的数据对应条件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()


断面基本图

交通断面流量 java 断面流量图怎么做_断面基本图_02

水平有限,仅供参考,如有错误请指出