Skip to main content

Python 3.5 tools to produce radio signal coverage reports, mostly for New Zealand

Project description

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

docs/images/signal_strength_contours.png docs/images/legend.png

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:

docs/images/S36E173_satellite_los.png

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

Installation

  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 imagemagick

  2. Create a Python 3.5 virtual environment

  3. In your virtual environment, install Wavetrace via Pip via pip install wavetrace

Usage

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.

Documentation

In docs and on Rawgit here

Further Reading

Authors

  • Chris Guest (2013-06)

  • Alex Raichev (2016-08)

Changelog

v3.0.1, 2016-12-15

  • Repackaged with setuptools and ensured that the README is included in tar archive this time

v3.0.0, 2016-08-22

  • Added functions to compute line-of-sight for geostationary satellites

  • Renamed some functions, hence the version bump

v2.0.0, 2016-08-22

  • Complete refactor and conversion into a Python package

v1.0.0, 2013

  • Initial version

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wavetrace-3.0.2.tar.gz (53.5 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page