18 Hours of Overflights

I’ve been detecting and archiving ADS-B position reports from airplanes flying over Prince Edward Island for the last 18 hours; here’s a map of what my little Raspberry Pi has picked up:

That’s a simple visualization of the positions recorded created using GeoJSON.io. To allow me to see individual planes’ tracks, I dumped the data points into a CSV file, edited it, and then ran it through GPS Visualizer:

Flights over PEI

There were 1,095 position reports received from 37 distinct flights (here’s the raw data should you wish to experiment with it yourself):

  • AAL42
  • AAL50
  • AAL78
  • AAL80
  • AAL86
  • ACA848
  • ACA878
  • AWE722
  • AWE750
  • AZA610
  • AZA65F
  • BAW196
  • BAW81V
  • CJT621
  • DAL24
  • DAL72
  • DLH425
  • DLH431
  • DLH435
  • EIN104
  • EIN138
  • ETD150
  • FDX36
  • ICE630
  • KLM18
  • N800J
  • NAX7012
  • QTR764
  • QTR8102
  • SAS926
  • SWR52
  • THY18A
  • UAL114
  • UAL126
  • UAL58
  • VIR12E
  • WJA424

You can enter those flight numbers into Google, or into FlightAware, and see the flight details: when you do this you’ll notice that the vast majority of the flights were flying above 30,000 feet and were heading to or from Europe: none of the local flights from Charlottetown Airport were detected, likely because the ADS-B receiver I’m using is on the windowsill over my office downtown, and doesn’t have line-of-sight to local flight paths.

My next step, thus, is to put an antenna up on the roof.


Peter Rukavina's picture
Peter Rukavina on March 12, 2015 - 13:56 Permalink
Just a warning: if you do go ahead and look up some of those flights in Google, you might find your overly-helpful Android phone starts sending you notifications about flight delays.
Lori's picture
Lori on March 12, 2015 - 16:55 Permalink

This is really fascinating. I notice there are no flights west of (approximately) the Prince/Queens county line. Is that a product of your parameters (and go easy, I only understood some of this: I have no idea what a csv file is!)

Peter Rukavina's picture
Peter Rukavina on March 12, 2015 - 17:47 Permalink

I think this is simply a byproduct of (a) where my receiver is located, on an east-facing window surrounded by taller downtown buildings and, possibly (b) that there is a “track” for trans-Atlantic airplanes to follow that leads over eastern PEI (although there might be other tracks over western PEI that I’m simply not picking up planes from because of receiption issues).

CSV is short for “comma-separated value” and is a format for representing data in a file. Here’s what a CSV file recording airplane positions looks like, in part:

03/11/2015 19:13:04,CJT621,46.317242,-63.4617,19700
03/11/2015 19:13:15,CJT621,46.315333,-63.472755,19400

If you think about a spreadsheet (and, indeed, you can import a CSV into a spreadsheet), the first line defines the “column names” – short forms for Date Recorded, Flight, Latitude, Longitude, Altitude – which are separated by commas, and the second and following lines are the “rows” of data, with each value separated by a comma.

So from this tiny CSV we can tell that on March 11, 2015 at 7:13 p.m., flight number CJT621 flew near PEI at an altitude of 19,700 feet.

Aubrey Bell's picture
Aubrey Bell on March 12, 2015 - 20:08 Permalink

What do you plan to do with the data?

Peter Rukavina's picture
Peter Rukavina on March 13, 2015 - 14:39 Permalink

Here’s what FlightAware displays as the “Coverage Distribution” for my receiver, which, as Lori noted, is primarily to the east-southeast.

FlightAware Coverage Distribution

I’m talking to the folks here at the office about getting roof access to allow for an antenna to be installed.

Lori's picture
Lori on March 14, 2015 - 12:58 Permalink

Thanks for the explanation. The positioning of your attenae does make sense: I see aircraft overhead all the time here in Richmond, so know they're up there