Background

How can we track a ship once its automatic tracking systems are turned off? That was the geospatial problem a customer came to us to solve for an effort they had two weeks to complete.

Shore and ship-based radar has been the primary method of tracking ship positions for many years, but radar has limitations around the distance and size of vessels being tracked. Ships use the Automatic Identification System (AIS) to automatically transmit their identity, speed, and GPS position. It was initially made to help overcome the limitations of traditional radar while helping avoid collisions between ships at sea, but it is also used to monitor a ship’s movements over time. There are several reasons a ship may legitimately stop broadcasting its position via AIS, but this behavior is also used by vessels that are trying to conceal their location and identity for illegal activities like fishing in no-take protected areas or entering another country’s waters without authorization.

TIUNA

This behavior is referred to as “going dark”. Once a ship has stopped broadcasting its AIS position and is beyond the limits of traditional radar detection there becomes a need to look for other methods to track the ship’s movement.

Potential satellite-based tracking solution

One potential solution to track a ship when the AIS system isn’t available is to use satellite imagery.

Satellite ship images

In order to do so, we first need to predict a satellite’s position over the earth at any given time (ideally when we begin to detect a gap in AIS data), and then determine if that satellite could see a ship from that location. Using open-source satellite data and libraries, we can take the orbital parameters of a satellite and predict its position on the earth at any time. From there, we can use some spatial math to begin to determine if a satellite is a good candidate to track a ship.

A problem of scale and data granularity

At first glance, this problem may not seem like a big data problem but it is made more complicated by the scale of data, and the frequency that updates are made between the two datasets. AIS data is reported at various expected intervals based on how fast the ship is moving and if it is changing course. These updates can range anywhere from three minutes when the ship is docked or moored, to as little as two seconds when the ship is moving at significant speeds. This means in the worst-case scenario we can receive over 40000+ position updates a day per ship if they are constantly moving.

AIS reporting intervals

To make things more complex, there are also over 6000 satellites in orbit that NORAD tracks using Two-Line Element (TLE) data. New element sets are generated by NORAD on an as-needed basis rather than according to an established timetable. How often these updates occur depends upon several factors such as the satellite’s orbit type or maneuvering capability. For example, a satellite in low-earth orbit—such as the US space shuttle—would have its element sets updated several times a day because of the somewhat unpredictable results of atmospheric drag as it varies its attitude and the maneuvering being performed. A satellite in a low-drag orbit that doesn’t maneuver—such as LAGEOS II—might only need updates once or twice a week. Objects such as rocket bodies, defunct payloads, or other space debris, won’t be updated as frequently either, unless there is a prediction of a close approach with an operational payload. Special-interest objects—such as large objects reentering the earth’s atmosphere—typically get special treatment.

The number of satellites and frequency of ship updates makes the re-computation of satellite visibility to every reported ship position too expensive an operation. A need arises to pre-process each dataset to make the problem more feasible. While there are potentially over 40000 position updates a day per ship we are only interested in the points in time when there is a large gap in the AIS data that falls outside the reporting frequency. Running a process to identify these gaps in the AIS data will reduce the number of points we need to calculate visibility.

Additionally, NORAD tracks over 6000 satellites in orbit only 40% of are currently operational. There are additional filtering methods applied to those operational satellites to reduce the number we consider even further such as:

  • sensor types
  • country of origin (we may not have access to certain satellites)
  • and imagery resolution if the satellite produces imagery

Determining a ship’s visibility from a satellite

Determining if a satellite can see a ship is an expensive process that considers a multitude of factors about the satellite. Everything from the altitude, look angles, inclination, and sensor field-of-view needs consideration. Perforing these expensive calculations for every satellite and ship would be highly inefficient, so we need a simpler way to reduce the number of needed calculations.

Earth Radius

One way to reduce the number of comparisons is to first do a simple distance check to ensure a satellite is within the same hemisphere of the ship we are considering. We can do this by determining the satellite location over the earth and then calculating the distance along the surface of the earth from that position to the ship. If that distance is less than 1/4 of a great circle on the surface of the earth, or 6225 miles (ca. 10,018 km), then we can assume the satellite is in the same hemisphere and can perform a more accurate calculation of the satellite coverage area.

Demo

The video below shows the visualization we were able to make as a POC over a couple of days to solve this problem. We were able to take a reduced set of satellite data from 2009 through 2017 and visualize the satellites over the earth at any given time from their closest TLE data to that timeframe. We were also able to visualize a reduced set of ship data from 2015 and allow users to click on either satellites or ships to determine visibility based on the distance check outlined above. There are also screenshots included below that further explain some elements of the visualization.

img.png

img.png

img.png

img.png

Interested in working together?

We’d love to discuss how we can work together.