Shark Spotters

The Shark Spotters shark safety program began in 2004 as a Proudly South African solution to a surge in the number of shark sightings and shark bites that was occurring at the time. The program aims to provide environmentally friendly and socially responsible shark mitigation measures, one of which, as their name suggests, is a proactive shark spotting service. The service operates permanently at 4 Cape Town beaches, and seasonally at 4 more, by placing trained observers along the mountainous coastline that overlooks these beaches. When a spotter detects a shark, an alarm and flag are raised encouraging water users to exit the water, returning only when safe. The program has won many awards for its innovation in job creation, sustainability and safety. You can read lots more on their website here.

Shark Spotter looking from mountain


A viewshed is a type of visibility graph and represents the area that is visible from a given location, excluding areas that are beyond the horizon or obstructed by terrain or buildings. A viewshed analysis is a common GIS practice that uses the elevation data in a raster layer to determine line-of-sight visibility from any given point. They are sometimes used in the planning of public open spaces, to determine if the construction of a building will obstruct any views. Viewsheds are also used to locate fire observation stations with the greatest view of the forest. Maybe you can see where we’re going with this… I’ve tried to demonstrate the concept using an old picture I took from Cape Point National Park.

viewshed demonstration

A demonstration of a viewshed analysis.

The top image in the figure above shows the view looking back from the old lighthouse. The middle image is a different perspective of this view highlighting in yellow the area that I can see from the original vantage point. The red line indicates the direction the camera was facing, and the bottom plot shows the elevation and visibility along that line. If you look at the far background of the photo, in the top right, you can see that the face of the tallest mountain is masked by the mountain in the foreground. The silhouetting here is also visible on the viewshed – can you see the “humps” cast on the steep slope of the mountain? What about the long shadow cast by the hill in the centre of the image?

The Analysis

Let’s see if we can use this type of analysis to improve the position of the Shark Spotter at Muizenberg beach. Let’s also be clear that we are doing this just for fun. The Shark Spotters program is a brilliant service from the City of Cape Town and I don’t want this blog interpreted as criticism.

We’ll start by using QGIS to calculate a viewshed from the Muizenberg Shark Spotter location. I accomplished this by using the r.viewshed tool found in the GRASS tools within the processing toolbar. You’ll need to be using projected data for this tool.

Muizenberg Shark Spotter viewshed

The darker blue highlights the area in which a person standing at the Shark Spotter location could theoretically detect a shark

If you physically stand at the Shark Spotter hut at Muizenberg, on a good day you can see clear to Hangklip. But you’ll notice that the area here is noticeably smaller. You might see the mountain at Hangklip, but could you see a shark in the water?

The accuracy of the naked human eye is on average about 1 arcminute. That is, for you to see a telephone pole or a tree at distance, the angle between your eyes and the two sides of the tree needs to be at least 0.02° or 0.0003 radians. This fact will come into play as we change the elevation of our spotting location. For the purpose of this demonstration, we’re assuming the ability to see a 3m shark swimming towards the viewer, such that it is as visible as possible. We’re also going to ignore for now that Shark Spotters all have binoculars.

Angular resolution diagram

Angular resolution: The blue angle needs to be at least 0.02° for us to see the shark

The next step then is to see if we can improve this! I went about it in R by creating a grid of additional points in the vicinity of the current shark spotter location, calculating a viewshed for each, and then calculating the area of each viewshed to see if any were larger than the current viewshed.

Theoretical viewsheds for 49 prospective Shark Spotter locations


It may not be clear from the figure, but several of the proposed points result in larger viewsheds.

Area of improved viewshed

The image above highlights the area where estimated viewsheds are larger than that at the current Shark Spotters location. The improved locations favour those at higher elevations than the current location. This makes sense as we know a higher vantage point improves our ability to resolve objects at distance (it increases the angle in blue from the earlier figure).
It would seem then that it might be possible to improve the Shark Spotters coverage of Muizenberg beach, however we are ignoring several factors. The current Shark Spotters location is along Boyes Drive, providing easy access for the Shark Spotter, and also visibility to the general public. The area of improved visibility along the Muizenberg mountains is comparatively inaccessible

We also don’t consider the area covered by the improved viewsheds, they may provide more coverage to the south, but that area is not as popular amongst water users. Other locations might allow the spotter to see further out to sea, while missing the critical area directly inshore where most people are likely found when in the water.

A more rigorous analysis might be able to improve the program at Muizenberg or other beaches, but from what I’ve seen in this simple example, I think the program is doing just fine.

Check out our Field Course if you are interested in learning more about some of the concepts involved in this demonstration!

Dylan Irion

Dylan is a marine scientist and Save Our Seas Foundation project leader, working towards a PhD that aims to unravel the drivers of white shark population dynamics in South Africa. He is a passionate freediver and SCUBA diver, and volunteers as a Sea Rescue crew member.


Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.