All scripts here use gnuplot.
This script obtains data from the rrd database collected with graphs1090 by wiedehopf.
Graphs1090 configuration /etc/default/graphs1090
should be edited to enable daily export of data for creation of scatter plots:
# enable data collection for caius scatter graphs
enable_scatter=yes
Usage is:
./compare.sh <date1> <duration1> <date2> <duration2>
where the dates are the start date of each period and duration is how long in days to compare. eg:
./compare.sh 2019-07-10 10 2019-08-01 7
Example output comparing two different LNAs:
This script uses data collected either directly from dump1090-fa, or from timelapse1090. It collects aircraft positions, altitudes and signal strengths, and then calculates azimuth, range and elevation to each aircraft from the receiver position. Points are coloured by signal strength, and can be used to help identify receiver blindspots or terrain limitations. Plots produced include:
- Azimuth/Elevation plot.
- Position/Signal strength heatmaps for high, low, and all altitudes.
- Range/Altitude plot.
Prerequisites for running this are: gawk, and gnuplot 5.2 or later. These are not included in rasbian stretch or the piaware image by default, but can be installed by doing:
sudo apt update
sudo apt install gawk
sudo apt install liblua5.3
sudo apt install gnuplot-data gnuplot-nox
sudo apt install jq aglfn
cat /etc/os-release | grep PRETTY
# the following is not required on Raspbian Buster, only on Stretch:
wget -O gnuplot-data.deb http://ftp.debian.org/debian/pool/main/g/gnuplot/gnuplot-data_5.2.6+dfsg1-1+deb10u1_all.deb
wget -O gnuplot-nox.deb http://ftp.debian.org/debian/pool/main/g/gnuplot/gnuplot-nox_5.2.6+dfsg1-1+deb10u1_armhf.deb
sudo dpkg -i gnuplot-nox.deb gnuplot-data.deb
The current version of the script requires a https://www.heywhatsthat.com/ ID to generate a horizon profile and range ring - this should be set in the variables at the top of the script along with receiver height and position.
To collect live data give the first argument as duration in minutes, and the second as the interval in seconds between samples: You need to set your receiver location and height in metres at the top of the script prior to running.
./polar.sh 120 5
Alternatively, invoke the script like this to use data collected by timelapse1090:
bash polar.sh -1
If run directly on the pi collecting data, local data will be used. If run on a separate machine, it will attempt to retrieve the data from the pi specified at the top of the script and then generate the graphs. This is recommended if plotting long periods and short intervals due to the large number of data points generated. Data collected is saved in a file similar to polarheatmap-2019-08-05.
Example output:
This script uses data generated by polar.sh to plot a position heatmap coloured by altitudes. Usage example:
./altitude.sh polarheatmap-2019-08-05
Original heatmap script. Usage is similar to polar.sh, except it must be run on the local machine. Plots are made using latitude and longitude directly, so while accurate may be a little distorted depending on your latitude.