With travel restrictions from Europe to the US going into effect today and a larger push to stay home to slow the spread of the coronavirus, we were curious as to how this is impacting global travel. Naturally, we turned to Cesium.
We started by collecting flight data for every other day over the last few months. Here are all flights going in and out of Beijing’s most popular international airport:
There’s a very sharp decline in number of flights in the end of January, going very quickly from around 900 flights to less than 300. This aligns with when the World Health Organization declared a global health emergency and the United States and other countries restricted travel from China.
After Beijing, Italy was hit hardest by the coronavirus. The first reported case there was on February 22, with cases quickly spiking and the Italian government imposing a quarantine on March 8. We can see a decline in flight traffic there, although not as quickly or dramatically:
There haven’t been any official restrictions on flights in London at the time of writing, but there’s still a big decline in scheduled flights for the remainder of March. Here we’ve colored all U.S. flights in red.
Finally, here’s JFK airport in New York City, one of the US’s biggest air traffic hubs. There doesn’t appear to be any noticeable change so far:
Flight data was obtained from AeroDataBox. Their API takes an airport code and returns all flights into or out of that airport for a given time period.
Once we had these scheduled routes, we used open data from OpenFlights to get the location of each of these airports.
Finally, we created a CZML that draws a line for each route with a timestamp, and visualized the changing routes over time with Cesium Stories.
If you want to create something similar, we recommend you get started with the time dynamic data in Cesium Stories tutorial.