Mercurial Hosting > traffic-intelligence
changeset 744:ed6ff2ec0aeb dev
bug correction from Laurent Gauthier
author | Nicolas Saunier <nicolas.saunier@polymtl.ca> |
---|---|
date | Thu, 10 Sep 2015 15:48:01 -0400 |
parents | 5b91b8d97cf3 |
children | 3d0321abb564 |
files | python/storage.py |
diffstat | 1 files changed, 4 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/python/storage.py Fri Aug 28 10:38:08 2015 -0400 +++ b/python/storage.py Thu Sep 10 15:48:01 2015 -0400 @@ -829,7 +829,7 @@ return nStationary, nVehicles -def countCollisionsVissim(filename, lanes = None, collisionTimeDifference = 0.2): +def countCollisionsVissim(filename, lanes = None, collisionTimeDifference = 0.2, lowMemory = True): '''Counts the number of collisions per lane in a VISSIM trajectory file To distinguish between cars passing and collision, @@ -840,12 +840,14 @@ from pandas import read_csv, merge data = read_csv(filename, delimiter=';', comment='*', header=0, skiprows = 1, usecols = ['LANE\LINK\NO', 'LANE\INDEX', '$VEHICLE:SIMSEC', 'NO', 'POS'], low_memory = lowMemory) data = selectPDLanes(data, lanes) + data = data.convert_objects(convert_numeric=True) + merged = merge(data, data, how='inner', left_on=['LANE\LINK\NO', 'LANE\INDEX', '$VEHICLE:SIMSEC'], right_on=['LANE\LINK\NO', 'LANE\INDEX', '$VEHICLE:SIMSEC'], sort = False) merged = merged[merged['NO_x']>merged['NO_y']] nCollisions = 0 for name, group in merged.groupby(['LANE\LINK\NO', 'LANE\INDEX', 'NO_x', 'NO_y']): - diff = group['POS_x'].convert_objects(convert_numeric=True)-group['POS_y'].convert_objects(convert_numeric=True) + diff = group['POS_x']-group['POS_y'] # diff = group['POS_x']-group['POS_y'] # to check the impact of convert_objects and the possibility of using type conversion in read_csv or function to convert strings if any if len(diff) >= 2 and npmin(diff) < 0 and npmax(diff) > 0: xidx = diff[diff < 0].argmax()