methods to show flight info labels directly on dump1090 map?

Hi all -

I have just successfully set up a Raspberry Pi with the Flightaware Pro stick, and a simple antenna, and running the dump1090 map server seems to be already great for my initial purposes.

However, I would like this to be used as a map display in a sort of public office location, and not having people clicking all over the window to explore individual aircraft.

I would rather the airplane icons just already have text labels next to them with the flight #, altitude, airspeed, etc. So people can see immediatelyl which plane it is flying overhead (for example).

Is there a way the dump1090 map can be made to do this? Or is there a straightforward application that you all prefer instead? We all use Macs (aside from the Raspberry PI). All the software I see in searching is Windows.

Thanks for any suggestions!

Check out VRS
virtualradarserver.co.uk/
Should work on MACs

or planeplotter (Windows Only I think)
coaa.co.uk/planeplotter.htm

They are great for displaying traffic.

You could also use the FA site itself. Login and you get more data and less ads.
es.flightaware.com/live/map

planeplotter can run on a rpi with help from other program similar to virtual machine virtual radar also.

Sent from my SM-N910F using Tapatalk

Thank you both for your replies! I will have a look.

I see however that the PlanePlotter on RPi option is not actually the plotting of the planes on the RPi in an application / page for display – it’s to use the RPi output to feed a PlanePlotter program running on a Windows machine (if I understand the webpage correctly). The ppup program seems to be a simple dumping routine to pipe to a machine running PP… ?

If you are using the openlayers dump1090, then this may help:

In planeObject.js, around line 308 in ‘PlaneObject.prototype.updateIcon = function()’
replace:


                } else {
                        this.markerIcon = icon;
                        this.markerStyle = new ol.style.Style({
                                image: this.markerIcon
                        });
                        this.markerStaticIcon = null;
                        this.markerStaticStyle = new ol.style.Style({});
                }

with:


                } else {
                        this.markerIcon = icon;

                        var labelText = '';
                        labelText     = (this.flight ? 'Call: '+this.flight : 'No Call');
                        labelText     = labelText +'
 ICAO: '+this.icao ;
                        labelText     = labelText +'
Alt: '+ (this.altitude ? parseInt(this.altitude/100) : '?');

                        this.markerStyle = new ol.style.Style({

                               text: new ol.style.Text({
                                        text: labelText ,
                                        fill: new ol.style.Fill({color: 'yellow'}),
                                        stroke: new ol.style.Stroke({color: this.labelColour, width: 4}),
                                        textAlign: 'left',
                                        textBaseline: "bottom",
                                        font: 'normal 10px tahoma',
                                        offsetX: +15,
                                        offsetY: +30
                                }),

                                image: this.markerIcon
                        });
                        this.markerStaticIcon = null;
                        this.markerStaticStyle = new ol.style.Style({});

                }

to give something like: https://dl.dropboxusercontent.com/u/12973352/label.jpg

Thanks so much for that suggestion! That looks like a great solution. I have downloaded the mutability version of dump1090 and I see the planeObject.js lines of code you mentioned.

One very dumb question I have – I just tried to start up the server in this version of the code. However, the Raspberry PI’s 192.168.x.x:8080 map output web page under the old version no longer is accessible. I get a Chrome browser error: “This site can’t be reached
192.168.x.x refused to connect.”

Was there something about the mutability version that changed the web server configurations? Am I missing something very simple?

I have tried invoking ./dump1090 (mutability) with the flags:
–interactive --net --net-bind-address 192.168.x.x --net-http-port 8080

to be explicit and get it back working, but to no avail. I also tried accessing it at 127.0.0.1:8080/ but also no luck.

Any tips? Thank you so much.

i would have thought that you could just replace the html folder from mutability to where ever your previous version was. However before trying that just check 192.168.1.11/dump1090/gmap.html)

Al

I forgot about the apple TV application someone had made
post198170.html?hilit=apple%20tv#p198170

It is not cheap, $10 I think, however, it may do what you want.
I haven’t used it so can’t comment on its value.

Just to clarify on ppup. PPUP1090 is a rpi program that uploads directly to the planeplotter server.
I run planeplotter on a windows desktop taking the feed from rpi running dump1090-FA (FA feeder site 2394) which also runs ppup1090 to upload directly to the server in the UK. It works for me, YMMV

Thanks for your multiple tips - this worked great. It took me a few tries to sort out installing the dump1090-mutability version separately from the previous version, and then to fiddle with the text in the config file, but it worked.

Thanks!

Two other questions if I can ask your further expert advice!

  1. Is there a layer I could activate to get the entire background maps area to be lighter or darker (like have it appear more as a very light or dark background) so that the planes appear more distinct against the map? Or have the map setting/layer itself show less contrasty or grab fewer map elements (like discard distracting highway exit numbers, railroads, etc)?

  2. Is there a way I could have all planes show their historical track without clicking on them individually? Would that be turning off the “clearLines” function in the planeObjects.js file? But how to get them to show up without clicking?

Thanks!

A lighter map here:
ads-b-flight-tracking-f21/less-definition-map-osm-t38364.html
that I found here:
blog.programster.org/openlayers- … osm-tiles/

I hope that helps

This is a bit of a blunt hammer (eg you really need to refine it with an on/off button), but in
planeObject.js, procedure PlaneObject.prototype.updateLines, comment out the first two lines!


// Update our planes tail line,
PlaneObject.prototype.updateLines = function() {
        //if (!this.selected)
        //        return;

        if (this.track_linesegs.length == 0)
                return;

        var estimateStyle = new ol.style.Style({
                stroke: new ol.style.Stroke({
                        color: '#a08080',
                        width: 1.5,
                        lineDash: [3, 3]
                })
        });

Thank you so much! These tips worked out great!

I tried this on the dump1090-fa, planeObject.js file located in /usr/share/dump1090-fa/html, but it does not seem to work.

How could this be done on the dump1090-fa installation?

I tried this on the dump1090-fa, planeObject.js file located in /usr/share/dump1090-fa/html, but it does not seem to work.

How could this be done on the dump1090-fa installation?

Are you sure that that directory is the one being used by the web server? If you create a backup copy of the planeObject.js file, and edit the live one, does it cause any change in the displayed icons? If not, then you may be editing the wrong instance of the file?

It was in fact the correct file and location.
Just had to reboot the system. :blush:

Thank you for this!

This is great! It was a bit much on my screen with 80 planes visible so I simplified it to only display the identifier. The sole entry for labelText is:

                    labelText     = (this.flight ? this.flight : ' ');

And moved it very close to the plane icon:

                                    offsetX: +10,
                                    offsetY: +5

Agreed, in reality I use these two additional lines so that the labels only appear when I zoom to an area/plane of interest


                    var zmm = OLMap.getView().getZoom();
                        if (zmm <= 8) labelText = '';



                } else {
                        this.markerIcon = icon;

                        var labelText = '';
                        labelText     = (this.flight ? 'Call: '+this.flight : 'No Call');
                        labelText     = labelText +'
 ICAO: '+this.icao ;
                        labelText     = labelText +'
Alt: '+ (this.altitude ? parseInt(this.altitude/100) : '?');

                        // Selective labeling
                        var zmm = OLMap.getView().getZoom();
                        if (zmm <= 8) labelText = '';

                        this.markerStyle = new ol.style.Style({

                              text: new ol.style.Text({
                                      text: labelText ,
                                      fill: new ol.style.Fill({color: 'yellow'}),
                                      stroke: new ol.style.Stroke({color: this.labelColour, width: 4}),
                                      textAlign: 'left',
                                      textBaseline: "bottom",
                                      font: 'normal 10px tahoma',
                                      offsetX: +15,
                                      offsetY: +30
                               }),

                               image: this.markerIcon
                        });
                        this.markerStaticIcon = null;
                        this.markerStaticStyle = new ol.style.Style({});

                }


This is great!