Flight Log Version 1.0: Initial Release

(updated )

I’ve released the initial version of my Flight Log.

Flights

The flight log has a number of ways to show information, but understandably, the core component is a list of flights.

The most prominent item on the flights listing is a pair of maps showing every flight I’ve taken since age 18.

Maps on the Flights page.

Flight map generated using the Great Circle Mapper—copyright © Karl L. Swartz

I have a database of all the flights I’ve taken, and I wrote some code to take all of this flight route data and transform it into a format that the the Great Circle Mapper understands, and the Great Circle Mapper generates me a map like the one above. This means that when I add a new flight to the database, my maps are updated automatically.

Of course, while maps are useful, sometimes more details are needed, and for that I’ve included a listing of all of my flights.

A table of flights, showing the airline, flight number, route and departure date for each flight.

Clicking on any flight in the list brings up a flight details page:

A map and flight details for American Airlines 1231 on 4 Jun 2012.

Flight map generated using the Great Circle Mapper—copyright © Karl L. Swartz

This page shows a map of the flight and a number of details. Many of these details are links—so clicking on first class, for example, brings you to a page listing all of my first class flights. (The various details will be covered in future posts.) The page also shows some maps of trips (and parts of trips) which have a flight involving these two cities, so this is as good of a time as any to describe how trips work.

Trips

At its core, a trip is a complete set of flights, from an origin airport, with a stop at one or more destinations. Often, but not always, the final destination is the same as the origin, which in everyday speech is a “round trip.”

For the purpose of my flight log, a trip can be divided into one or more sections. A section is simply all the flights between the origin and the first destination, or between any two consecutive destinations. So, let’s say that I have a round trip from my home airport of Dayton (DAY) to Los Angeles (LAX), with a layover at Dallas/Fort Worth (DFW) both ways. This trip would then have two sections—the first containing all of my flights to Los Angeles (the DAY to DFW flight and the DFW to LAX flight) and the second containing all of my flights home (the LAX to DFW flight and the DFW to DAY flight).

If I had a multi-city trip from Dayton to Los Angeles to Seattle (SEA) to Dayton, there would be three sections—all flights between DAY and LAX, all flights between LAX and SEA, and all flights between SEA and DAY.

All that said, clicking on the Trips link at the top of any Flight Log page will show a list of trips:

A table of trips in chronological order, showing each trip's name and departure date.

Clicking on any of those will show a trip details page:

A map and list of the six flights in my Oklahoma City, OK and Rapid City, SD trip.

Flight map generated using the Great Circle Mapper—copyright © Karl L. Swartz

This particular trip was a multi-city trip, starting and ending in Dayton with stops in Oklahoma City (OKC) and Rapid City (RAP). As you can see, the map highlights destinations with a ring around a dot, while airports that are simply layovers are just shown as a black dot.

Below the map, all the flights for this trip are shown, grouped by trip section. Clicking any of the airlines and flight numbers will bring up the flight details page as described above. If you’d like to just see one particular section of the trip, clicking the section number to the left of the flights will do so:

A map and list of the two flights in section 1 of my Oklahoma City, OK and Rapid City, SD trip.

Flight map generated using the Great Circle Mapper—copyright © Karl L. Swartz

Airports

While flights are the most visible aspect of the flight log, airports are equally important.

On my airports listing, I start out with some maps showing all airports I’ve been to, but the heart of the page is the list of airports.

A table of airports, showing the city, IATA code, and number of visits for each.

This lists each airport I’ve been to, and the number of times I’ve visited it. The number of visits is automatically determined from the flight data in the database; every flight has an airport visit at either end of it.

My code also has to look at trip sections to determine if a flight arriving at an airport and the next flight departing from the same airport is a layover or not. If both flights are in separate sections (for example, I land in Dallas/Fort Worth, do some business there, and then depart from DFW later) it is not a layover and counts as two visits. However, if they’re in the same section, it’s a layover, and only counts as a single visit.

This visit calculation is how I determined my 100th airside visit to the Dayton airport, allowing me to celebrate accordingly.

Paul, in the lobby of the Dayton airport, wearing a party hat labeled with the number 100.

Clicking on any airport brings up its details, starting with a list of all flights involving the airport:

A map and table of Paul's flights through Chicago O'Hare.

Flight map generated using the Great Circle Mapper—copyright © Karl L. Swartz

As always, the flight log’s code generates a list of flights and passes it on to the Great Circle Mapper to draw the maps.

The page also figures out which trip sections and trips involve the airport in question, and generates maps for those, too:

A map and table of Paul's trip sections with a flight through Chicago O'Hare.

Flight map generated using the Great Circle Mapper—copyright © Karl L. Swartz

Finally, the page shows a listing of the frequency of all the airlines and aircraft families I’ve used at this airport:

Tables of all airlines and aircraft Paul has flown through Chicago O'Hare. Each table shows the number of O'Hare flights for each airline or aircraft family, and the tables are each sorted by number of flights.

Note: I later discovered that the flight shown here as Continental was actually on American Airlines. This has been corrected in the Flight Log.

Clicking on any airline or aircraft family will bring up details about each.

Airlines

The airlines page shows a list of airlines I’ve flown and the number of flights on each, sorted by number of flights.

Table of all airlines Paul has flown, showing the number of flights for each.

Note: I later discovered that the flights shown here as Continental were actually on American Airlines. This has been corrected in the Flight Log.

When codeshares are involved, I use the airline and flight number of the operator of the flight.

Regional subsidiary airlines are listed as the parent airline. For example, all American Eagle flights are listed as American Airlines, and all flights branded as United Express are listed as United flights, regardless of which subsidiary airline actually operates it.

Airlines which have gone through a merger since my last flight are still listed as the airline they were on the date I took the flight. Thus, my flights on Northwest are not now considered Delta flights.

Clicking on any airline brings up a Great Circle Mapper map and list of all flights I’ve taken on that airline:

A map and table of Paul's flights on United Airlines.

Flight map generated using the Great Circle Mapper—copyright © Karl L. Swartz

Aircraft Families

The aircraft families page shows a listing of all aircraft families I’ve flown.

Table of all aircraft families Paul has flown, showing the number of flights for each.

A large portion of my flights are on regional jets; a hazard, I suppose, of living near Dayton, Ohio.

Note that I do not know the aircraft for every flight I’ve taken (particularly older flights), so those flights are not included in this listing.

As expected, clicking on an aircraft family brings up a map and list of the flights using it:

A map and table of Paul's flights on Boeing 737 aircraft.

Flight map generated using the Great Circle Mapper—copyright © Karl L. Swartz

Classes

Table of all classes Paul has flown, showing the number of flights for each.

The class listing is one of the simplest; it’s just a table of the travel classes (first, business, or economy1) that I’ve flown and how many flights I’ve flown on each. As of the time of this writing, the vast majority of my flights have been domestic, so I’ve rarely ever been on three-class planes. Thus, I have not yet had any flights in business class.

As always, clicking on one of the classes shows a table and Great Circle Mapper map of my flights in that class:

A map and table of Paul's flights in first class.

Flight map generated using the Great Circle Mapper—copyright © Karl L. Swartz

Tail Numbers

Every aircraft has a unique number painted on or near its tail—think of it like a license plate for an airplane.

Several airplanes at Denver, with their tail numbers outlined in yellow.

The yellow outlines show these planes’ tail numbers—for example, N923SW on the closest plane.

Because the number is unique, if I keep track of it, I can tell whether I’ve been on a particular plane before. And, of course, this also allows me to track which particular aircraft I’ve flown on most often:

Table of the tail numbers of aircraft Paul has flown, showing the number of flights for each.

My tail number data is more sparse than a lot of my other categories.2 I didn’t begin tracking tail numbers before 2012, and even once I did, it’s not always possible to see the tail number (for example, at night, or when the airport terminal layout blocks the view of my aircraft’s tail). Still, the above listing shows me all of the aircraft that I know I’ve flown on at least once.

Clicking on one of the tail numbers shows a list of my flights on that plane and a corresponding map:

A map and table of Paul's flights on the CRJ-200 with tail number N909EV.

Flight map generated using the Great Circle Mapper—copyright © Karl L. Swartz

And with that, I’ve fully described the basic functionality of my Flight Log. Go forth and explore!

Changelog

Added


  1. I added a Premium Economy class in January 2016, and an Economy Extra class in October 2018. ↩︎

  2. I was later able to use the Buereau of Transportation Statistics (BTS) airline on-time statistics to fill in most of my missing tail numbers↩︎

Tags: