Investigative journalism with satellite images (PART 1)
The target audience for this short three-part series on how to use satellite images in your investigative reporting are journalists and anyone who investigates wrongdoing and injustice.
Whether an activity takes place within or outside certain boundaries visible from space can often decide whether you have a case against a party or a government, and therefore a story, or not. As we will see, to investigate we often don’t even need programming skills (it’s certainly the case for this first part, just memory on your machine and a good internet connection. Later parts grow more complex).
Deforestation in South America
In the first example, we will dive into Brazil’s illegal logging practices, affecting climate change and other human rights-related areas. Addressing the problem of illegal deforestation is timely after a range of measures by the Brazilian government heightened concerns among national and international experts.
If the rate of deforestation exposed between 2019 continues at the same rate in the coming years, by 2021 the Amazon rain forest could hit a dangerous tipping point, experts warned. At that point, it becomes much harder, or even impossible some insist, for “the rainforest to generate enough rain to sustain itself.”
Dismantling Brazil’s environmental agencies, including the INPE and IBAMA, gave farmers, loggers, and other actors who engage in predatory logging behavior in the rainforest the impetus they needed to pick up their chainsaws and torches again (as they did two decades ago). 2019, was a particularly bad year and saw deforestation levels climb to unprecedented heights (at least since the start of the millennium).
We want to find evidence that the destruction of protected land continued. NBC reported that deforestation activities surged further since the pandemic struck.
Critics of the Brazilian government claim the protected areas aren’t safe anymore. To validate (or dismiss) the argument, we need boundary shapefiles of protected rainforest land to assess the situation.
The Amazoniasocioambiental project offers such data. I am not advertising this data source as to be up-to-date (it would need further reporting to establish whether these protected boundary areas changed over the past years). For the purpose of this tutorial, we will take it at face value, which is unadvisable if you actually pursue an investigation. The Amazon Geo-Referenced Socio-Environmental Information Network which the project it is based on, a consortium of civil society organizations from the Amazon countries, has gained some legitimacy in their work concerned with the socio-environmental sustainability of Amazonia (but, I stress, no source is perfect we should always approach with a healthy dose of skepticism).
Here, its website lists a number of shapefiles for protected areas in the Amazon forest region, spanning pretty much most of the countries in the northern part of South America. What we first want to do is to load this data into Google Earth Pro. I am using the Mac OS desktop version here.
The file we want to ‘import’ is called “ANP_Nacional.shp”. It’s available in the unzipped folder of the ‘Natural Protected Areas’ file. We press upload and then say we don't want any styling template used.
Google Earth Pro: What you should see is the following:
Let’s take a look at Porto Velho, a notorious hotspot for deforestation. We can immediately see that several areas surround it [we start at Porto Velho as this investigation by NBC brought some valid visual evidence to light].
The first thing I try is to remove the fill of the polygon (you can do this by right-clicking on the selected item and then chose ‘get info’. There you can change style and color. Chose ‘outline’ instead of ‘fill and outline’.
Timing-wise, we are a bit off. Most of the interesting images stopped being issued and visible by the end of 2016. So we head over to Sentinel Hub Browser and try our luck there. We upload our shapefile via the small polygon button.
The problem is that it doesn't like our shapefile formating. We head over to open-source software QGIS to turn our shapefiles into KML files. We save the shp file as KML file and then take it back to the Sentinel browser. Now you can use the little polygon feature in the corner to feed it your KML data (see below how it works).
So now that we have our areas highlighted, we can run the analysis into more present-day forest destruction. 2019 and 2020 is the most interesting to us. We can see that the latest images show that fires move dangerously close to allegedly protected areas.
Let’s take in another open-source browser tool into the boat. Global Forest Watch, a think tank by the World Resource Institute, maintains a satellite imagery powered deforestation dashboard. So far, the region of Para is affected the heaviest, losing around 14mha. The advantage of all the various stats you are provided with is that you can search and discover various areas and sub-areas for specific periods. That not only goes for states and regions but for self-defined polygon areas that we can upload:
More illegal deforestation?
Global Forest Warch offers a user-friendly geo tool. It allows us to set the years in which tree cover loss occurred. Setting a specific range can perhaps tell us whether more illegal logging and burning took place around or even within boundaries.
We set our dials to 2019 and see a vast patch of deforested land appear in Bolivia, bordering to Paraguay. We want to see whether any of this took place in the protected land zone in our polygon files.
Now we will drop our polygon features onto Global Forest Watch’s map. It’s genuinely handy. The only caveat is the maximum recommended file size. It’s advised to keep it limited to 1MB. Our protected land file, “ANP_nacional.shp” exceeds 30MB. So we need to think of something.
Let’s head over to again QGIS where we can upload our file and cut the size. We will chop it up to only include the areas near the border. Upload ANP_nacional.shp and then use the feature selection tool to click on the two polygons highlighted in the image. I added the Natural Earth shapefile for countries so I can find the location of the polygon features on the Bolivian/Paraguayan border. Then select on the left your layer and save-> export as ‘selected features’. Export it as KML files and then head back to Global Forest Watch.
With the KML file now mere 28kb in size, we can head back over to the Global Forest Watch tool and upload it to the map set for deforestation of 2019.
Click ‘analyze’ and get the deforestation stats specifically for our boundaries. It looks like that the loggers largely stayed outside of the protected zone. Yet, nonetheless, there was an increase in deforestation recorded within the area that we probed. Both could come in handy later if we were serious with investigating it.
Let’s check out other Brazilian areas where Bolsonaro’s government allegedly made it easier to cut forest in protected areas. The state of Roraima, one among Brazil’s least populated states and particularly vulnerable to deforestation, is an obvious first candidate to start on.
It is located in the Amazone region and was among the most attacked areas in 2019, according to Global Forest Watch overview data. In 2019 deforestation increased considerably (compared to 2018). The state lost 161kha of natural forest, equivalent to 73.0Mt of CO₂ of emissions. In 2018, it amounted to one-fourth, mere 33kha.
We apply the same trick that with used before and inspect polygons for protected areas located in Roraima.
If you export the areas above, you should end up with a file size that is almost 1MB. We upload it to the deforestation analysis platform as before and find the following:
There are the signs of illegal deforestation in the protected sectors in the north of the state that we have been looking for. We note vast increases in the rate of deforestation in Roraima’s protected sector between 2018 [to 12kha] and a year later.
The final thing we want to do is to head back to Sentinel Browser and witness the eye-watering destruction in technicolor. There you can also upload the sector we just defined and run the comparison between 2018 and early 2020.
Please note, I am not entirely sure whether the areas that the Amazoniasocioambiental project earmarked as ‘protected’ are in fact protected from the state law. We would need to spend sufficient time to understand whether they are protected legally under the Bolsonaro administration. There might have been ‘legitimate’ changes under the current political climate that made more areas legally available to loggers. It is safe to say that these specific areas in the Roraima state were added in 1981, according to the data files (for the national file, it’s available here).
We will stop at this stage with our practical analysis. It warrants saying that Bolsonaro and his government blocked 30 per cent of the Brazilian environment agency’s budget for preventing fires. He also publically chided agents from IBAMA, the main federal agency tasked with enforcing environmental laws, for issuing too many fines.
This will make it undoubtedly harder to track and hold perpetrators accountable who illegally destroy the forest. It’s another good reason to lend a hand to government investigators.
Another, perhaps timely example concerns recent fires in the Brazilian national park of Pantanal Matogrossense, highlighted by the @EU_Commission Directorate-General for Defence Industry and Space on Twitter.
With our newly acquired skills, we wonder whether the fires hit the protected areas. So we quickly check the location of the image and download the geo tif raster files for August 14, 2020 (not 2019, as the twitter images states) that were modified via Pierre Markuse’s fires scrip. We throw it into QGIS where we can compare boundaries and satellite images:
See what I see? With this information at hand, you could start digging deeper whether injustice happened or not.
Update (August 26)
A quick update here. NASA just launched a new data tool to track fires in real-time. It caters for data journalists hungry for shapefiles. You can download the shapefile on their website. It only includes 2020. Proceed and use the filter option in QGIS to select only category 4 events under the column fire_type. They refer to ‘deforestation fires’. Then we upload our WDPA protected area shapefile and compare them.
There we can see it well. 2020 intentional deforestation fires within protected sectors. We could do so much more with it but this should get you started to hunt for illegal fires. Some more spots they overlap here:
To take the example to a different environment, it’s aptly to look at illegal fishing. Illegal fishing is a real problem for the biodiversity of our oceans and also helps to create ghost gear. Recently, a number of investigations dropped that looked at harmful legal and illegal fishing activities. Chinese fishing vessels near the Galapagos Islands were spotted exploiting the waters and depriving its unique biodiversity. The vessels allegedly stayed in international waters but we could apply the same boundary methodology to the problem.
A recent NBC’s open-source investigation that collaborated with Global Fishing Watch, another think tank, reported how Chinese vessels fish in violation of U.N. sanctions which prohibit foreign fishing in North Korean waters.
We quickly grab the international database on protected areas (‘quickly’ is more a joke. It’s massive and takes some time to download). Go to the Protected Planet website and download the WDPA shapefiles on protected land and ocean areas. Go to QGIS and grab the areas of interest. Then head over to Global Fishing Watch’s geo-map tool. Instead of going to the Galapagos islands, we go to the UK.
Despite often claimed otherwise, marine protected areas (MPA) on UK shores often remain feebly monitored. Arguably, it leaves some of room for harmful overfishing practices biodiversity destruction. Let’s take a look at the shores of South East of England.
We want to upload protected areas on the shores of East England’s coast (we selected the areas in QGIS again, as we did before). Next, we export the file, as a GeoJson file. Then we upload it to a server so that you can drop in a link to the Global Fishing Watch map tool (I think GitHub would do the trick, too). I have done this for you, so you can test it (use this here and copy-paste it into the layers panel, see below).
Hit ‘done’ and check the area. In red, we see the protected area polygons. Now we can see more clearly that fishing in the past months did occur in areas that are classified as protected. The interpretation of this is part of the standard investigation process, which I am not going into. Subsequently, you could perhaps be interested in double-checking vessel location via Marinetraffic.com or other open-source shipping tools.
We can confirm some of the heightened fishing activities mentioned in other reporting near the North Korean border.
Coming back to the North Korean example, if you wanted to dig deeper into military operations, you could check with the 5GIT tool (here) and whether any interference sources that might reveal potential defense systems lurking in areas that lie across important national or regional boundaries (which then could indicate contentious proof for more investigating).
Just one thing at the end: Obviously, protected areas and MPA restrictions are more complex than simply concluding that if a fishing vessel or a fire is spotted in specific zones of protection they are to be not immediately deemed guilty of breaking a law. Some vessels/fires may have good or innocent reasons to be present in specific zones. But sometimes, and often enough there are not and that’s when investigating can pay off. I hope this gets you started.
Part 2 is in development.