Mercurial Hosting > traffic-intelligence
changeset 335:3950bfe22768
added functions to export trajectories to csv
author | Nicolas Saunier <nicolas.saunier@polymtl.ca> |
---|---|
date | Fri, 14 Jun 2013 11:47:24 -0400 |
parents | 1d90e9080cb2 |
children | 124f85c6cfae |
files | python/moving.py python/storage.py scripts/safety-analysis.py |
diffstat | 3 files changed, 28 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/python/moving.py Fri Jun 14 10:34:11 2013 -0400 +++ b/python/moving.py Fri Jun 14 11:47:24 2013 -0400 @@ -604,6 +604,12 @@ def getUserType(self): return self.userType + def getCurvilinearPositions(self): + if hasattr(self, 'curvilinearPositions'): + return self.curvilinearPositions + else: + return None + def setUserType(self, userType): self.userType = userType
--- a/python/storage.py Fri Jun 14 10:34:11 2013 -0400 +++ b/python/storage.py Fri Jun 14 11:47:24 2013 -0400 @@ -290,6 +290,24 @@ out.close() +def writePositionsToCsv(f, obj): + timeInterval = obj.getTimeInterval() + positions = obj.getPositions() + curvilinearPositions = obj.getCurvilinearPositions() + for i in xrange(int(obj.length())): + p1 = positions[i] + s = '{},{},{},{}'.format(obj.num,timeInterval[i],p1.x,p1.y) + if curvilinearPositions != None: + p2 = curvilinearPositions[i] + s += ',{},{}'.format(p2[0],p2[1]) + f.write(s+'\n') + +def writeTrajectoriesToCsv(filename, objects): + f = open(filename, 'w') + for i,obj in enumerate(objects): + writePositionsToCsv(f, obj) + f.close() + if __name__ == "__main__": import doctest import unittest