Mercurial Hosting > traffic-intelligence
changeset 1095:e53c6e87bb3f
update pems loader
author | Nicolas Saunier <nicolas.saunier@polymtl.ca> |
---|---|
date | Wed, 06 Feb 2019 12:55:10 -0500 |
parents | c96388c696ac |
children | 9a32d63bae3f |
files | trafficintelligence/storage.py |
diffstat | 1 files changed, 7 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/trafficintelligence/storage.py Mon Feb 04 10:08:23 2019 -0500 +++ b/trafficintelligence/storage.py Wed Feb 06 12:55:10 2019 -0500 @@ -977,16 +977,13 @@ def loadPemsTraffic(filename): '''Loads traffic data downloaded from the http://pems.dot.ca.gov clearinghouse into pandas dataframe''' - f = utils.openCheck(filename) - l = f.readline().strip() - items = l.split(',') - headers = ['time', 'station', 'district', 'route', 'direction', 'lanetype', 'length', 'nsamples', 'pctobserved', 'flow', 'occupancy', 'speed', 'delay35', 'delay40', 'delay45', 'delay50', 'delay55', 'delay60'] - nLanes = (len(items)-len(headers))/3 - for i in range(nLanes): - headers += ['flow{}'.format(i+1), 'occupancy{}'.format(i+1), 'speed{}'.format(i+1)] - f.close() - return read_csv(filename, delimiter = ',', names = headers) - + data=read_csv(filename, nrows = 3) + headerNames = ['time', 'station', 'district', 'freeway', 'direction', 'lanetype', 'length', 'nsamples', 'pctobserved', 'totalflow', 'occupancy', 'speed'] # default for 5 min + nLanes = int((len(data.columns)-len(headerNames))/5) + for i in range(1, nLanes+1): + headerNames += ['nsamples{}'.format(i), 'flow{}'.format(i), 'occupancy{}'.format(i), 'speed{}'.format(i), 'pctobserved{}'.format(i)] + return read_csv(filename, names = headerNames) + def generatePDLaneColumn(data): data['LANE'] = data['LANE\\LINK\\NO'].astype(str)+'_'+data['LANE\\INDEX'].astype(str)