No Fly Zone: Flight Traffic in the Early Months of the COVID-19 Pandemic
Team Members: Murtaza Ali, Leila Elabbady, Helena Liu, Girish Narayanswamy
How Did Flight Traffic Change as COVID-19 Raged Through The United States?
Graphic Information and Interaction Tips
- Use the slider to see how US COVID-19 cases changed during the first several months of the pandemic.
- Hovering over states on the map will show the positivity rate (proportion of infected individuals and state population)
- To see how this affected flight traffic in a number of major airports click the dots on the map. This will update the top two charts
- The top left chart shows how flight traffic changed over time, presented as a % relative to the pre-COVID traffic (5-day moving average).
- The top right chart shows the state new-case-count over time (5-day moving average).
- Hovering over airport markers will report airport name and the associated city.
Design Decisions
- Overview:
The main variables of interest include: time, state location, state covid case count, airport location, airport traffic. These variables and our specific question were decided based on our interest and data availability (see Development Process).
Our initial design idea consisted of a zoom-enabled chloropleth map of the Unites States with an interactive time slider that not only updated the state colors (as the current version does), but also the size of the circles intended initially as an encoding for the percentBaseline variable. However, we moved away from this because we felt that 1) encoding a quantitative variable using circle area was difficult to interpret (Information Visualization Using Vision To Think, Chapter 1, Mackinlay) and 2) it was needlessly confusing to try and keep track of two changing encodings as the slider moved through time. We also moved away from the zoom feature because our dataset was restricted to state aggregated data and thus zooming in to see counties specific data was not feasible.
We then considered double-linking the slider to a separate bar graph which showed data for all airports at a single point in time, and varied with the slider. While we felt this design helped answer our focus question better than the first iteration, it still did not give an effective summary view through time. A better visualization would allow the user to more easily compare how air traffic varies with cases through time.
This is how we decided on our final visualization, which utilizes a click selection on the map to instead focus on a single airport and state at a time, and show all the data through time (the first 6 months) for COVID cases and air traffic related to that particular location. We additionally maintained the time slider on the map to allow users the opportunity to compare COVID rates across all states together, if they so wished. We kept the two interactions separate to enable the largest possible range of exploration depending on user preference.
- Encodings:
- State Location: Because our COVID data was divided by state, we decided to use a map of the country as one encoding where viewers can view the change in data for each state represented by their geographic location.
- Airport Location: For the airports selected, we encoded them by adding circular points representative of their geographic locations on the map. For add specific information we added a hover tool for users to see the city and airport name.
- COVID Case to Population Ratio (Cumulative): For the choropleth map, we decided to show the cumulative covid case population. Knowing the changes in color are not an ideal encoding for quantitative data, we wanted the focus of this map to be on seeing general trends over time e.g. allow the user to see how covid spread across the country, which states had faster infection rates (seen as which states got darker first). In order to allow for better comparison across states, we normalized the case values by the state population, since for example, comparing raw counts in New York vs. Wyoming would be very distorted.
- Percent Baseline Air Traffic (Rolling Average): The percent baseline air traffic is an unique but informative metric. For each aiport, the average flight traffic pre-COVID was considered the 'baseline'. These baselines were tabulated by the owner of the dataset. For each day following the emmergence of COVID in the USA, the percent baseline represents how the flight traffic of a given airport compared to its pre-COVID baseline. In this case 100% means that airport flight traffic was just a busy as before, 50% means that day the airport had only half of the flights it used to.
- Positive Cases Per Day (Rolling Average): For the bar chart, we chose to show the number of positive cases per day. To do this we just took the difference between each time point, t, and the day before, t-1. By portraying the case data this way, the user can now investigate the smaller changes in infection for each state. Unlike the choropleth map where seeing small changes is very hard to parse out as changes in color, the thin bar charts over time allow the user to see when there were surges of infection vs. when infection counts were dropping etc. It allows the user to explore the same data from the map but in a different light. To smooth out some of the diurnal changes, we used a rolling average of 5 days.
- Time: Time is encoded in multiple ways in this visualization. The first way is along the X axis for the two charts at the top. This allows the viewer to see if and how flight traffic and the spread of covid were related as time went on. For example, one of the trends that stood out to us was that flight traffic was highly effected at the start of the pandemic for many airports, however later on, even if there was a large spike in the number of positive cases per day, flight traffic seemed to have plateaued. This interesting relationship is more easily observed when the viewer can see all the data for the six months at once. The second way time is encoded in this visualization is through the slider at the bottom connected to the USA map. This allows the viewer to scroll through time and examine the rate of exposure across the country.
- Interactions
- Time Slider: The time slider is linked to the rate of positive covid cases for each state in the first 180 days of the pandemic in the USA. The user can explore how this map of positive cases changes in the country by moving the slider and the rate of positivity is encoded by a 'reds' color scale.
- Click Selection: Click selection is enabled to allow the viewer to explore how flight traffic and covid case data varied in different states over time. Some of the 16 busiest airports in the country are mapped as points onto the map and the user can click on any of these points to change the data displayed in the bar charts above.
- Hover Tooltip: For the hover interaction, we wanted to mainly interact with the choropleth map. There are
two different Tooltips available, one for the positivity rate data that is displayed for each state, and the second
that is displayed if the user is hovering over a specific airport (noted by the marker points) and that will
display that name of the airport. One should note that the covid case data changes with time (as controlled by the
slider) and the flight data is kept consistent to support the click selection ability and to allow the viewer to
interact with the charts above.
- Example User Insight
- One of the trends that stood out to us was that flight traffic was highly effected at the start of the pandemic for many airports, however later on, even if there was a large spike in the number of positive cases per day, flight traffic seemed to have plateaued. You can see this by clicking on different points and comparing the trends of the top two charts.
- The flight traffic data shows many spikes, which actually represent weekly flight patterns modulated on top of average flight traffic. For example flight traffic peaks around the weekend, and then drops again during the week.
- Seattle did a fairly good job at limiting the spread of covid. New cases (in a day) never exceeded 2000. Florida
we able to limit COVID until mid-summer 2020, where a massive spike increased new cases to over 10000.
- Limitations
- Only able to use one airport per state (but point out that even if we had 2+, there would be another flaw, so matter of balance)
- Only displayed several airports
- One of the technical difficultie we ran in to was linking the slider to multiple encodings. At one point, we wanted to add a vertical line in the bar charts that was synced in time to the choropleth map to visually connect the three charts. However, due to the data type restrictions of the slider (needs ordinal data that increases by a consistent step) and the formatting restrictions of Time data for the bar charts.
Development Process
- Question Framing: Before we started the visualization process, our first step was to frame the specific
question within the realm of our overarching interests in covid case count and air traffic. We were interested in
learning about how air-travel may or may not have changed in the early pandemic months. This was primarily motivated
by scenarios such as the mass exodus from cities like NYC and San Fransico. We were interested in exploring how flight
patterns started and evolved as covid raged through the United States. This step was primarily
determined by data availability. Our air traffic data was severely constrained as it only included limited days and
airports. Our covid case dataset was far less constrained. Because of this, one possible idea was to display covid
cases across time for all states, but display air traffic data only for available major US airports.
- Data Wrangling: Data wrangling entailed a number of dataset merges. This included combining data from a US
state COVID count dataset, a flight dataset captured during the first year of COVID, and a dataset including state
population data (to get covid rates by combining the with the covid dataset). We also imported a dataset with ANSI
encodings for state/state number/state id, and other values needed to tie the datasets together. We started by focusing
on the air traffic
dataset because it was more constraining than the other dataset. We first figured out the unique major US airports it
contained and available date range. For compatibility with the covid case dataset, we mapped airports to their
corresponding states. Further more the data wrangling included inrerpolating missing data points, filtering out unusable
values (NaN esc.). Additionally data from certain overlapping airports (mulitple NYC and NJ) airports was methodically
removed in order to prevent overlapping data points on the choropleth map. Additional filtering included 5-day moving
averages for covid-daily-case counts, and flight-traffic data, in order to remove noise from the signal. Finally data
was combined in a logical easily interpritable manner, conducive of building a visualization.
- Data Visualization: We started out by creating static visualizations that represented the type of data that
we want to display in our tool. This involved creating a choropleth map of the USA divided by state borderlines that
represented covid case data for a given day starting March 16, 2020. This map would be overlaid with 16 circular points
for different airports around the country in their correct geographic location. We then created two static charts
representing the flight traffic data over time and covid case data over time for a single state. We iterated a few
times on the type of chart that we would want to display and in the end it seemed that two side to side bar charts was
the easiest way to compare the two features while keeping the interactions simple yet effective.
- Interaction:
For the interactions, we begun by adding a slider to the choropleth map to visualize the cumulative COVID case data for
each state through 180 days. We had originally wanted to link the slider to multiple features, having both covid case
data, and flight traffic data move through time. However, after running in to several technical issues with the slider
we decided to leave it as is and focus on two linked bar charts that would allow the user to compare the quantitative
flight traffic and positive case data more clearly. This is when we chose to add the click selection whereby clicking
on an airport (viewed on the map), the selection of the top two charts would change to reflect the flight traffic of
that airport and the positive case rate for the respective state through time. To make exploration of the map clearer,
we also added two hover interactions (one for each airport and one for each state) whereby extra details such as state
name and percent of population infected were displayed if the user's mouse was over a given state.
- Division of Labor: The four of us spent approximately 30 hours on this project. Our first meeting was on April 25th and we meet roughly twice a week for one hour each. The purpose of these meetings included making design decisions and action item planning. We spent most of the time working individually after we assigned roles to each individual. Girish and Helena obtained the dataset for this project and they were also assigned to data wrangling (although Girish did the heavylifting for data wrangling). Leila and Murtaza were in charge of coding the visualization. Leila created the choropleth map of the country and Murtaza created the bar charts. Together the both of them iterated on adding and finetuning the interactive features. Girish did some light visualization formatting, some minor tooltip work, and was in charge of web publishing. Leila was heavily involved in organizing. Everyone was involved in writing. Though the roles were fairly well split it is important to note that all members contributed to additional parts of the project (for example working on formatting, improving interactions, additional data processing etc.). Most aspects of the development process took significant time, though developing the visualization and refining the interactions took a significant amount of time.
References
- Covid Flight Dataset: https://www.kaggle.com/datasets/terenceshin/covid19s-impact-on-airport-traffic?resource=download
- Covid State Count Dataset: https://www.kaggle.com/datasets/sudalairajkumar/covid19-in-usa
- State Population Dataset: https://www.kaggle.com/datasets/peretzcohen/2019-census-us-population-data-by-state?
- State ANSI Encoding Dataset: https://www2.census.gov/geo/docs/reference/state.txt