expert on this, and this is only a hobby project. Some of what follows might be incorrect or hearsay, but broadly it’s correct. So, how do we find out which airport an aeroplane is bound for?
“automatic dependent surveillance-broadcast”. Aircraft constantly broadcast information such as speed, position, altitude - this can be picked up by ground stations, other aircraft, potentially even satellites. More like a distributed system.
then feed back into flightradar24 who use the aggregated data to produce realtime maps. I wanted to build up a database of flights over my house to find out where they were going to.
up using a $15 USB DVB/FM stick. The supplied aerial can pick up aircraft in a ~10 miles radius. Alternatively you can build your own aerial using a wire coat hanger and pick up aircraft hundreds of miles away.
decoded using the dump1090 software https://github.com/MalcolmRobb/dump1090 which can in turn stream out the decoded messages over tcp network connection.
‘wherearetheyflyingto’ in go - a high performance language from google. I knew it would have no problem with the amount of data being received. Internally it’s built from a number of components. The ‘collector’ assembles information about a flight from the various messages it transmits. It stores this in a lightweight, expirable, in-memory cache.
‘overhead’ component determines whether a flight has passed overhead. Overhead is quite an imprecise term though and what constitutes ‘overhead’ is actually determined in part by the altitude of the aircraft.
Website Website overhead? wherearetheyflyingto The Destination Finder component takes a flight number and retrieves the destination latitude-longitude by means of screen scraping various websites. The website sources are independent and pluggable (ie you can choose at runtime which sources to use) and take advantage of go’s interfaces.
Website Website overhead? wherearetheyflyingto Logs logger Once a complete set of data for an aircraft flying overhead - altitude, position and destination - has been collected the logger component writes an entry to a log file. This is aggregated in a centralised logging system which then pushes a notification to a slack channel…
Website Website overhead? output wherearetheyflyingto DB Logs logger …the output component then also writes a record to a db. Periodically this database is queried and produces new data for a heat map - this is published using github’s publishing framework, github-pages at https://andrewl.github.io/wherearetheyflyingto
27000 feet - usually seen leaving vapour trails are destined for locations nearer to home - including Paris, Netherlands, Bristol, Birmingham, Newcastle and Dublin