GPS signal in the rainforest?

Setting up GPS devices
Setting up GPS devices for experiment

“It is surprising that many Pygmy hunter-gatherers in the Congo Basin, though unable to read the numbers on banknotes or write their own names, have begun to use handheld computers attached to global positioning systems (GPS).” (Lewis, 2012)

The above quotation refers to the work that Jerome Lewis started in 2005, when he established a scheme in which indigenous, forest-dwelling communities play an active role in the monitoring of logging activity. In our current work, based on this earlier project, we aim to enable communities to accurately map important resources they want to claim and protect from destruction. Therefore we develop an end-to-end solution for the collection, transmission, storage, visualisation, editing and sharing of geo-referenced data.

A minimum of four satellites are required to determine a 3D location. Despite the five to ten satellites, which are typically in visible range, the radio signal emitted by the satellites are too weak to penetrate dense vegetation, which makes it difficult to get accurate position fixes in places like tropical rainforests.

During our field trip to the Republic of Congo in April/May 2013 we conducted an experiment to test whether we can get adequate GPS location fixes under the dense tree canopy. We were equipped with two smartphones (Samsung Galaxy Xcover, Samsung Galaxy S2), two handheld GPS receivers which were kindly provided by Trimble (Trimble Juno SC, Trimble Juno SD) as well as a Leica Zeno 10, which is advertised to obtain sub-meter accuracy in real time. For this preliminary test we captured GPS positions at ten different locations with varying forest density. The aim was to get five GPS fixes for each device at each location. Apart from the Trimble Juno 3D, which could not find signal at two of the locations, all the GPS receivers resolved a location fix in less than a minute. In absence of a known location which serves as a reference point we compare the obtained positions with each other.

Averaged GPS fixes per location

The map shows the positional mean per location per device. The circle represents the distribution of these means as the first standard deviation. Point 7 and point 9 show very high spatial distributions. It is noticeable that the position fixes obtained by the Trimble Juno 3D is often far off the positions obtained by the other devices, so we are exploring if it might be some fault in this specific unit. The following table shows the maximum distances between the averaged measurements per location. Due to the issues that we noted above with the data acquired by the Trimble Juno 3D, we omitted these data from further calculations, resulting in a significant decrease of distances (see following table).

Maximum distance between averaged GPS fixes per location
Maximum distance between averaged GPS fixes per location

The primary goal of the described experiment was to get an idea of obtainable GPS accuracies by low-cost devices under local conditions. It surprised us how little time it took for the devices to find a location fix, even after rebooting. The results we got from our experiment show that the positional (horizontal) errors are most likely in the range of 10-30 metres, which is about what we expected. We aim to carry out further tests in the coming months to validate these first results, and to understand the range of devices that are suitable for forest work 


Lewis, J. (2012): Technological leap-frogging in the Congo Basin. Pygmies and geographic positioning systems in Central Africa: What has happened and where is it going? African Study Monographs , Supplementary Issue 43: 15-44


  1. Very interesting, Julia. I need to conduct a survey of water sources in rainforest in SE Cameroon, for which altitude information from GPS would also be useful.

    1. Hi Alan, as I mentioned in the blog post, we obtained 3D location fixes rather quickly even under dense forest canopy. I can’t tell you anything about the accuracy of the altitude information because for our current project we don’t make use of that. However it would be great if you could share your experience with me after you have taken measurements in Cameroon.

      1. Hullo Julia, I’ve remembered that the geometry of global navigation satellite systems is such that changes in altitude produce smaller changes in timings of satellite signals measurable by a receiver than changes in latitude or longitude. I think I’ll need altitude fixes that are much more accurate than anything that GPS is likely to be able to deliver. Looks like I’ll need water-in-tubing to establish levels!

      2. Hi Julia. As I suggested would be the case, I didn’t attempt to use altitude fixes.

        The people I was working with in Cameroon know Jerome from his work on the other side of the border. 🙂

  2. We developed an Android app for collecting elephant data. Most of the phones being used are Samsung. We are having some trouble getting GPS fixes in forest areas. We have the app set up so that if the satellite fixes are not obtained it uses a preprogrammed location for the general area selected. We are finding that some of uploads from the forest have grabbed the preprogrammed location, though this is not a problem we have noticed outside the forest. I guess it takes longer to locate satellites in forest….I wonder if there is an easy way to see whether the phone has a GPS fix before opening the app? Any ideas are welcome

    1. Even when the phone’s GPS receiver is enabled, the phone doesn’t run the receiver continuously as this would rapidly drain the battery. Instead, the receiver runs on demand from an app, or Google Play services. A satellite icon appears on the left of the Android status bar while the GPS receiver is active, but this is very brief and easily missed.

      Within your app, you should be able to run the code to initiate a GPS fix, but use whatever code detects that a GPS fix has not been obtained to warn the user that this is the case and give them the option of either recording a block location or aborting the fix. Another approach would be to have the app register for gps updates on launching and only enable a “Log GPS fix” button once a fix is available.

      If you don’t want to modify your app, you could use an app such as GPS Averaging to check whether the GPS receiver can acquire enough satellites. If all else fails, you could manually log co-ordinates!

      1. Hi Alan – I believe the app is designed (just rewritten the programmer to confirm) to register for GPS updates when a new entry is opened. You are right that the satellite icon is hard to see but we have told participants to wait until it stops flashing/disappears before collecting data. I am going to run some more tests to see if I can figure out where the problem lies. Thanks for your input!

  3. You should be able to simulate poor satellite reception on your workbench by placing the phone partially under an awning of aluminum foil. The developer is likely to have set a timeout on the acquisition of a GPS fix, after which the block location is used. If so, the timeout is probably too short. Folk report that under adverse conditions it can take minutes to get a fix. 🙂

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

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