Data Visualizations of Floresta Silenciosa (Methodology)

Laura Kurtzberg
9 min readMar 24, 2018

--

Floresta Silenciosa is a platform that was born from a collaboration between an interdisciplinary and international team of journalists, developers, and scientists.

It all started with the team of researchers behind the "Anthropogenic disturbance in tropical forests can double biodiversity loss from defenestration" article, including Jos Barlow, Gareth D. Lennox, Joice Ferreira, Erika Berenguer, Alexander C. Lees, and their investigation the impact of disturbance in the state of Pará, in Brazil. Their research, published in Nature last year, illuminated how harmful disturbance and degradation can be for the health of the Amazon rainforest.

From the in depth data collected in Santarém and Paragominas (two research sites in Pará in the Amazon region), the researchers were able to create groundbreaking models of the greater impact disturbance was having in the state of Pará, leading towards an understanding of the risk for the Amazon as a whole.

The Floresta Silenciosa sought to share their research and the data behind it in an interactive, multilayered story. To create a portal that allows the user to dive deeply into the issues at stake, using data visualizations to showcase some of the main findings of the research paper was key.

My role was to work on those data visualizations, and balance the desire to share as much of the scientific information as we could with a need to make it engaging and accessible to everyone.

Summary of Data Sources

  1. The paper itself Barlow et. al 2016 (Nature)
  2. Imazon Geo — polos madeireiros
  3. Imazon Geo — degradação
  4. NASA FIRMS Fire Archive
  5. OpenStreetMap
  6. MapBox satellite imagery
  7. Xeno-Canto for birdsongs (used under Creative Commons license)
  8. Wiki Aves — photos of the bird species were used as a basis for the illustrations

Summary of Tools

Mapstarter: From the website: It will import your data and give you a starting interactive map, automatically scaled to fit your data. You can change the dimensions, map projection, color scheme, and add basic behaviors like zoom and tooltips. You can also inspect the data stored in your file in the “Data” tab.

Mapbox, Mapbox Studio: In their own words, Mapbox is a mapping platform for developers. Our building blocks make it easy to integrate location into any mobile or online application. To start using Mapbox, I recommend reading their tutorials/documentation which can be found here.

Leaflet: A javascript library for mapping that has all sorts of features that help you put a personalized interactive map on your website.

Mapbox.js: From Mapbox's website: Mapbox.js is a JavaScript library that allows you to add an your interactive map to your website. It is a plugin for Leaflet, and is an open source library that’s free to use.

D3.js: D3 stands for Data Driven Documents and it's another great Javascript library that is becoming increasingly popular in newsrooms for the purpose of creating interactive content. You can use D3 to create a simple bar chart, or a highly complex diagram.

Open Refine: From their introduction: OpenRefine (formerly Google Refine) is a powerful tool for working with messy data: cleaning it; transforming it from one format into another; and extending it with web services and external data. School of Data has a tutorial that is a good way to learn more.

I also used RStudio and Excel to work with the raw data.

The following sections explain how I worked with these datasets and tools to create each visualization. This is not a tutorial —it is a documentation of my process.

Map of Degradation in the Amazon

There are countless variables that contribute to degradation in the Amazon rainforest. The first map on the Floresta Silenciosa platform seeks to demonstrate the interaction between some of these variables, and the extent of the problem of degradation Amazon-wide. Interaction features on this map include a legend that toggles four layers — forest fires, roads, wood extraction hubs, and Imazon's broad measurement of degradation (a precursor to the research that led to this project). With the ability to zoom in and navigate the map, the reader can compare the situation not only between the two research sites (Santarem and Paragominas) but also throughout the Amazon region.

The finished map on Floresta Silenciosa

These interactive elements allow the reader to explore the roots of degradation, and how these problems overlap geographically.

To create this map, I downloaded data from Imazon, NASA FIRMS Fire Archive, and OpenStreetMap. For each layer, I performed tasks in QGIS to clean up the data and find the information that was most relevant to me. For example, for the roads layer, I had a file with every road and path in Brazil, downloaded from OpenStreetMap. I selected only the major and secondary roadways and added a 'buffer' — a region that scientists usually determine as a certain number of km around the round where the natural environment is affected by the presence of that road. In this case, I used QGIS's Buffer tool under Vector → Geoprocessing Tools → Buffer(s).

In QGIS, I cropped the data so that it only showed information within the Amazonia region (shown by the green line on the final map). This was easy to do using the tool under Vector → Geoprocessing Tools →Intersect.

Next, I used Mapbox Studio to scale the size of the forest fire dots based on the intensity of the fire. This way, major fires appear larger and more red. Note that in order to use Mapbox Studio to change the style of my data, I first needed to upload the dataset as a tileset, and then create a new style and add the tileset to it. After creating the style and adding the data in Mapbox Studio, I selected my dataset, navigate to the 'select data' tab, and then added filters to my data in order to styles certain parts of the data according to a condition. For the forest fires layer, I needed to add the fires layer and select part of the data using filters four times in order to create four different style rules.

Filtering forest fire data in Mapbox Studio. The purple color is added by me to show where to choose the filters.

To create the interactive map legend, I made us of the Mapbox.js library and followed the method described in this tutorial.

Tools used for this visualization:

Mapbox, Mapbox Studio

Mapbox.js

QGIS

Map of Degradation in Pará

The first map of Pará on the platform gets to the heart of the research the team completed there. The scientists worked in study catchments or study areas quadrants and measured biodiversity and forest area. Then, they divided the state of Pará into 50k² grid cells, and calculated a Conservation Value for each cell. Our map of Pará displays this data in a grid as well. I chose to average the value of the original grid cells to create larger cells that were easier to interact with. With a darker red representing more biodiversity loss from degradation (a higher conservation value loss), and a yellow showing less impact from degradation (a lower conservation value loss), the reader can compare different parts of the state at a glance. When any cell is hovered over, the exact value is shown in the information window which pops up. When the reader clicks, the map zooms in to that grid cell.

I started by loading the original data point layer (in shapefile format) in QGIS. The layer included one point at the center of each of the researcher's grid cells. This geographically encoded point layer contained the conservation value that was calculated for each cell. In order to make larger cells, I used the MMQGIS plugin in QGIS to create a hexagon grid, then I used the same plugin to perform a spatial join with the point layer.

After installing the plugin, QGIS includes a menu for it alongside other dropdowns like 'vector', 'raster', and 'database'. To create the hexagon grid, I navigated to MMQGIS → Create → Create Grid Layer.

Creating the grid layer in QGIS

Using the original point layer, which I loaded into my QGIS project at the start, I joined the data from the points to the larger grid cells I created. This can be done by navigating to MMGIS → Combine → Spatial Grid.

Navigating to 'Spatial Join' option in the MMGIS plugin

There are a few different choices for attribute operation — like a sum for example.

Layer names and fields will be different for each project, but here is the window that appears upon choosing ‘Spatial Join’.

Now that I had a layer with conservation value for each hexagon, my first step in making it interactive was to open trusty Mapstarter. I opened my hexagon file in the Mapstarter web app, and I used it to generate some d3.js code as a jumping off point. I also used Mapstarter to convert my geojson file to a topojson file (this helped make the file lighter and therefore the visualization faster).

I exported the finished code and file, and continued working with d3.js to change the colors and features of the map. Later, I added major cities (data from OpenStreetMap) to provide an idea of whether degradation happens near urban centers or in remote areas.

Tools used for this visualization:

QGIS

Mapstarter

D3.js

Map 2 of Degradation in Pará: Comparison of Degradation and Deforestation

The second map takes the data from the first, and puts reveals an interesting context around it. Most importantly, this map shows that areas with the least amount of degradation in Pará are not the areas that are most well preserved. Instead, it is the opposite — the areas that are close to major cities and show a low index of loss due to degradation are those that have suffered more from deforestation. This map helps demonstrate why degradation is such a hidden threat — when people are focused on stopping deforestation, they might miss other areas where disturbance is happening precisely because those areas don't look as deforested. Without awareness, the disturbances cannot be stopped and they can only lead to more degradation and loss of biodiversity.

The process for creating this map was similar to the first map of Pará, although instead of a grid, I georeferenced the original map from the research paper and traced the areas of endemism and compare the regions of Pará.

To georeference the image I used the georeferencer tool under Raster → Georeferencer → Georeferencer. A good tutorial on how to georeference in QGIS can be found here.

Then I toggled editing in QGIS and added new vector features, carefully tracing each area of endemism.

The loaded georeferenced image in the background, the menu showing where to find the georeferencer, and the resulted polygons I traced with styling.

The accompanying bar chart was created in R Studio and edited in Inkscape.

Tools used:

D3.js

Mapstarter

Birds of the Amazon Cards

The researchers counted many species in each of their research catchments. They measured plant and animal life, to see how disturbance was affecting biodiversity. To provide a small sampling of the hundreds of species they recorded, we created a data visualization showing the impact of degradation on 15 key bird species.

Before I began visualizing this data, the 15 bird species were selected with the help of the researchers, so that we would have a group of bird species that were representative of the situation a broader group of species faced. I did quite a bit of data filtering in Open Refine in order to separate these 15 species from the greater dataset, and reformat the data in a nested way so that I could use the kind of filtering I wanted to do in D3.js.

In this way, we found five birds for each category: those who population declined when faced with degradation, those whose population grew in environments with degradation, and those who were resistant and maintained a similar population in situations of degradation. It is important to note that while the population probabilities that are seen in the final charts are available in the original dataset for both Santarém and Paragominas, we chose to use the data from Santarém for this visualization.

The cards showing the bird species in the Amazon rainforest were created entirely in HTML, CSS, and Javascript. Features allowing the display and filtering of the dataset were developed in D3.js.

The most useful tutorials that I used as a reference while creating this project were the ones on small multiples by FlowingData.

Tools used:

D3.js

Open Refine

Conclusion

There is a lot more to talk about when it comes to the production of maps and data visualizations for the Floresta Silenciosa project, but in the meantime I hope this post gives a general idea of the methods and steps I took to get to the finished result!

--

--

Laura Kurtzberg
Laura Kurtzberg

Written by Laura Kurtzberg

I’m interested in all things data visualization and cartography!

No responses yet