Mercurial Hosting > traffic-intelligence
comparison python/moving.py @ 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 |
comparison
equal
deleted
inserted
replaced
96:9928c2fa72cc | 97:b3a1c26e2f22 |
---|---|
357 # compute bounding polygon from trajectory | 357 # compute bounding polygon from trajectory |
358 | 358 |
359 def getObjectInTimeInterval(self, inter): | 359 def getObjectInTimeInterval(self, inter): |
360 '''Returns a new object extracted from self, | 360 '''Returns a new object extracted from self, |
361 restricted to time interval inter''' | 361 restricted to time interval inter''' |
362 if inter.inside(self.timeInterval): | 362 intersection = inter.intersection(self.getTimeInterval()) |
363 inter = TimeInterval(inter.first-self.getFirstInstant(), inter.last-self.getFirstInstant()) | 363 if not intersection.empty(): |
364 obj = MovingObject(self.num, inter, self.positions.getTrajectoryInInterval(inter), self.geometry, self.userType) | 364 trajectoryInterval = TimeInterval(intersection.first-self.getFirstInstant(), intersection.last-self.getFirstInstant()) |
365 obj = MovingObject(self.num, intersection, self.positions.getTrajectoryInInterval(trajectoryInterval), self.geometry, self.userType) | |
365 if self.velocities: | 366 if self.velocities: |
366 obj.velocities = self.velocities.getTrajectoryInInterval(inter) | 367 obj.velocities = self.velocities.getTrajectoryInInterval(trajectoryInterval) |
367 return obj | 368 return obj |
368 else: | 369 else: |
369 print 'The object does not exist at '+str(inter) | 370 print 'The object does not exist at '+str(inter) |
370 return None | 371 return None |
371 | 372 |
479 return self.values.values()[self.iterInstantNum-1] | 480 return self.values.values()[self.iterInstantNum-1] |
480 | 481 |
481 def getTimeInterval(self): | 482 def getTimeInterval(self): |
482 if not self.timeInterval and type(self.values)==dict: | 483 if not self.timeInterval and type(self.values)==dict: |
483 instants = self.values.keys() | 484 instants = self.values.keys() |
484 self.timeInterval = TimeInterval(instants[0], instants[-1]) | 485 if instants: |
486 self.timeInterval = TimeInterval(instants[0], instants[-1]) | |
487 else: | |
488 self.timeInterval = TimeInterval() | |
485 return self.timeInterval | 489 return self.timeInterval |
486 | 490 |
487 def getValues(self): | 491 def getValues(self): |
488 if self.timeInterval: | 492 if self.timeInterval: |
489 return self.values | 493 return self.values |