itmlogic - Longley-Rice Irregular Terrain Model¶
Welcome to the documentation for itmlogic!
These docs provide an overview of the python implementation of the classic Longley-Rice propagation model. For in-depth detail on the engineering model we advise you to refer to the original Longley-Rice documents provided in the repo folder named References.
Description¶
The Longley-Rice Irregular Terrain Model is one of the classic radio propagation models. The model is still widely used, particularly in industry. In comparison with other radio models, Longley-Rice accounts for various physical effects that result from irregular terrain.
Statement of Need¶
Many engineering models for wireless networks completely ignore terrain effects. While software packages are available to address this, they usually need to be commerically licensed. Those that are open-source are usually in less commonly used languages such as Fortran. This open-source python package overcomes these limitations by providing an easy-to-use Python version. Given the popularity of Python, there is a need for an easy-to-use Python version of this model.
Setup and configuration¶
All code for itmlogic
is written in Python (Python>=3.7).
See requirements.txt for a full list of dependencies.
Conda¶
The recommended installation method is to use conda, which handles packages and virtual environments, along with the conda-forge channel which has a host of pre-built libraries and packages.
Create a conda environment called itmlogic
type:
conda create --name itmlogic python=3.7 gdal
Activate it (run this each time you switch projects):
conda activate itmlogic
Install any optional packages:
conda install numpy fiona shapely rtree rasterio pyproj tqdm pytest
For development purposes, clone this repository and run:
python setup.py develop
Run the tests:
python -m pytest
Quick start¶
If you want to quickly generate results run using area prediction mode type:
python scripts/area.py
Or using point-to-point mode type:
python scripts/p2p.py