Mercurial > hg > nsaunier > 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 |
