Spaces:
Sleeping
Sleeping
import pandas as pd | |
from flight_distance import * | |
from optimize import * | |
from weather import * | |
airport_identifiers = ['CCU', 'SIN', 'LHR'] # Replace with actual identifiers | |
# Step 1: Get Airport Coordinates | |
lat_long_dict = get_airport_lat_long(airport_identifiers) | |
# Step 2: Get Distance between each node (airports) | |
trip_distance = calculate_distances(airport_identifiers) | |
# Step 3: Get on-route weather | |
# Assuming 'fetch_weather_for_all_routes' is available in weather module | |
raw_weather = fetch_weather_for_all_routes(airport_identifiers, lat_long_dict) | |
route_factors = extract_route_factors(raw_weather) | |
# Step 4: Ensure the graph is bidirectional (undirected) | |
for (a, b), dist in list(trip_distance.items()): | |
trip_distance[(b, a)] = dist | |
# Step 5: Find the optimal route based on weather, temperature, and distance | |
optimal_route, optimal_distance = find_optimal_route(airport_identifiers, trip_distance, route_factors) | |
# Display the optimal route and total adjusted distance | |
print("Optimal Route:", " -> ".join(optimal_route) + f" -> {optimal_route[0]}") | |
print("Total Round Trip Distance:", optimal_distance, "km") | |
# Step 6: Fetch Aircraft Details (e.g., Boeing 787-9) | |
aircraft_type = "Boeing 737-800" | |
aircraft_specs = get_aircraft_details(aircraft_type) | |
# Check if aircraft details were retrieved successfully | |
if isinstance(aircraft_specs, str): | |
print(aircraft_specs) # Print error if aircraft not found | |
else: | |
# Step 7: Check if the aircraft can fly the route | |
route_feasibility = check_route_feasibility(optimal_route, trip_distance, aircraft_specs) | |
if route_feasibility["Can Fly Entire Route"]: | |
print(f"Total fuel required for the entire route: {route_feasibility['Total Fuel Required (kg)']} kg") | |
print(f"Total flight time for the entire route: {route_feasibility['Total Flight Time (hrs)']} hours") | |
else: | |
print("The aircraft cannot fly the entire route without refueling for at least one sector.") | |