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
--- a/scripts/safety-analysis.py	Fri Jun 14 10:34:11 2013 -0400
+++ b/scripts/safety-analysis.py	Fri Jun 14 11:47:24 2013 -0400
@@ -26,4 +26,8 @@
     params.loadConfigFile(args[0])
 
 
+
+
+# for the demo, output automatically a map
+