Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Wavetrace is a Python 3.5 package designed to produce radio signal coverage reports, such as GeoTIFF files of signal strength contours,



given radio transmitter data and topography data around the transmitters. It uses SPLAT! to predict the attenuation of radio signals, which implements a Longley-Rice model.

Wavetrace can also compute line-of-site maps for geostationary satellites:


Wavetrace is intended for use in New Zealand but can be configured to work elsewhere on Earth.


  1. Install SPLAT! >= 1.4.0, GDAL >= 1.11, and ImageMagick. For example, to install these on a Linux system do sudo apt-get update; sudo apt-get install splat gdal-bin python-gdal imagemagick
  2. Create a Python 3.5 virtual environment
  3. In your virtual environment, install Wavetrace via Pip via pip install wavetrace


Here is a common workflow for computing radio signal coverage reports for terrestrial transmitters.

  1. Create a CSV file containing transmitter data; see tests/data/transmitters.csv
  2. Process the transmitter data into SPLAT! files via the function wavetrace.main.process_transmitters
  3. Download topography data around the transmitters via the functions wavetrace.main.compute_tiles and wavetrace.main.download_topography. Topography data comes in two flavors: SRTM3 (standard definition; 3 arc second resolution; roughly 66 meters at 45 degrees south latitude) or SRTM1 (high definition; 1 arc second resolution; roughly 22 meters at 45 degrees south latitude). SPLAT! can only handle those two formats.
  4. Process the topography data into SPLAT! files via the function wavetrace.main.process_topography
  5. Compute signal coverage reports, which include GeoTIFF signal strength contour maps, from the processed transmitter and topography data via the function wavetrace.main.compute_coverage

See the IPython notebook ipynb/examples.ipynb for a detailed example.

Additionally, you can call the most useful functions in the module wavetrace.main through Wavey, a command line interface for Wavetrace implemented in the module wavetrace.cli.


In docs and on Rawgit here

Further Reading


  • Chris Guest (2013-06)
  • Alex Raichev (2016-08)