Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
2670f8e
Ignore IntelliJ files in git
johnmartel Feb 21, 2017
eb520b7
Fix NPE on getting status when no message received
johnmartel Feb 23, 2017
7c54946
Increment patch number
johnmartel Feb 23, 2017
fbb0d7c
Add Travis-CI configuration file
johnmartel Feb 23, 2017
2eae5b9
Instruct travis to build using java 8
johnmartel Feb 23, 2017
2bbea22
Store coverage data periodically to MongoDB
johnmartel Feb 23, 2017
ed483e9
Load latest saved coverage data from MongoDB
johnmartel Mar 2, 2017
8c6b733
Use the maven wrapper to build
johnmartel Mar 2, 2017
4d32514
Increase Mongo stub server timeout for tests
johnmartel Mar 2, 2017
9513164
Fix loading coverage data from saved state
johnmartel Mar 9, 2017
50c6bc7
Set system first message timestamp on load
johnmartel Mar 10, 2017
46f4093
Use minutes as the persistence interval unit
johnmartel Mar 10, 2017
67c4a34
Decrease logging verbosity for the MongoDB driver
johnmartel Mar 11, 2017
6db027c
Log database operations timing
johnmartel Mar 11, 2017
6d4374e
Use latest release versions of the DMA libraries
johnmartel Mar 11, 2017
4018bc6
Use single thread scheduled pool to persist data
johnmartel Mar 13, 2017
63fd115
Log persistence errors
johnmartel Mar 22, 2017
5c73e50
Compress persisted coverage data
johnmartel Mar 22, 2017
d0109a1
Reduce message filtering due to SoG
johnmartel Mar 25, 2017
787684e
Bump version number
johnmartel Mar 25, 2017
98a15d5
Bump version number
johnmartel Mar 13, 2017
426b462
Use SNAPSHOT version of dma-ais libraries
johnmartel Mar 13, 2017
4ea76a5
Support VSI data in cells
johnmartel Mar 14, 2017
598a53f
Do not filter out messages due to Course Over Ground
johnmartel Mar 25, 2017
2a9afe6
Make sure we only process messages when message buffer is full instea…
CAptainDAniel Mar 25, 2017
545c69f
Merge remote-tracking branch 'origin/feature/support-vsi'
johnmartel Mar 25, 2017
1f3f399
Support VSI messages
johnmartel Mar 25, 2017
18b4493
Add Coverage Type Filter in Coverage Settings
CAptainDAniel Mar 25, 2017
7e300c3
Remove unwanted file
johnmartel Mar 26, 2017
e6ed757
Associate VSI messages with their source
johnmartel Mar 26, 2017
34481e2
Fix coloring thresholds for signal strength coverage
johnmartel Mar 26, 2017
2e8510d
Fix typo in coverage type selector option
johnmartel Mar 26, 2017
e03599c
Remember thresholds when changing coverage type
johnmartel Mar 26, 2017
f20869f
Change default threshold values for signal strength
johnmartel Mar 26, 2017
1f5e159
Reformat code
johnmartel Mar 26, 2017
696806e
Add signal strength data to exports
johnmartel Mar 26, 2017
3d11b32
Do not filter out any message
johnmartel Mar 26, 2017
ae521a7
Add missing signals to specific source
johnmartel Mar 26, 2017
227f448
Ensure up-to-date cell is used for coverage calculation
johnmartel Mar 26, 2017
3ba9fac
Use persisted cell id
johnmartel Mar 28, 2017
a8b59ed
Display cells that have only missing signals
johnmartel Mar 28, 2017
3f21599
Bump version number
johnmartel Mar 28, 2017
d417c9e
Bump version number for new bugfixes
johnmartel May 15, 2017
088dda3
Change default coverage thresholds
johnmartel May 15, 2017
2ae4b91
Fix VSI coverage unit
johnmartel May 15, 2017
7f8b588
Change VSI thresholds slider's range
johnmartel May 15, 2017
2933612
Fill KML polygons with some transparency
johnmartel May 15, 2017
7edc19d
Show configuration of AisBus queue size in sample
johnmartel May 15, 2017
11f4456
Document how to run the program
johnmartel Jun 12, 2017
4eb6b6a
Enable exporting to CSV
johnmartel Jun 12, 2017
1422097
Bump version number
johnmartel Jun 12, 2017
d64743d
Fix KML placemarks fill color in Google Earth
johnmartel Jun 19, 2017
3c12b43
Log errors to a separate file
johnmartel Jun 19, 2017
bf8e917
Allow configuration of message queue size
johnmartel Jun 19, 2017
6d37acd
Handle messages of types 18 and 19
johnmartel Jun 19, 2017
fe1052f
Bump version number
johnmartel Jun 19, 2017
118bc8f
Log first message timestamp at startup
johnmartel Aug 28, 2017
782139e
Fix `Purger` handling of large window sizes
johnmartel Aug 28, 2017
59cc839
Multithread handling of incoming AIS packets
johnmartel Aug 28, 2017
50802fa
Bump version number
johnmartel Aug 28, 2017
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
mvnw.cmd eol=crlf
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,6 @@ target
.project
log
.DS_Store
coverage-test.xml
coverage-test.xml
.idea/
ais-coverage.iml
Binary file added .mvn/wrapper/maven-wrapper.jar
Binary file not shown.
1 change: 1 addition & 0 deletions .mvn/wrapper/maven-wrapper.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.3.9/apache-maven-3.3.9-bin.zip
3 changes: 3 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
language: java
jdk:
- oraclejdk8
40 changes: 35 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,19 +13,49 @@ AisCoverage is a tool for calculating how well AIS receivers (sources) cover a g

## Building ##

mvn clean install
./mvnw clean install

## Developing in Eclipse ##

M2 Eclipse plugin or

mvn eclipse:eclipse
./mvnw eclipse:eclipse

## Running

target/ais-coverage-[version]-dist/ais-coverage-[version]/coverage.sh

### Rest API ###
## Rest API ##

/coverage/rest/*

## Storing Coverage Data ##
Only MongoDB is supported at the moment. Mongo v3.4.2 or above needs to be installed and authentication is not yet supported.

Data (at the highest detailed level) is persisted by a background thread at regular (configurable) intervals. The default is 60 minutes.

## Handling incoming AIS packets

To avoid saturating the system with incoming packets, an overflow mechanism is implemented both at the `AisBus` and `CoverageHandler`
levels. The `AisBus` drops packets if lower layers of the application cannot handle more incoming packets. The `CoverageHandler` consumes the
packets provided by the bus through its consumers, but since it requires time to process every single packet, another buffer level is introduced
to let the bus provide as much packets as possible and give handling threads a chance to process messages with dropping as few as possible.

The size of the `AisBus` can be configured with the `<busQueueSize>` configuration element, while the `CoverageHandler` can be configured with the `<receivedPacketsBufferSize>` element:

```xml
<aisCoverageConfiguration>
<aisbus>
<busQueueSize>10000</busQueueSize>
</aisbus>

<receivedPacketsBufferSize>10000</receivedPacketsBufferSize>
</aisCoverageConfiguration>
```

Past these limits, the system will start overflowing and dropping packets.

### Distribution ###
## Distribution ##

A distributable zip file is found [here](http://fuka.dk/snapshots/AisCoverage-0.2.zip). <br>
Be aware: As it contains executable files, your browser may post a warning when you download the file. <br><br>
Expand All @@ -42,7 +72,7 @@ When running tests over longer periods using mongodb you might experience some i
The current release makes it possible to see the coverage within a limited timespan, down to a single hour, and with 1 hour intervals. <br>
The data is currently only persisted in memory, so might make an out of memory error, if run over longer amounts of time. <br>

A sample of how satalite data coverage will be handled is possible, by pressing ctrl, and dragging the mouse over the area of interest.
A sample of how satellite data coverage will be handled is possible, by pressing ctrl, and dragging the mouse over the area of interest.
<br>

Examples of configuration files can be found here:<br>
Expand Down
236 changes: 236 additions & 0 deletions mvnw

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading