Project Horus - Browser-Based HAB Chase Map
 
 
 
 
 
Go to file
Mark Jessop 4e6439ca83 Update readme. 2018-07-29 18:18:31 +09:30
chasemapper Add telemetry source profiles, which can be selected from within the web client. 2018-07-27 21:47:17 +09:30
doc Update readme and screenshot 2018-07-27 22:03:55 +09:30
gfs Add GFS subdirectory. 2018-07-28 12:07:11 +09:30
static Add log messages to sidebar. 2018-07-27 22:32:20 +09:30
templates Add some error handling to telemetry parsing. Fix burst tooltip display. 2018-07-28 14:47:51 +09:30
LICENSE
README.md Update readme. 2018-07-29 18:18:31 +09:30
horusmapper.cfg.example Add telemetry source profiles, which can be selected from within the web client. 2018-07-27 21:47:17 +09:30
horusmapper.py Add some error handling to telemetry parsing. Fix burst tooltip display. 2018-07-28 14:47:51 +09:30

README.md

Project Horus - Browser-Based HAB Chase Map

Note: This is a work-in-progress. Features may be incomplete or non-functional!

This folder contains code to display payload (and chase car!) position data in a web browser:

ChaseMapper Screenshot

The general idea is this application is run on something like a Raspberry Pi (could be the same one that's running radiosonde_auto_rx?) and is accessed from a tablet or laptop computer via a web browser.

For this to run, you will need the horuslib library installed. Refer to the Installation guide.

You also need flask, and flask-socketio, which can be installed using pip:

$ sudo pip install flask flask-socketio

You can then clone this repository with:

$ git clone https://github.com/projecthorus/chasemapper.git

Configuration & Startup

Many settings are defined in the horusmapper.cfg configuration file. Create a copy of the example config file using

$ cp horusmapper.cfg.example horusmapper.cfg

Edit this file with your preferred text editor. The configuration file is fairly descriptive - you will need to set:

  • At least one telemetry 'profile', which defines where payload and (optionally) car position telemetry data is sourced from.
  • A default latitude and longitude for the map to centre on.

You can then start-up the horusmapper server with:

$ python horusmapper.py

The server can be stopped with CTRL+C. Sometimes the server doesn't stop cleanly and may the process may need to be killed. (Sorry!)

You should then be able to access the webpage by visiting http://your_ip_here:5001/

Live Predictions

We can also run live predictions of the flight path.

To do this you need cusf_predictor_wrapper and it's dependencies installed. Refer to the documentation on how to install this.

Once compiled and installed, you will need to:

  • Copy the 'pred' binary into this directory. If using the Windows build, this will be pred.exe; under Linux/OSX, just pred.
  • Copy the 'get_wind_data.py' script from cusf_predictor_wrapper/apps into this directory.

You will then need to modify the horusmapper.cfg Predictor section setting as necessary to reflect the predictory binary location, the appropriate model_download command, and set [predictor] predictor_enabled = True

You can then click 'Download Model' in the web interface's setting tab to trigger a download of the latest GFS model data. Predictions will start automatically once a valid model is available.

Chase Car Positions

At the moment Chasemapper only supports receiving chase-car positions via Horus UDP messages. These can be generated by the ChaseTracker application from horus_utils. This application can also plot your position onto the tracker.habhub.org map, so others can see when you're out balloon chasing.

Eventually support will be added to get car positions from either GPSD, or from the client's device.

Offline Mapping

(This is a work in progress) By default Chasemapper is configured to use the online OSM and ESRI Satellite tileservers. There is also an 'offline OSM' entry in the map layer list (top right of the page), which attempt to gather maps from http://server_ip:8080/roads/{z}/{x}/{y}.png. I've been doing some testing with using Tilestache as a lightweight tileserver, serving tiles from mbtiles files. A guide on how to cache up OSM data for use with Tilestache is TBD...

(If anyone has managed to get ECW support working in GDAL recently, please contact me! I would like to convert some topographic maps in ECW format to tiles for use with Chasemapper.)

Contacts

You can often find me in the #highaltitude IRC Channel on Freenode.