Indexing historical ADS-B data

Besides for valo.io/2016/07/22/aviation … with-valo/ (which I’m playing with now), does anyone else have any thoughts / suggestions / solutions for indexing historical ADS-B? I’m looking to store roughly 150K positions per day, so not all that much, but a decent amount nonetheless, and keep about a month or so worth of data that can be queried and visualized.

I liked the visualization tool. Very colorful. I use the same port 30003 in a MySQL database.

I can then make a simple query like (for yesterdays flights while I was listening):


SELECT acid,(SELECT callsign FROM adsb.callsign WHERE targetecho.acid = callsign.acid),utcdetect,altitude,latitude,longitude,onground FROM adsb.targetecho where altitude < 12000 AND altitude > 0 ORDER BY acid,utcdetect;


https://www.dropbox.com/s/30097na9xwppamv/targetecho.ods

Since we are flyover country, most planes are above 30,000 feet and not very interesting, but say below 12,000 might be more interesting to look at.

Alas, it’s written in Java, and its a hurdle to get anyone to install Java on their server, let alone MySQL :slight_smile:

https://github.com/a-la-mode/ADSBMySQL

I run mysql for plenty of other things, but the Java… :wink:

I run the Mode-S Beast, so I modified the dump1090 program to get rid of all the webserver and dongle receiver bo-jive, and just connect to the USB port and spray data. It still works with piaware, so I can connect up and get MLAT data back. So I modified it to send MLAT data out the port 30003. That way I can add MLAT tracks to the database.

github.com/a-la-mode/dump1090-edgy

dropbox.com/s/ytespnr9pzg8gff/tracks.png

You are probably better running beast-splitter + dump1090 in --net-only mode. (you can disable the webserver bits from the command line)
(notably, using dump1090 to connect to the Beast prevents the beast configuration commands that faup1090 / fa-mlat-client send from being effective)

fa-mlat-client also provides mlat data in 30003-like format on 30106 directly.

obj, I know you were replying to edgy and not me, but what would you recommend for a user of a FlightFeeder (blue FF running 7.2). I have base station format data on 30003; from what I understand, that should include MLAT, right? (I have very very very little MLAT in my region, so I can’t really tell my looking). I don’t see anything on 30106, but it is listening; is this basestation data for MLAT only, not including regular responses?

I probably just need to modify the SQL program to grab the beast-splitter raw data and convert that to heading, altitude, speed, position and then dump1090 would be redundant.

Maybe beast-splitter can have a port 30003 one day (or something better, as I know 30003 is kind of dated).

FFs produce mlat output (only) on 30105 (Beast) and 30106 (Basestation). They don’t mix the mlat data into the 30003/30005 output to reduce the risk of it getting looped back as real ADS-B data.

fa-mlat-client also provides mlat data in 30003-like format on 30106 directly.

Hmm, I don’t see that port listed in netstat. Is there a command-line switch to enable that?

Mine says:


fa-mlat-client --input-connect localhost:30005 --results beast,connect,localhost:30104 --udp-transport xx.xx.xx.xx:8334:2750541997

Gotcha. So just to confirm, if I want both, I have to manually combine 30003 and 30106, right?

Ah, it’s a change to the defaults in piaware 3 (+ FFs)

You can tweak mlat-results-format on piaware 2 to get the same effect.