I started running a FlightAware feeder in late March and have been looking at ways to improve reception. The PiAware stats page has the handy polar graph that shows aircraft/positions along each of the cardinal directions and range rings, but it doesn’t show the minimum altitude in each sector. I have been playing around with a way to present that information and created the graph shown below.
To run this I am pulling the /var/dump1090-fa/*.json files over to another host and processing the history files in order based on their timestamps. If I find a valid ICAO, lat, long, alt_baro then I look for the lowest altitude in each sector. I run this every 30 minutes and store the results.
After a little more code cleanup I may put a repository on GitHub and throw the code out there. It’s all written in PHP and uses standard JSON files for storage. I may integrate with a database at some point but haven’t gone down that path yet.
There are several pieces of code that were written to be reused as libraries. These include:
- Calculate Cardinal directions and range rings based on two GPS coordinates
- Convert ICAO Hex to N-Number (US Only)
- Create SVG Polar graphs
I’m also working on one more feature to calculate the track length for aircraft over time. It’s interesting to see instances where my receiver has tracked an aircraft continuously for well over 200 miles. More to do on this one.
Let me know if you’d be interested in the code.
Diggy
Setup
Raspberry Pi 3B+
PiAware SD Card
FlightAware Pro Stick Plus
1090 MHz dipole