changeset 892:f766fe0995f4

added function for PeMS data
author Nicolas Saunier <nicolas.saunier@polymtl.ca>
date Fri, 05 May 2017 00:07:33 -0400
parents ab3a4cb524a9
children ff92801e5c54
files python/storage.py
diffstat 1 files changed, 13 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/python/storage.py	Tue Mar 28 17:26:49 2017 -0400
+++ b/python/storage.py	Fri May 05 00:07:33 2017 -0400
@@ -916,6 +916,19 @@
             finally: self.sechead = None
         else: return self.fp.readline()
 
+def loadPemsTraffic(filename):
+    '''Loads traffic data downloaded from the http://pems.dot.ca.gov clearinghouse 
+    into pandas dataframe'''
+    f = 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 xrange(nLanes):
+        headers += ['flow{}'.format(i+1), 'occupancy{}'.format(i+1), 'speed{}'.format(i+1)]
+    f.close()
+    return read_csv(filename, delimiter = ',', names = headers)
+        
 def generatePDLaneColumn(data):
     data['LANE'] = data['LANE\LINK\NO'].astype(str)+'_'+data['LANE\INDEX'].astype(str)