I have a task where I shall quantify AIS coverage in a predefined geographical area. The AIS is a system where automated positional data is sent from ships to base stations.

I have AIS data with lat/long coordinates from a whole year, and I have the set area I shall examine. I have some ideas on how to best quantify whether there is coverage and where it is not, but I have some questions.

A place without coverage naturally has no reported positions through AIS. However, places where there hasn't been a ship in that year CAN have coverage, even though there is no reported positions from that area.

My thoughts so far is to divide the designated area into a grid with cells. I plan to check each cell. If there is a reported ship position inside that area, then there is coverage. If not, there isn't. This will essentially give an coverage % of the area. My idea is to make the grid cells sufficiently large, so that any area without ship traffic, but inside the coverage zone, will be inside a cell with ship traffic. In addition, I was thinking to show the northernmost, southernmost, easternmost and westernmost reported ship position.

My question is: Does this sound reasonable?

How large "should" the grid cells be? I was thinking that they has to be big enough that places with no ship traffic (near shore) shall be reported as having coverage, but not that big that the coverage zone is to big.

Any other ideas on how to report the area of coverage/the area without coverage?


Just to clarify, as I see I am a little bit vague. In most cases the place without coverage is an area with a certain length from one or more base stations. With this I mean that if I got a ship position from point B, and a ship position at point C which is east of B, where the receiver is in point A, west for B and A, it most likely is coverage between B and C as well.

A ---- B ---- C x x x x

My data is lat/long positions saved in SQLite databases. I preferably work with Python, but can use other open source GIS software as well if that is necessary. Note that this is pretty huge data, with about 100 GB of lat/long positions.


Based especially on your later description of how coverage generally works, you might be interested in computing the minimum bounding geometry for your point data. This will generate a fairly conservative estimate of your AIS coverage (in that it will probably be an understatement of the actual coverage) than your cell based aproach, but it will guarantee that the polygon conforms to your A---B---C-X-X-X coverage rule. Also, if each point has the information regarding which base stations a point is associated with you could generate the minimum bounding information on a station-by-station basis.

Depending on what you want to use the outputs for, it may better to have a conservative estimate. For example, if the question is "where can I rely on having coverage?" the conservative estimate is better. However if the question is "where may there be coverage?", then your cell based approach is interesting. You could fill the gaps by dissolving the cells into larger polygons and then removing the interior rings.

If you have access to the base station data (frequencies, power etc), you could also try modeling the coverages.

  • Thank you for your insightful answer! I will look into your answer. When it comes to the usage - the meaning is to give a number on the coverage that can be compared with new trials when new equipment is installed. – bjornasm Jul 13 '15 at 12:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.