Signal Strength Heatmap

We had some high winds yesterday so I took a 1 hour snapshot. Heathrow is due East of me.

Iā€™m the opposite side of London to you. Itā€™s quite interesting watching the effect of weather on operations. When there are thunderstorms about planes often divert around them, which should make for some interesting patterns.

Bad Weather 25 july in UK , holding above Netherlands

1 Like

Was that the day it was ridiculously hot? There was a very large band of thunderstorms moving up the east coast that evening and loads of planes diverted far north over the Wash to get around them.

Yes correct

1 Like

Iā€™ve tidied up the polar script a bit and modified it so that it can now run on a remote system using timelapse1090 data - you might want to do this if you are running an airspy and want to avoid overloading your pi, or otherwise have limited cpu/ram.

If you want to collect data directly on the pi as the script runs, do this:

./polar.sh <minutes to collect> <interval in seconds>
eg ./polar.sh 120 2

If you want to use timelapse1090 data instead, you can do this:
bash polar.sh -1

The script should detect whether the data is present on the local machine, and if so will use it. If you run it on a separate machine, set the address of the pi and username at the top of the script, and it will attempt to pull the data across using rsync.

It might be preferable to do this for plotting long periods of time, and especially if your timelapse interval is short because large data sets can take a considerable amount of time to plot on a pi.

The script location is the same:
https://raw.githubusercontent.com/caiusseverus/adsbcompare/master/polar.sh

Edit - if you donā€™t have another linux machine, you can also run this script with the Linux for Windows subsystem which gives you a working bash shell on Windows. Itā€™s not quite as fast running natively on linux, but if you have a relatively modern machine it will be massively faster than a pi.

1 Like

Iā€™ve added some overlays to the plots using data from Heywhatsthat. Maximum range at 40000 feet is added to heatmap plots:

Terrain limit is added to the altitude/range plot. This is the best case range taken from all bearings, so in theory you should see very few aircraft plotted below the green line:

Pseudo-horizon line added to the elevation plot. This is a (very) rough approximation of the terrain shape from the upintheairdata file. It does seem to fit the data quite well, but your mileage may vary. There is probably a way to calculate this exactly, so if anyone who actually likes doing spherical trigonometry wants to have a go please feel free:

1 Like

Cool.

I made a little heat.html page so I didnā€™t have to open file browsing to the sub directory and stuck it at /run/dump1090-fa/heat.html
to make it easy to load them by just hitting the local url
http://127.0.0.1/dump1090-fa/data/heat.html

I guess you canā€™t quote html in the html-aware posts heh.

1 Like

you can put it in a code block using 3 backticks on an extra line.

```

This is a code block
<html>
</html>

```

oeps .?

Number of data points collected: 1574393
Calculating Range, Azimuth and Elevation data:
awk: not an option: -i
Filtering altitudes

What OS are you running on? Itā€™s possible you have an earlier version of awk without inplace editing.
Can you do awk -W version to see what it is?

running on pi4 busterā€¦:wink:

awk -W
awk: option -W lacks argument

ā€œVersionā€ is part of the command:

awk -W version

Interesting that you have Buster - so do I, and I havenā€™t changed the awk version. Anyway, if you do:
apt install gawk

That should fix the error.

awk -W version
mawk 1.3.3 Nov 1996, Copyright (C) Michael D. Brennan

compiled limits:
max NF 32767
sprintf buffer 1020

mawk doesnā€™t have in place editing, itā€™s intended to be a faster implementation of awk. There are a lot of different versions of it which are broadly compatible, but differ in small ways. Linux usually has mawk or gawk installed and the awk command is linked to it. Installing gawk will resolve that problem.

itsā€™s running :slightly_smiling_face: thanks

Number of data points collected: 3166138
Calculating Range, Azimuth and Elevation data:

Ah you removed it while I was investigating. :slightly_smiling_face: Guess you resolved it yourself.

Sorry ā€¦Missed the hwt IDā€¦ and tryā€™ing again

I should probably put something in to trap that. There is no error handling for a missing ID at the moment.

There is still a problem ā€¦

Processing heywhatsthat.com data:

/home/pi/upintheair.json

polar-2.sh: line 151: /tmp/tmp.4rH5zXulq0/: Is a directory
polar-2.sh: line 151: /tmp/tmp.4rH5zXulq0/: Is a directory
polar-2.sh: line 151: /tmp/tmp.4rH5zXulq0/: Is a directory
polar-2.sh: line 151: /tmp/tmp.4rH5zXulq0/: Is a directory


iā€™m running the script on same PI4 , so i put in the local-ip adress

#Set raspberry pi IP or hostname here:
pi=192.168.1.20