calculate times for all possible runways -> allows lookup for later optimization
This commit is contained in:
50
aman/types/ArrivalTime.py
Normal file
50
aman/types/ArrivalTime.py
Normal file
@@ -0,0 +1,50 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
from datetime import datetime, timedelta
|
||||
|
||||
from aman.types.ArrivalRoute import ArrivalRoute
|
||||
|
||||
class ArrivalTime:
|
||||
def __init__(self, **kargs):
|
||||
self.Star = None
|
||||
self.MaximumTimeToGain = None
|
||||
self.FlightTimeUntilIaf = None
|
||||
self.FlightTimeUntilTouchdown = None
|
||||
self.InitialArrivalTime = None
|
||||
self.EarliestArrivalTime = None
|
||||
|
||||
for key, value in kargs.items():
|
||||
if 'ttg' == key:
|
||||
if True == isinstance(value, timedelta):
|
||||
self.MaximumTimeToGain = value
|
||||
elif True == isinstance(value, (int, float)):
|
||||
self.MaximumTimeToGain = timedelta(seconds = float(value))
|
||||
else:
|
||||
raise Exception('Invalid type for ttg')
|
||||
elif 'star' == key:
|
||||
if True == isinstance(value, ArrivalRoute):
|
||||
self.Star = value
|
||||
else:
|
||||
raise Exception('Invalid type for star')
|
||||
elif 'ita' == key:
|
||||
if True == isinstance(value, datetime):
|
||||
self.InitialArrivalTime = value
|
||||
else:
|
||||
raise Exception('Invalid type for ita')
|
||||
elif 'earliest' == key:
|
||||
if True == isinstance(value, datetime):
|
||||
self.EarliestArrivalTime = value
|
||||
else:
|
||||
raise Exception('Invalid type for earliest')
|
||||
elif 'touchdown' == key:
|
||||
if True == isinstance(value, timedelta):
|
||||
self.FlightTimeUntilTouchdown = value
|
||||
else:
|
||||
raise Exception('Invalid type for touchdown')
|
||||
elif 'entry' == key:
|
||||
if True == isinstance(value, timedelta):
|
||||
self.FlightTimeUntilIaf = value
|
||||
else:
|
||||
raise Exception('Invalid type for entry')
|
||||
else:
|
||||
raise Exception('Unknown key: ' + key)
|
||||
Reference in New Issue
Block a user