The Longley-Rice coverage maps on RabbitEars are produced with open-source software that is designed to be run on open-source operating systems. This page has been created to allow others to generate maps of their own, either for personal use, or to upload a map to an external server, such as the RabbitEars website.
There are several things you will need:
- An installed Linux operating system with these dependencies: (Package names may vary)
- gcc
- lzma
- perl
- imagemagick
- libbz2-dev
- libgd2-xpm-dev
- libgd-gd2-perl
- libmath-round-perl
- libwww-perl
- ncftp
- postfix or sendmail (Only required if you wish to send e-mail notifications)
- libproc-simple-perl (May not be necessary)
- SPLAT
- Bob Nelson's Files
- SRTM 3-Degree Terrain Data (This is several gigabytes.)
As I am a user of
Sidux Linux, I will present this guide in a manner that should make it simple for users of
Debian-based distributions, such as Debian,
Ubuntu, or Sidux.
The first step is to install your Linux environment, if it is not already installed. Installation of Linux operating systems is covered by a plethora of other tutorials, and thus is outside the scope of this guide. Once the installation has been completed, open a command line window and be prepared to either enter, copy and paste, or adapt the following commands for your own specific Linux distribution.
You will first want to make a directory for your mapmaking environment, and move into that directory:
mkdir splat && cd splat
It is necessary to install the dependencies, as noted above. If you are running Ubuntu, you will already have sudo configured out of the box. If not, you will need to use
su to elevate your permissions. Now, install the dependencies:
sudo apt-get install build-essential lzma perl imagemagick libbz2-dev libgd2-xpm-dev libgd-gd2-perl libmath-round-perl libwww-perl ncftp postfix libproc-simple-perl
On some systems I have configured for this process, I found it was unnecessary to install libproc-simple-perl. You will need to adjust your command accordingly. You will also need to configure postfix, if you choose to install it. The steps for doing so are also beyond the scope of this tutorial.
The next step is to download and unpack Bob Nelson\'s files as well as the files for compiling SPLAT:
wget -c http://www.ibiblio.org/pub/linux/apps/ham/splat-1.3.0.tar.bz2 && tar -xjvf splat-1.3.0.tar.bz2 && wget -c http://www.rabbitears.info/coverage/re_nelson_files.tar.lzma && lzma -d re_nelson_files.tar.lzma && tar -xvf re_nelson_files.tar
Next, you will need to patch SPLAT with Bob Nelson\'s patch and build it. The way SPLAT is coded when it comes raw out of the tarball, it spends processor cycles producing a map in PPM format on every run regardless of whether or not it is needed. For our purposes, it is not. This patch simply adds a flag that optionally prevents SPLAT from generating that map and thus wasting those additional processor cycles:
cd splat-1.3.0
patch -Np1 -i ../splat.cpp.diff
./configure
At this point, the installer asks some questions. When it asks for the maximum analysis region, choose 8 both times. It should then build successfully. At the end, you will need to install the compiled program files. Once you\'ve installed the files, you need to return to your splat directory:
sudo ./install all
cd ..
Now it is time to download the terrain data. This can be a very slow process if your connection is slow. You will, however, need to keep an eye on it. After a while, it will finish downloading data for North America and begin downloading data for Africa; at this point, the process should be stopped by pressing Ctrl+C:
wget -rc https://e4ftl01.cr.usgs.gov/MEASURES/SRTMGL3.003/2000.02.11/
With the terrain data downloaded, we must process it in order to convert it into a format that SPLAT can understand and then put it in the proper directory. The tool that comes with SPLAT only provides for converting one file at a time. I wrote a script, that Bob cleaned up and improved, which automatically converts all of them with one command:
mkdir terraindata && ln -sf e4ftl01.cr.usgs.gov/MEASURES/SRTMGL3.003/2000.02.11/ && ./hgtstuff.sh
Once this is done, you can confirm that the terrain data is present and delete the original files. When you finish, create the four directories that Bob\'s scripts require to function properly in case they do not already exist, and you have a fully-functional mapmaking system prepared for use! =)
ls terraindata
rm North_America && rm -r e4ftl01.cr.usgs.gov
mkdir -p fcc_data && mkdir -p input && mkdir -p output && mkdir -p output/html
Now that this environment is set up, you can begin actually generating coverage maps. There are three ways to do this:
- Singular retrieval from the database
- Multiple retrieval from the database
- Preparation by hand