Mercurial > hg > nsaunier > traffic-intelligence
comparison python/moving.py @ 653:107f1ad02b69
compilation with C++11 and test function for movingobject distance
| author | Nicolas Saunier <nicolas.saunier@polymtl.ca> |
|---|---|
| date | Thu, 07 May 2015 13:25:31 +0200 |
| parents | bfaa6b95dae2 |
| children | 784298512b60 |
comparison
equal
deleted
inserted
replaced
| 652:3b13ec964476 | 653:107f1ad02b69 |
|---|---|
| 1153 axis('equal') | 1153 axis('equal') |
| 1154 figure(2) | 1154 figure(2) |
| 1155 plot(list(self.getTimeInterval()), speeds) | 1155 plot(list(self.getTimeInterval()), speeds) |
| 1156 | 1156 |
| 1157 @staticmethod | 1157 @staticmethod |
| 1158 def minMaxDistance(obj1, obj2): | |
| 1159 '''Computes the min max distance used for feature grouping''' | |
| 1160 commonTimeInterval = obj1.commonTimeInterval(obj2) | |
| 1161 if not commonTimeInterval.empty(): | |
| 1162 minDistance = (obj1.getPositionAtInstant(commonTimeInterval.first)-obj2.getPositionAtInstant(commonTimeInterval.first)).norm2() | |
| 1163 maxDistance = minDistance | |
| 1164 for t in list(commonTimeInterval)[1:]: | |
| 1165 d = (obj1.getPositionAtInstant(t)-obj2.getPositionAtInstant(t)).norm2() | |
| 1166 if d<minDistance: | |
| 1167 minDistance = d | |
| 1168 elif d>maxDistance: | |
| 1169 maxDistance = d | |
| 1170 return int(commonTimeInterval.length()), minDistance, maxDistance | |
| 1171 else: | |
| 1172 return int(commonTimeInterval.length()), None, None | |
| 1173 | |
| 1174 @staticmethod | |
| 1158 def distances(obj1, obj2, instant1, _instant2 = None): | 1175 def distances(obj1, obj2, instant1, _instant2 = None): |
| 1176 '''Returns the distances between all features of the 2 objects | |
| 1177 at the same instant instant1 | |
| 1178 or at instant1 and instant2''' | |
| 1159 from scipy.spatial.distance import cdist | 1179 from scipy.spatial.distance import cdist |
| 1160 if _instant2 is None: | 1180 if _instant2 is None: |
| 1161 instant2 = instant1 | 1181 instant2 = instant1 |
| 1162 else: | 1182 else: |
| 1163 instant2 = _instant2 | 1183 instant2 = _instant2 |
