Flight Log 1.0
I travel reasonably often, and I consider myself a bit of a transportation nerd. It’s only logical that I would keep track of where I’ve flown.
For a while, I used a giant text file, and later an Excel spreadsheet, to track all of my flights; I created maps manually using the Great Circle Mapper. But by the time my flights began numbering in the hundreds, I needed a more automated solution, so I created Paul Bogard’s Flight Log.
The most prominent item on the flights listing is a pair of maps showing every flight I’ve taken since age 18.
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.
Clicking on any flight in the list brings up a flight details page:
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 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.
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 in the Dayton, Ohio area to Los Angeles, with a layover at Dallas/Fort Worth 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 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:
Clicking on any of those will show a trip details page:
This particular trip was a multi-city trip, starting and ending in Dayton with stops in Oklahoma City and Rapid City. 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:
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.
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 when my 100th airside visit to the Dayton airport, allowing me to celebrate accordingly.
Clicking on any airport brings up its details, starting with a list of all flights involving the airport:
The page also figures out which trip sections and trips involve the airport in question, and generates maps for those, too:
Finally, the page shows a listing of the frequency of all the airlines and aircraft families I’ve used at this airport:
Clicking on any airline or aircraft family will bring up details about each.
The airlines page shows a list of airlines I’ve flown and the number of flights on each, sorted by number of flights.
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. For example, my flights on Northwest are not considered Delta flights.
Clicking on any airline brings up a map and list of all flights I’ve taken on that airline:
The aircraft families page shows a listing of all aircraft families I’ve flown.
A large portion of my flights are on regional jets; a hazard, I suppose, of living near Dayton, Ohio.
As expected, clicking on an aircraft family brings up a map and list of the flights using it:class listing is one of the simplest; it’s just a table of the travel classes (first, etc.) 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 map of my flights in that class:
Every aircraft has a unique number painted on or near its tail – think of it like a license plate for an airplane.
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:
My tail number data is more sparse than a lot of my other categories. 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:
And with that, I’ve fully described the basic functionality of the Flight Log!