Visualización interactiva de rutas aéreas y aeropuertos

Aplicación de visualización interactiva de rutas aéreas y aeropuertos de Estados Unidos usando Plotly y Dash. El objetivo de la visualización es observar las principales rutas aéreas y aeropuertos del país, así como ver las diferencias en la puntualidad de las rutas y las diferencias en la eficiencia de los aeropuertos.



*La aplicación puede tardar unos segundos en despertar la primera vez.


En la aplicación se pueden ver las principales rutas y aeropuertos de EEUU. El tamaño de los puntos es proporcional al tráfico aéreo de los aeropuertos, así como la opacidad de las líneas es proporcional al tráfico aéreo de las rutas. Los colores de las rutas están en función del retraso promedio estimado del tiempo de vuelo de los vuelos con esas rutas. Un color más rojo indica que los aviones que pasan por esa ruta sufren más retrasos, mientras que un color más amarillo indica lo contrario.

Los colores de los aeropuertos están en función su score. El score de cada aeropuerto es la suma de tres variables:

\(score = retraso\ embarque + taxi\ out + taxi\ in\)


  • Retraso en embarque: Retraso promedio en la hora de embarque de los vuelos
  • Taxi out: Tiempo promedio que tarda un avión en despegar desde el momento en que sale de la zona de embarque
  • Taxi in: Tiempo promedio que tarda el avión en llegar a la puerta de embarque desde que aterriza

El score sirve como medida aproximada de la eficiencia y puntualidad de un aeropuerto. Si un aeropuerto tiene un score alto (rojo) indica que sus aviones se retrasan más en el embarque y/o que tardan más en desplazarse por el aeropuerto.

Datos utilizados

Para generar el gráfico he utilizado una base de datos de vuelos de Estados Unidos durante el año 2015 facilitada por el Departamento de Transportes de EEUU. Esta bd contiene una tabla con 5819079 de registros de vuelos de los que he seleccionado 100000 aleatoriamente con los que trabajar.

YEAR MONTH DAY DAY_OF_WEEK AIRLINE FLIGHT_NUMBER TAIL_NUMBER ORIGIN_AIRPORT DESTINATION_AIRPORT SCHEDULED_DEPARTURE DEPARTURE_TIME DEPARTURE_DELAY TAXI_OUT WHEELS_OFF SCHEDULED_TIME ELAPSED_TIME AIR_TIME DISTANCE WHEELS_ON TAXI_IN SCHEDULED_ARRIVAL ARRIVAL_TIME ARRIVAL_DELAY DIVERTED CANCELLED CANCELLATION_REASON AIR_SYSTEM_DELAY SECURITY_DELAY AIRLINE_DELAY LATE_AIRCRAFT_DELAY WEATHER_DELAY
1 2015 1 1 4 AS 98 N407AS ANC SEA 5 2354 -11 21 15 205 194 169 1448 404 4 430 408 -22 0 0
2 2015 1 1 4 AA 2336 N3KUAA LAX PBI 10 2 -8 12 14 280 279 263 2330 737 4 750 741 -9 0 0
3 2015 1 1 4 US 840 N171US SFO CLT 20 18 -2 16 34 286 293 266 2296 800 11 806 811 5 0 0
4 2015 1 1 4 AA 258 N3HYAA LAX MIA 20 15 -5 15 30 285 281 258 2342 748 8 805 756 -9 0 0
5 2015 1 1 4 AS 135 N527AS SEA ANC 25 24 -1 11 35 235 215 199 1448 254 5 320 259 -21 0 0
6 2015 1 1 4 DL 806 N3730B SFO MSP 25 20 -5 18 38 217 230 206 1589 604 6 602 610 8 0 0

También contiene una tabla con datos de los aeropuertos de EEUU y otra con las aerolíneas que operan en el país.

La tabla con los vuelos requería un preprocesamiento inicial que hice con R. Por un lado, había que tratar valores faltantes y outliers en las variables de interés. Como la cantidad de filas con valores faltantes y outliers era baja decidí eliminarlas. Y, por otro lado, había un error en la codificación de los códigos de los aeropuertos de origen y destino. Los códigos de los aeropuertos en la tabla estaban con la codificación IATA salvo en los registros de vuelos del mes de Octubre, donde los códigos tenían la codificación FAA. Como era necesario que todos los códigos estuvieran en la misma codificación obtuve una equivalencia entre códigos IATA y FAA. Esto lo hice descargando una tabla con los nombres de los aeropuertos y sus códigos FAA, y después hice un join con la tabla que contenía los nombres de los aeropuertos y sus códigos IATA usando como variable de unión el nombre de los aeropuertos. Como los nombres de los aeropuertos no estaba igual escritos en las dos tablas usé la distancia de Levenshtein para obtener la similitud entre los nombres.

Creación de las variables para graficar

Para la creación de las variables que quería mostrar, como el retraso medio por ruta, el retraso medio por aeropuerto, el tráfico del aeropuerto, etc., así como para la creación del gráfico y la aplicación usé Python.

Primero calculé el retraso medio estimador por ruta.

Después creé el resto de variables que necesitaba, así como una tabla con las principales rutas y otra con los aeropuertos que intervenían en éstas.

Creación del mapa

El gráfico lo creé utilizado la librería Plotly.

Creación de la aplicación

La aplicación la creé con la librería Dash.

Esta web utiliza cookies para obtener datos estadísticos de la navegación de sus usuarios. Si continúas navegando se considera que aceptas su uso. Más información Cerrar