Mercurial Hosting > traffic-intelligence
changeset 246:583a2c4622f9
created new module for algorithms with function to extract speeds
author | Nicolas Saunier <nicolas.saunier@polymtl.ca> |
---|---|
date | Tue, 17 Jul 2012 16:28:24 -0400 |
parents | bd8ab323c198 |
children | 8f0ed138d373 |
files | python/processing.py python/storage.py |
diffstat | 2 files changed, 23 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/python/processing.py Tue Jul 17 16:28:24 2012 -0400 @@ -0,0 +1,21 @@ +#! /usr/bin/env python +'''Algorithms to process trajectories and moving objects''' + +__metaclass__ = type + +import numpy as np + +import moving + +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 xrange(int(o.length()-1)) if inPolygon[i]] + speeds[o.num] = np.mean(objspeeds) # km/h + else: + objectsNotInZone.append(o) + return speeds.values(), speeds, objectsNotInZone