NGSIM数据集解析及python处理 您所在的位置:网站首页 python数据集处理 NGSIM数据集解析及python处理

NGSIM数据集解析及python处理

#NGSIM数据集解析及python处理| 来源: 网络整理| 查看: 265

简介

NGSIM(Next Generation Simulation)数据集是美国FHWA搜集的美国高速公路行车数据,它包括了US101、I-80等道路上的所有车辆在一个时间段的车辆行驶状况。数据是采用摄像头获取,然后加工成一条一条的轨迹点记录。我在项目中用到的是US101数据集,其他数据结构大同小异。一下着重介绍该路段数据集。

US101数据集介绍

NGSIM官方提供了使用API的方法获取数据集,但是文档并不够良心,因此我还是直接选择了下载整个数据集,下载链接可以在官方网站找出,这里再给出链接,下载下俩的数据集是一个1.6G+的CSV文件。这个文件包含所有道路的所有数据。打开看一看,数据结构如表:

在这里插入图片描述 注:不同的道路其车道信息不同,行车数据差异较大。 相同的表你可以到刚才的下载链接中找到,我来介绍一下遇到的坑。

Col 介绍 Vehicle_ID 给每一个进入记录区域的车辆的编号。不同的车会重复利用!! Frame_ID 该条数据在某一时刻的帧号,同一Vehicle_ID的帧号不会重复 Total_Frame 该车出现的总帧数 Global_Time 全局时间,单位为ms Local_X,Y 采集区域内的坐标,采集区域不同,坐标系不同,会有不同的零点 Global_x,Y 全局坐标,只有一个零点,可用作数据筛选

这几个很难倒腾,而且筛选数据主要看这几个,其他数据可以直接看官网介绍。

python处理数据

我想得到的是某一区域内的车辆及它们未来10秒的轨迹。读取CSV,用python的话当然用pandas咯。 最好添加usecols过滤你不需要的列,因为数据集很大,载入真的很慢。

import pandas as pd init_df = pd.read_csv('./data.csv', usecols=['你所需要的列名'])

首先,数据集很大,要把数据多余的内容除掉。我要的是US101数据,因此定义一个函数筛选并按照全局时间排序,按照frame排序是行不通的,如果要按照路段排序同理选取Global的数据。

def cutbyRoad(df=None, road=None): ''' :param df: 打开后文件 :param road: 路段名称 :return: 切路df,按照全局时间排序 ''' road_df = df[df['Location'] == road] return road_df.sort_values(by='Global_Time', ascending=True)

原数据集的单位,时间是ms,长度单位全是ft。给它转换一下:

def unitConversion(df): ''' 转换后长度单位为m,时间单位为0.1秒 :param df: 被转换df :return: 转换后df ''' ft_to_m = 0.3048 df['Global_Time'] = df['Global_Time'] / 100 for strs in ["Global_X", "Global_Y", "Local_X", "Local_Y", "v_length", "v_Width"]: df[strs] = df[strs] * ft_to_m df["v_Vel"] = df["v_Vel"] * ft_to_m*3.6 return df

我需要的数据是某一区域内,某一时刻的车辆及它们未来10s的行车数据,因此首先要获得某一区域某一时刻某一区域的车辆ID列表:

def cutbyPosition(road_df, start_y=0, start_time=0, area_length=50): ''' 给定起始时间,起始y,区间长度,输出区间内车辆list :param road_df:限定路段后的df :param start_y: 区域开始段,单位为m :param start_time: 起始时间,0.1s :param area_length: 区域长度单位为m :return: vehicle_list为起始框内部车辆编号 ''' area_df = road_df[road_df['Global_Time'] == start_time] area_df = area_df[(area_df['Global_Y'] - start_y = 0)] vehicle_list = area_df['Vehicle_ID'].unique() if len(list(vehicle_list))


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有