Data preprocessing

Cette librairie Python propose une API permettant d’accéder aux données gratuites de FlightRadar24. Une documentation est accessible ici. Comme toute API, cette API s’utilise en deux temps :

Passons à l’exercice.

NoteAttention

Pour explorer l’API plus facilement et de manière interactive, on pourra travailler depuis un notebook Jupyter (extension .ipynb).

Astuce Exercice 1: Utilisation de l’API FlightRadarAPI
  1. Initialiser un client FlightRadar24API.
Cliquer pour voir la réponse
from FlightRadar24 import FlightRadar24API
fr_api = FlightRadar24API()
  1. En utilisant le client, compter le nombre de compagnies aériennes.
Cliquer pour voir la réponse
airlines = fr_api.get_airlines()
print(f"Il y a {len(airlines)} compagnies aériennes différentes dont on peut récupérer les vols.")
Il y a 1997 compagnies aériennes différentes dont on peut récupérer les vols.
  1. Compter le nombre de zones géographiques utilisables et en afficher une selection.
Cliquer pour voir un indice La méthode FlightRadar24API.get_zones retourne un dictionnaire contenant une clé pour chaque zone.
Cliquer pour voir la réponse
zones = fr_api.get_zones().keys()
zones = list(zones)
print(f"Il y a {len(zones)} zones différentes, dont les zones '{zones[0]}', '{zones[1]}', '{zones[2]}', etc.")
Il y a 9 zones différentes, dont les zones 'europe', 'northamerica', 'southamerica', etc.
  1. On souhaite maintenant récupérer les vols de Boeing 77W en activité en Europe de la compagnie aérienne Air France. Utiliser la méthode FlightRadar24API.get_flights pour donner un compte de ces vols. La chaîne de caractères qui représente Air France est "AFR" et celle qui représente le type d’aéronef est "B77W".
Cliquer pour voir un indice La méthode à utiliser prend un argument bounds, que la méthode FlightRadar24API.get_bounds permet de récupérer à partir d’une zone géographique.
Cliquer pour voir la réponse
airline_icao = "AFR"
aircraft_type = "B77W"

zone = fr_api.get_zones()["europe"]
bounds = fr_api.get_bounds(zone)

afr_flights = fr_api.get_flights(
    aircraft_type = aircraft_type,
    airline = airline_icao,
    bounds = bounds
)
print(f"{len(afr_flights)} aéronefs B77W d'Air France sont actuellement en activité en Europe.")
8 aéronefs B77W d'Air France sont actuellement en activité en Europe.
  1. Il est possible de changer la configuration du client avec les méthodes FlightRadar24API.get_flight_tracker_config et FlightRadar24API.set_flight_tracker_config. Changer la configuration pour récupérer 5 vols à l’aide de la méthode FlightRadar24API.get_flights sans fournir d’argument.
Cliquer pour voir la réponse
flight_tracker = fr_api.get_flight_tracker_config()
flight_tracker.limit = 5
fr_api.set_flight_tracker_config(flight_tracker)

flights = fr_api.get_flights()
print(f"Informations récupérées sur {len(flights)} vols.")
Informations récupérées sur 5 vols.
  1. Pour analyser les détails d’un vol, il faut utiliser les méthodes FlightRadar24API.get_flight_details pour collecter les détails d’un vol précis via l’API, puis Flight.set_flight_details pour les attribuer à ce vol (car seulement quelques informations sont collectées par défaut). Explorer les informations disponibles sur un vol (objet de la classe Flight), par exemple en listant les attribus avec la commande dir(my_flight). On pourra notamment regarder les attributs suivants :
  • latitude: Latitude de l’aéronef ;
  • longitude: Longitude de l’aéronef ;
  • id: Identifiant du vol ;
  • icao_24bit: Identifiant de l’aéronef ;
  • heading: Cap de vol (en degrés) ;
  • altitude: Altitude (en pieds) ;
  • ground_speed: Vitesse au sol (en noeuds) ;
  • aircraft_code: Type d’aéronef ;
  • origin_airport_name: Aéroport d’origine ;
  • destination_airport_name: Aéroport de destination ;
  • airline_iata: Code IATA de compagnie aérienne ;
  • vertical_speed: Vitesse verticale (en pieds par minute) ;
  • airline_icao: Code ICAO de compagnie aérienne.

Essayez d’identifier les différentes informations associées à un vol.

Cliquer pour voir la réponse
flight = flights[2]
flight_details = fr_api.get_flight_details(flight)
flight.set_flight_details(flight_details)
print(
  f"Le vol {flight.id} au départ de l'aéroport {flight.origin_airport_name} "
  f"et à destination de {flight.destination_airport_name} se déplace à une vitesse "
  f"de {flight.ground_speed} noeuds."
)
print(
  f"L'appareil est un aéronef {flight.aircraft_code} de la compagnie {flight.airline_icao}."
)
Le vol 3e120fcf au départ de l'aéroport Las Vegas Harry Reid International Airport et à destination de Cincinnati Northern Kentucky International Airport se déplace à une vitesse de 0 noeuds.
L'appareil est un aéronef A320 de la compagnie FFT.

Dans la partie suivante, nous allons développer une première application de visualisation de vols utilisant cette API Python !