File size: 1,308 Bytes
7b17a2d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import pandas as pd
from flight_distance import *
from Old.optimizer import *
from weather import *

airport_identifiers = ['CCU', 'CDG', 'SIN']  # Replace with actual identifiers

#Get Airport Coordinates
lat_long_dict = get_airport_lat_long(airport_identifiers)
# print("Coordinates: \n",lat_long_dict)

#Get Distance between each node (airports)
trip_distance = calculate_distances(airport_identifiers)
# print("Distance b/w Airports: \n",trip_distance)

#Get onroute weather
raw_weather = fetch_weather_for_all_routes(airport_identifiers, lat_long_dict)
route_factors = extract_route_factors(raw_weather)
# print("On Route weather: \n", raw_weather)

# # Ensure the graph is bidirectional (undirected)
for (a, b), dist in list(trip_distance.items()):
    trip_distance[(b, a)] = dist

# Find the optimal route with the new cost metric
optimal_route, optimal_distance = find_optimal_route(airport_identifiers, trip_distance, route_factors)

# Display the optimal route and the total adjusted distance/cost
print("Optimal Route:", " -> ".join(optimal_route) + f" -> {optimal_route[0]}")
print("Total Round Trip Distance:", optimal_distance)

aircraft_type = "Airbus A350-900"

# Check if the aircraft can fly the route without refuel
result = can_fly_route(aircraft_type, airport_identifiers)
print(result)