Frequently Asked Questions
All commercial aircraft and many private planes are required to have a piece of electronic equipment called a transponder. Every transponder has a unique hex code associated with it; no two are the same. The transponder can be programmed by the pilot to broadcast a callsign, squawk code and altitude, all of which allow air traffic controllers to identify individual aircraft on their screens. This is called Mode-S and relies on ground-based radar to plot the position of the identified aircraft.
Newer technology, called ADS-B, exists to provide accurate identifier and position information for aircraft without the need of radar. ADS-B stands for Automatic Dependent Surveillance - Broadcast, and it is slowly being adopted by regulatory bodies and airlines around the world. The technology is widespread across Europe but is taking longer to adopt in North America.
With ADS-B, an aircraft can broadcast not only its callsign, squawk code and altitude, but it can also broadcast its exact latitude and longitude. Many commercially available (read: pricey) receivers exist to decode this data and represent it on a computer screen, but there are also many cheap ($20) USB dongles that can be plugged into a computer to do the same thing with the help of some free software. You can read more on my blog about how this is done.
My current setup employs the latter option, the cheap USB dongle – two of them, actually – to receive the Mode-S and ADS-B data from the aircraft that fly within a 200 nautical mile (more or less) radius from my location in Richmond Hill, Ontario, Canada. I then use a variety of different applications on my personal computer to decode the data into a human-readable form, display it on a screen, and store it in a database. Then a batch script extracts that data from the database and uploads it to this website for all of us to enjoy. Here is a breakdown of what the fields tell you on the Latest Flights page:
- FlightID is the unique number given to the flight record as it is stored in the database on personal computer. Clicking on this number will show you further details about that particular flight. See below for more information.
- ModeS is the unique hex code associated to the transponder in the aircraft being used for the flight. Clicking on this hex code will display a list of other flights flown by the same aircraft.
- Registration is the alphanumeric human-readable identification of the aircraft. The flag beneath indicates the country in which the aircraft is registered.
- Aircraft is the manufacturer name and model type for the aircraft. The code in brackets is the four-digit ICAO code for that particular model.
- Airline/Operator is the name of the company operating the aircraft. This is not necessarily the name of the company that owns the plane, because many planes are leased by the airlines. The graphic is usually the logo of the airline but in some cases shows a silhouette of the shape of the aircraft.
- Callsign is the alphanumeric identifier for the flight, i.e. the flight number. This is not always entered correctly by the pilots, or the pilots may enter only a portion of the flight number. For example, Westjet pilots will enter just the number portion of the callsign without the WJA prefix that denotes their airline. Clicking on the callsign will display a list of other aircraft that have flown using the same callsign.
- Origin, based on the callsign, is the departure city for the flight. This information is not broadcast by the aircraft; rather it is obtained from a separate online database that unfortunately is not always correct.
- Destination is the city to which the plane is flying. As with the origin, this is determined based on the callsign and is not always accurate.
- Route Distance is calculated whenever you load the page and is the distance between the Origin and Destination. This does not take into account the exact route flown by the aircraft, but it is a fairly good approximation of the distance in nautical miles.
- Time Last Seen is the time my receiver last recorded data from the aircraft. This time is in the America/Eastern time zone, my local time.
These are not the only fields available. As mentioned above, clicking on the unique Flight ID will bring up a page with further details about that flight. The page looks like this:
The additional fields displayed on this page are:
- First Seen is the time my receiver first recorded data from the aircraft. This time is in the America/Eastern time zone, my local time.
- Tracked Time is calculated on the fly and is the amount of time in HH:MM:SS that the receiver picked up data from the aircraft.
- First Altitude is the altitude, in feet, that was reported by the aircraft at the time it was First Seen.
- Last Altitude is the altitude, in feet, that was reported by the aircraft at the time it was Last Seen.
- Flight Status is an icon indicating whether the aircraft was ascending, descending, or flying level. There is a 500-foot tolerance in either direction.
- Number of Position Reports is the number of times the aircraft reported its position during the time it was being tracked by my receiver.
- Route Overview is a Google map, generated on the fly, showing the shortest path between the cities of Origin and Destination. It is not a representation of the flight path actually flown by the aircraft.
- Tracked From/To is a Google map, generated on the fly, showing the approximate locations of the aircraft at the times it was First and Last Seen.
Acknowledgements
This portion of sonicgoose.com was made possible by the contributions of two individuals I've never met.
- Mario Trunz is an aviation enthusiast and web developer in Barrie, Ontario, Canada. Most of the code used to generate the tables at flights.sonicgoose.com was provided by him and is based on code he wrote for his own aviation website, barriespotter.com.
- Christian Sorensen is an aviation enthusiast and database developer from Denmark. He contacted me by email after seeing my tutorials on sonicgoose.com. He and I brainstormed back and forth via email to create a SQL query that spanned multiple tables on multiple databases, and essentially formed the query I use to get the data on this site from my personal computer at home.