Mercurial Hosting > traffic-intelligence
changeset 97:b3a1c26e2f22
corrected getObjectInInterval for MovingObject and timeintervals for TemporalIndicator
author | Nicolas Saunier <nicolas.saunier@polymtl.ca> |
---|---|
date | Tue, 14 Jun 2011 14:14:24 -0400 |
parents | 9928c2fa72cc |
children | b85912ab4064 |
files | python/moving.py |
diffstat | 1 files changed, 9 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/python/moving.py Mon Jun 13 16:50:40 2011 -0400 +++ b/python/moving.py Tue Jun 14 14:14:24 2011 -0400 @@ -359,11 +359,12 @@ def getObjectInTimeInterval(self, inter): '''Returns a new object extracted from self, restricted to time interval inter''' - if inter.inside(self.timeInterval): - inter = TimeInterval(inter.first-self.getFirstInstant(), inter.last-self.getFirstInstant()) - obj = MovingObject(self.num, inter, self.positions.getTrajectoryInInterval(inter), self.geometry, self.userType) + intersection = inter.intersection(self.getTimeInterval()) + if not intersection.empty(): + trajectoryInterval = TimeInterval(intersection.first-self.getFirstInstant(), intersection.last-self.getFirstInstant()) + obj = MovingObject(self.num, intersection, self.positions.getTrajectoryInInterval(trajectoryInterval), self.geometry, self.userType) if self.velocities: - obj.velocities = self.velocities.getTrajectoryInInterval(inter) + obj.velocities = self.velocities.getTrajectoryInInterval(trajectoryInterval) return obj else: print 'The object does not exist at '+str(inter) @@ -481,7 +482,10 @@ def getTimeInterval(self): if not self.timeInterval and type(self.values)==dict: instants = self.values.keys() - self.timeInterval = TimeInterval(instants[0], instants[-1]) + if instants: + self.timeInterval = TimeInterval(instants[0], instants[-1]) + else: + self.timeInterval = TimeInterval() return self.timeInterval def getValues(self):