souvik0306's picture
updated code
7b17a2d
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.")