diff trafficintelligence/processing.py @ 1028:cc5cb04b04b0

major update using the trafficintelligence package name and install through pip
author Nicolas Saunier <nicolas.saunier@polymtl.ca>
date Fri, 15 Jun 2018 11:19:10 -0400
parents python/processing.py@933670761a57
children c6cf75a2ed08
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trafficintelligence/processing.py	Fri Jun 15 11:19:10 2018 -0400
@@ -0,0 +1,20 @@
+#! /usr/bin/env python
+'''Algorithms to process trajectories and moving objects'''
+
+import moving
+
+import numpy as np
+
+
+def extractSpeeds(objects, zone):
+    speeds = {}
+    objectsNotInZone = []
+    import matplotlib.nxutils as nx        
+    for o in objects:
+        inPolygon = nx.points_inside_poly(o.getPositions().asArray().T, zone.T)
+        if inPolygon.any():
+            objspeeds = [o.getVelocityAt(i).norm2() for i in range(int(o.length()-1)) if inPolygon[i]]
+            speeds[o.num] = np.mean(objspeeds) # km/h
+        else:
+            objectsNotInZone.append(o)
+    return speeds, objectsNotInZone