comparison python/storage.py @ 327:42f2b46ec210

added class for trajectories in curvilinear coordinates
author Nicolas Saunier <nicolas.saunier@polymtl.ca>
date Wed, 12 Jun 2013 17:28:34 -0400
parents f7872d15a6cc
children a70c205ebdd9
comparison
equal deleted inserted replaced
326:f7872d15a6cc 327:42f2b46ec210
218 obj.laneNums = [int(numbers[13])] 218 obj.laneNums = [int(numbers[13])]
219 obj.precedingVehicles = [int(numbers[14])] # lead vehicle (before) 219 obj.precedingVehicles = [int(numbers[14])] # lead vehicle (before)
220 obj.followingVehicles = [int(numbers[15])] # following vehicle (after) 220 obj.followingVehicles = [int(numbers[15])] # following vehicle (after)
221 obj.spaceHeadways = [float(numbers[16])] # feet 221 obj.spaceHeadways = [float(numbers[16])] # feet
222 obj.timeHeadways = [float(numbers[17])] # seconds 222 obj.timeHeadways = [float(numbers[17])] # seconds
223 obj.curvilinearPositions = moving.Trajectory([[float(numbers[5])],[float(numbers[4])]]) # X is the longitudinal coordinate 223 obj.curvilinearPositions = moving.CurvilinearTrajectory([float(numbers[5])],[float(numbers[4])], obj.laneNums) # X is the longitudinal coordinate
224 obj.speeds = [float(numbers[11])] 224 obj.speeds = [float(numbers[11])]
225 obj.size = [float(numbers[8]), float(numbers[9])] # 8 lengh, 9 width # TODO: temporary, should use a geometry object 225 obj.size = [float(numbers[8]), float(numbers[9])] # 8 lengh, 9 width # TODO: temporary, should use a geometry object
226 return obj 226 return obj
227 227
228 numbers = input.readline().strip().split() 228 numbers = input.readline().strip().split()
240 objects.append(obj) 240 objects.append(obj)
241 if (nObjects>0) and (len(objects)>=nObjects): 241 if (nObjects>0) and (len(objects)>=nObjects):
242 break 242 break
243 obj = createObject(numbers) 243 obj = createObject(numbers)
244 else: 244 else:
245 obj.laneNums.append(int(numbers[13]))
245 obj.positions.addPositionXY(float(numbers[6]), float(numbers[7])) 246 obj.positions.addPositionXY(float(numbers[6]), float(numbers[7]))
246 obj.curvilinearPositions.addPositionXY(float(numbers[5]), float(numbers[4])) 247 obj.curvilinearPositions.addPosition(float(numbers[5]), float(numbers[4]), obj.laneNums[-1])
247 obj.speeds.append(float(numbers[11])) 248 obj.speeds.append(float(numbers[11]))
248 obj.laneNums.append(int(numbers[13]))
249 obj.precedingVehicles.append(int(numbers[14])) 249 obj.precedingVehicles.append(int(numbers[14]))
250 obj.followingVehicles.append(int(numbers[15])) 250 obj.followingVehicles.append(int(numbers[15]))
251 obj.spaceHeadways.append(float(numbers[16])) 251 obj.spaceHeadways.append(float(numbers[16]))
252 obj.timeHeadways.append(float(numbers[17])) 252 obj.timeHeadways.append(float(numbers[17]))
253 253