AisCoverage is a tool for calculating how well AIS receivers (sources) cover a geographical area. This information is useful for determining the range of a source, if a source is malfunctioning, if a source is redundant etc. Furthermore it can be used to see how different parameters (like the weather) affect the coverage. The tool runs as a background process analyzing a stream of AIS messages either from live data sources or a file. The connection capabilities are provided by the AisLib, which is a middleware Java component used to retrieve AIS messages from various sources (live sources or files). Read more
- Java 1.7
mvn clean install
Developing in Eclipse
M2 Eclipse plugin or
A distributable zip file is found here.
Be aware: As it contains executable files, your browser may post a warning when you download the file.
When you have downloaded the zip file, extract it to your desired location, and open the folder.
Modify the configuration file (configuration.xml)to suit your needs (For guidance, Look at the 4 configuration samples (also included)). If you will be using several standart configurations you can edit the -file part in the bat file to point at the configuration file you wish you use for the given test
A Sample data file is included, and the used configuration file is set up to use this sample data.
So you only need need to modify the configuration file, to run your own data.
Run the coverage.bat file (windows) or the coverage.sh file (linux) to start the coverage-analysis. While the service is running, you can view the progress/result by opening your browser at the address given in the configuration file (sample-default-address = localhost:8090/coverage/)
When running tests from files, please use the memory only option.
When running tests over longer periods using mongodb you might experience some issues. A solution to this, is being worked on.
The current release makes it possible to see the coverage within a limited timespan, down to a single hour, and with 1 hour intervals.
The data is currently only persisted in memory, so might make an out of memory error, if run over longer amounts of time.
A sample of how satalite data coverage will be handled is possible, by pressing ctrl, and dragging the mouse over the area of interest.
Examples of configuration files can be found here:
Read from a file
Read from a live stream using a TCP connection
Keep coverage results in memory only
Store coverage results using an instance of MongoDB (Remember to install MongoDB)
This library is provided under the LGPL, version 3.