---
title: "Voetafdruk landgebruik en biodiversiteit - landen en sectoren"
date: 2024-11-12T10:00:00
bibliography: ../references.bib
link-citations: TRUE
thema:
  - Natuur & maatschappij
  - Ecosystemen
  - Ruimte
  - Landbouw
  - Bos
keywords:
  - voetafdruk
  - landgebruik
  - soortenverlies
  - consumptie
  - export
  - economie
lang: nl
tab: indicator
verantwoordelijke:
- Katrijn Alaerts <katrijn.alaerts@inbo.be>
always_allow_html: true
output: html_document
---

```{r setup, include = FALSE}
library(knitr)
opts_chunk$set(message = FALSE, warning = FALSE, echo = FALSE)
library(tidyverse)
library(git2rdata)
library(plotly)
library(networkD3)
source(file.path("..", "..", "inbo_theme.R"))
conflicted::conflicts_prefer(dplyr::filter, dplyr::pull, plotly::layout)
library(htmltools)
library(htmlwidgets)
set.seed(20200520)
setWidgetIdSeed(20200520)
options(htmlwidgets.TOJSON_ARGS = list(pretty = TRUE))
```
**Van alle bossen, akkers en weilanden** die we gebruiken om onze **Vlaamse consumptie** te ondersteunen, bevindt **slechts 3% zich in Vlaanderen**. 
Ongeveer **1% van het verlies aan soorten** dat met dat landgebruik gepaard gaat, vindt plaats binnen onze regiogrenzen.
Onze landvoetafdruk is het grootst in landen met uitgestrekte bossen, akkers en/of graslanden bijvoorbeeld Rusland, de VS, Australië, Congo-Kinshasa en Brazilië.
Onze impact op het verlies aan soorten is het hoogst in tropische en subtropische landen met een hoge, unieke biodiversiteit, zoals Madagaskar, Brazilië en Indonesië.
In de landen van impact ligt de **bosbouwsector** aan de basis van meer dan een derde van het landgebruik en een kwart van het verlies aan soorten ten gevolge van onze consumptie.
De **veeteelt- en zuivelsector, de teelt van oliehoudende gewassen en de teelt van granen** veroorzaken er samen ongeveer de helft van de impact van onze Vlaamse consumptie op het landgebruik en het bijbehorende verlies aan soorten.

Deze fiche biedt meer details bij de indicator [Voetafdruk landgebruik en biodiversiteit - algemeen](https://www.vlaanderen.be/inbo/indicatoren/voetafdruk-landgebruik-en-biodiversiteit-algemeen). 

Figuur 1 toont het verband tussen de begrippen die in de figuren en de bespreking aan bod komen.

```{r, out.width = '75%', fig.align = 'center', fig.cap = "Figuur 1: verband tussen consumptie in Vlaanderen, het landgebruik in Brazilië en de verschillende begrippen die in de figuren en bespreking aan bod komen."}
knitr::include_graphics("../voetafdruk_landgebruik_land_sector/afbeelding1.jpg")
```

```{r function-dropdown-menu, echo = FALSE, message = FALSE}
# Function to create a dropdown menu with unique IDs and options
create_dropdown_menu <- function(menu_id, iframe_id, caption_id, options) {
  html <- tags$div(
    tags$label("Selecteer een grafiek",
               style = "font-weight: bold; font-size: 16px;"),
    tags$select(
      id = menu_id,
      lapply(options, function(option) {
        tags$option(value = option$value, option$label,
                    selected = if (option$selected) "selected" else NULL)
      })
    ),
    tags$iframe(id = iframe_id, style = "width: 80%; height: 750px;
                border: none;"),
    tags$div(id = caption_id, style = "margin-top: 10px; font-weight: bold;
             color: #C04384;")
  )
  captions <- jsonlite::toJSON(setNames(lapply(options, `[[`, "caption"),
                                        sapply(options, `[[`, "value")))
  script <- tags$script(HTML(sprintf("
    function renderPlot(plotType, iframeId, captionId, captions) {
      var plotlyIframe = document.getElementById(iframeId);
      var caption = document.getElementById(captionId);
      
      fetch(plotType)
        .then(response => {
          if (!response.ok) {
            throw new Error('Network response was not ok');
          }
          return response.text();
        })
        .then(html => {
          plotlyIframe.srcdoc = html;
          caption.innerHTML = captions[plotType];
        })
        .catch(error => {
          console.warn('Error loading plot: ', error);
          caption.innerHTML = 'Error loading plot';
        });
    }

    document.getElementById('%s').addEventListener('change', function() {
      renderPlot(this.value, '%s', '%s', %s);
    });

   // Render the first plot initially
    var initialPlot = document.querySelector('#%s option[selected]').value;
    renderPlot(initialPlot, '%s', '%s', %s);
  ", menu_id, iframe_id, caption_id, captions,
  menu_id, iframe_id, caption_id, captions)))

  browsable(tagList(html, script))
}

# Options for each dropdown menu with captions
#nolint start
options1 <- list(
  list(value = "../voetafdruk_landgebruik_land_sector/p_cons.html",
       label = "Voetafdruk landgebruik voor Vlaamse consumptie in 2019 (km²)",
       caption = "Figuur 1: verband tussen de landen waar het landgebruik plaatsvindt, de bedrijfstakken die producten exporteren voor de Vlaamse consument, en de productgroepen van de Vlaamse consumptie in 2019 (uitgedrukt in km²).",
       selected = TRUE),
  list(value = "../voetafdruk_landgebruik_land_sector/p_exp.html",
       label = "Voetafdruk landgebruik voor Vlaamse export in 2019 (km²)",
       caption = "Figuur 2: verband tussen de landen waar het landgebruik plaatsvindt, de bedrijfstakken die producten exporteren voor Vlaamse producenten, en de productgroepen van de Vlaamse export in 2019 (uitgedrukt in km²).",
       selected = FALSE)
)

options2 <- list(
  list(value = "../voetafdruk_landgebruik_land_sector/p2_cons.html",
       label = "Voetafdruk verlies aan soorten door Vlaamse consumptie in 2019 (micro-pdf)",
       caption = "Figuur 3: verband tussen de landen waar het soortenverlies plaatsvindt, de bedrijfstakken die producten exporteren voor de Vlaamse consument, en de productgroepen van de Vlaamse consumptie in 2019. Het verlies aan soorten wordt uitgedrukt in mondiale pdf (<i>potentially disappeared fraction of species</i>), een maat voor het potentieel uitsterven van soorten op wereldschaal als gevolg van ons landgebruik.",
       selected = TRUE),
  list(value = "../voetafdruk_landgebruik_land_sector/p2_exp.html",
       label = "Voetafdruk verlies aan soorten door Vlaamse export in 2019 (micro-pdf)",
       caption = "Figuur 4: verband tussen de landen waar het verlies aan soorten plaatsvindt, de bedrijfstakken die producten exporteren voor Vlaamse producenten, en de productgroepen van de Vlaamse export in 2019. Het verlies aan soorten wordt uitgedrukt in mondiale pdf (<i>potentially disappeared fraction of species</i>), een maat voor het potentieel uitsterven van soorten op wereldschaal als gevolg van ons landgebruik.",
       selected = FALSE)
)
#nolint end

# Create dropdown menus
dropdown1 <- create_dropdown_menu("plot_type1", "plot_area1", "caption1",
                                  options1)
dropdown2 <- create_dropdown_menu("plot_type2", "plot_area2", "caption2",
                                  options2)
```

### Landgebruik[^1]

```{r grafieken-dropdown-land}
dropdown1
```

```{r code-sankey-land-consumptie, echo = FALSE, message = FALSE}
# Data inlezen

data <- read_vc("data_sankey_landgebruik_cons")
nodes <- read_vc("nodes_sankey_landgebruik_cons")
links <- read_vc("links_sankey_landgebruik_cons")

# Kleur geven aan elke groep

nodes_group <- nodes %>%
  distinct(group, .keep_all = TRUE)
colors <- paste0(shQuote(nodes_group$col), collapse = ", ")
range <- paste(shQuote(nodes_group$letter), collapse = ", ")

my_color <- paste("d3.scaleOrdinal() .domain([", range, "])",
                  " .range([", colors, "])")

# Basisgrafiek landgebruik consumptie

p <- sankeyNetwork(Links = links, Nodes = nodes,
                   Source = "IDsource", Target = "IDtarget",
                   Value = "value", NodeID = "name",
                   sinksRight = FALSE, iterations = 0, nodePadding = 5,
                   nodeWidth = 50, fontFamily = "verdana",
                   LinkGroup = "letter", units = "km²", colourScale = my_color,
                   NodeGroup = "letter", fontSize = 12,
                   width = "110%", height = "700px")

# Waarde omzetten in percentage voor elke node
df1 <- data %>%
  group_by(land_top) %>%
  summarise(perc = round(100 * sum(lu) / sum(data$lu), 1)) %>%
  rename("name" = "land_top")
df2 <- data %>%
  group_by(bt_top) %>%
  summarise(perc = round(100 * sum(lu) / sum(data$lu), 1)) %>%
  rename("name" = "bt_top")
df3 <- data %>%
  group_by(pg_top) %>%
  summarise(perc = round(100 * sum(lu) / sum(data$lu), 1)) %>%
  rename("name" = "pg_top") %>%
  bind_rows(df2) %>%
  bind_rows(df1) %>%
  mutate(perc = paste0(perc, " %"))

p$x$nodes <- right_join(p$x$nodes, df3, by = c("name" = "name"))

```

```{r code-sankey-land-export, echo = FALSE, message = FALSE}
# Data inlezen

data <- read_vc("data_sankey_landgebruik_exp")
nodes <- read_vc("nodes_sankey_landgebruik_exp")
links <- read_vc("links_sankey_landgebruik_exp")

# Kleur geven aan elke groep

nodes_group <- nodes %>%
  distinct(group, .keep_all = TRUE)
colors <- paste0(shQuote(nodes_group$col), collapse = ", ")
range <- paste(shQuote(nodes_group$letter), collapse = ", ")

my_color <- paste("d3.scaleOrdinal() .domain([", range, "])",
                  " .range([", colors, "])")

# Basisgrafiek landgebruik export

p2 <- sankeyNetwork(Links = links, Nodes = nodes,
                   Source = "IDsource", Target = "IDtarget",
                   Value = "value", NodeID = "name",
                   sinksRight = FALSE, iterations = 0, nodePadding = 5,
                   nodeWidth = 50, fontFamily = "verdana",
                   LinkGroup = "letter", units = "km²", colourScale = my_color,
                   NodeGroup = "letter", fontSize = 12,
                   width = "110%", height = "700px")

# Waarde omzetten in percentage voor elke node
df1 <- data %>%
  group_by(land_top) %>%
  summarise(perc = round(100 * sum(lu) / sum(data$lu), 1)) %>%
  rename("name" = "land_top")
df2 <- data %>%
  group_by(bt_top) %>%
  summarise(perc = round(100 * sum(lu) / sum(data$lu), 1)) %>%
  rename("name" = "bt_top")
df3 <- data %>%
  group_by(pg_top) %>%
  summarise(perc = round(100 * sum(lu) / sum(data$lu), 1)) %>%
  rename("name" = "pg_top") %>%
  bind_rows(df2) %>%
  bind_rows(df1) %>%
  mutate(perc = paste0(perc, " %"))

p2$x$nodes <- right_join(p2$x$nodes, df3, by = c("name" = "name"))

```

```{r grafiek-land-consumptie, echo = FALSE, fig.width = 10, fig.height = 14, fig.cap = "Figuur 1: verband tussen de landen waar het landgebruik plaatsvindt, de bedrijfstakken die producten exporteren voor de Vlaamse consument, en de productgroepen van de Vlaamse consumptie in 2019 (uitgedrukt in km²). "}

# Interactieve grafiek landgebruik consumptie
# om titel boven de plot te zetten
# p <- htmlwidgets::prependContent(p,
#                             htmltools::tags$h1("Landgebruik consumptie (km²)",
#                                                   style = "text-align:center;
#                                                   font-size:18px;
#                                                   font-family: Verdana;")
#                                   )
# om tooltip vorm te geven (uniek per impactcategorie)
pb <- htmlwidgets::onRender(p, 'function(el, x) {
    var svg = d3.select(el).select("svg");
    svg.attr("id", "sankey1");
    var link = svg.selectAll(".link");
    var node = svg.selectAll(".node");
    var format = d3.formatLocale({"decimal": ",", "thousands": "",
    "grouping": [3]}).format(",.0f");

    link.select("title").select("body")
        .html(function(d) { return d.source.name + " \u2192 " +
        d.target.name + "\\n" + format(d.value) + " km²"; });
    node.select("title").select("body")
        .html(function(d) { return d.name + "\\n" + format(d.value) +
        " km²"; });
}
')

pc <- htmlwidgets::onRender(pb, 'function(el, x) {
    d3.select(el).selectAll(".node text")
      .text(d => d.name + " (" + d.perc + ")");
}
')
# regel 182 mag niet gesplitst worden over verschillende lijnen
#nolint start
pd <- htmlwidgets::onRender(pc, 'function(el, x) {
  var cols_x = this.sankey.nodes().map(d => d.x).filter((v, i, a) => a.indexOf(v) === i).sort(function(a, b){return a - b});
    var labels = ["Land oorsprong", "Bedrijfstak oorsprong", "Vlaamse consumptie"];
    cols_x.forEach((d, i) => {
      d3.select(el).select("svg")
        .append("text")
        .attr("x", d)
        .attr("y", 12)
        .text(labels[i])
        .attr("font-family", "verdana");
    })
  }
')
#nolint end

# Opslaan als HTML-bestand en meta-tag invoegen na head-tag
p_temp <- tempfile(fileext = ".html")
saveWidget(pd, p_temp)

html_content <- readLines(p_temp)
meta_tag <- '<meta name="INBO-tab" content="plotly">'

head_index <- which(grepl("<head>", html_content))
html_content <- append(html_content, meta_tag, after = head_index)

output_file <- "../voetafdruk_landgebruik_land_sector/p_cons.html"
writeLines(html_content, output_file)

# Tijdelijke bestand verwijderen
unlink(p_temp)
```

```{r grafiek-land-export, echo = FALSE, fig.width = 10, fig.height = 14, fig.cap = "Figuur 2: verband tussen de landen waar het landgebruik plaatsvindt, de bedrijfstakken die producten exporteren voor Vlaamse producenten, en de productgroepen van de Vlaamse export in 2019 (uitgedrukt in km²)."}

# Interactieve grafiek landgebruik export
# Om titel boven plot te zetten
# p2 <- htmlwidgets::prependContent(p2,
#                             htmltools::tags$h1("Landgebruik consumptie (km²)",
#                                                   style = "text-align:center;
#                                                   font-size:18px;
#                                                   font-family: Verdana;")
#                                   )

# om tooltip vorm te geven (uniek per impactcategorie)
p2b <- htmlwidgets::onRender(p2, 'function(el, x) {
    var svg = d3.select(el).select("svg");
    svg.attr("id", "sankey1");
    var link = svg.selectAll(".link");
    var node = svg.selectAll(".node");
    var format = d3.formatLocale({"decimal": ",", "thousands": "",
    "grouping": [3]}).format(",.0f");

    link.select("title").select("body")
        .html(function(d) { return d.source.name + " \u2192 " +
        d.target.name + "\\n" + format(d.value) + " km²"; });
    node.select("title").select("body")
        .html(function(d) { return d.name + "\\n" + format(d.value) +
        " km²"; });
}
')

p2c <- htmlwidgets::onRender(p2b, 'function(el, x) {
    d3.select(el).selectAll(".node text")
      .text(d => d.name + " (" + d.perc + ")");
}
')
# regel 238 mag niet gesplitst worden over verschillende lijnen
#nolint start
p2d <- htmlwidgets::onRender(p2c, 'function(el, x) {
  var cols_x = this.sankey.nodes().map(d => d.x).filter((v, i, a) => a.indexOf(v) === i).sort(function(a, b){return a - b});
    var labels = ["Land oorsprong", "Bedrijfstak oorsprong", "Vlaamse export"];
    cols_x.forEach((d, i) => {
      d3.select(el).select("svg")
        .append("text")
        .attr("x", d)
        .attr("y", 12)
        .text(labels[i])
        .attr("font-family", "verdana");
    })
  }
')
#nolint end

# Opslaan als HTML-bestand en meta-tag invoegen na head-tag
p_temp <- tempfile(fileext = ".html")
saveWidget(p2d, p_temp)

html_content <- readLines(p_temp)
meta_tag <- '<meta name="INBO-tab" content="plotly">'

head_index <- which(grepl("<head>", html_content))
html_content <- append(html_content, meta_tag, after = head_index)

output_file <- "../voetafdruk_landgebruik_land_sector/p_exp.html"
writeLines(html_content, output_file)

# Tijdelijke bestand verwijderen
unlink(p_temp)
```

### Verlies aan soorten[^1]

```{r grafieken-dropdown-soorten}
dropdown2
```

```{r code-sankey-soorten-consumptie, echo = FALSE, message = FALSE}
# Data inlezen

data <- read_vc("data_sankey_soorten_cons")
nodes <- read_vc("nodes_sankey_soorten_cons")
links <- read_vc("links_sankey_soorten_cons")

# Kleur geven aan elke groep

nodes_group <- nodes %>%
  distinct(group, .keep_all = TRUE)
colors <- paste0(shQuote(nodes_group$col), collapse = ", ")
range <- paste(shQuote(nodes_group$letter), collapse = ", ")

my_color <- paste("d3.scaleOrdinal() .domain([", range, "])",
                  " .range([", colors, "])")

# Basisgrafiek soortenverlies consumptie

p3 <- sankeyNetwork(Links = links, Nodes = nodes,
                   Source = "IDsource", Target = "IDtarget",
                   Value = "value", NodeID = "name",
                   sinksRight = FALSE, iterations = 0, nodePadding = 5,
                   nodeWidth = 50, fontFamily = "verdana",
                   LinkGroup = "letter", units = "10\u207B\u2076 pdf",
                   colourScale = my_color,
                   NodeGroup = "letter", fontSize = 12,
                   width = "110%", height = "700px")

# Waarde omzetten in percentage voor elke node
df1 <- data %>%
  group_by(land_top) %>%
  summarise(perc = round(100 * sum(pdf) / sum(data$pdf), 1)) %>%
  rename("name" = "land_top")
df2 <- data %>%
  group_by(bt_top) %>%
  summarise(perc = round(100 * sum(pdf) / sum(data$pdf), 1)) %>%
  rename("name" = "bt_top")
df3 <- data %>%
  group_by(pg_top) %>%
  summarise(perc = round(100 * sum(pdf) / sum(data$pdf), 1)) %>%
  rename("name" = "pg_top") %>%
  bind_rows(df2) %>%
  bind_rows(df1) %>%
  mutate(perc = paste0(perc, " %"))

p3$x$nodes <- right_join(p3$x$nodes, df3, by = c("name" = "name"))

```

```{r code-sankey-soorten-export, echo = FALSE, message = FALSE}
# Data inlezen
data <- read_vc("data_sankey_soorten_exp")
nodes <- read_vc("nodes_sankey_soorten_exp")
links <- read_vc("links_sankey_soorten_exp")

# Kleur geven aan elke groep
nodes_group <- nodes %>%
  distinct(group, .keep_all = TRUE)
colors <- paste0(shQuote(nodes_group$col), collapse = ", ")
range <- paste(shQuote(nodes_group$letter), collapse = ", ")

my_color <- paste("d3.scaleOrdinal() .domain([", range, "])",
                  " .range([", colors, "])")

# Basisgrafiek soortenverlies export
p4 <- sankeyNetwork(Links = links, Nodes = nodes,
                   Source = "IDsource", Target = "IDtarget",
                   Value = "value", NodeID = "name",
                   sinksRight = FALSE, iterations = 0, nodePadding = 5,
                   nodeWidth = 50, fontFamily = "verdana",
                   LinkGroup = "letter", units = "*10\u207B\u2076 pdf",
                   colourScale = my_color,
                   NodeGroup = "letter", fontSize = 12,
                   width = "110%", height = "700px")

# Waarde omzetten in percentage voor elke node
df1 <- data %>%
  group_by(land_top) %>%
  summarise(perc = round(100 * sum(pdf) / sum(data$pdf), 1)) %>%
  rename("name" = "land_top")
df2 <- data %>%
  group_by(bt_top) %>%
  summarise(perc = round(100 * sum(pdf) / sum(data$pdf), 1)) %>%
  rename("name" = "bt_top")
df3 <- data %>%
  group_by(pg_top) %>%
  summarise(perc = round(100 * sum(pdf) / sum(data$pdf), 1)) %>%
  rename("name" = "pg_top") %>%
  bind_rows(df2) %>%
  bind_rows(df1) %>%
  mutate(perc = paste0(perc, " %"))

p4$x$nodes <- right_join(p4$x$nodes, df3, by = c("name" = "name"))

```

```{r grafiek-soorten-consumptie, echo = FALSE, fig.width = 10, fig.height = 14, fig.cap = "Figuur 3: verband tussen de landen waar het soortenverlies plaatsvindt, de bedrijfstakken die producten exporteren voor de Vlaamse consument, en de productgroepen van de Vlaamse consumptie in 2019. Het verlies aan soorten wordt uitgedrukt in mondiale pdf (*potentially disappeared fraction of species*), een maat voor het potentieel uitsterven van soorten op wereldschaal als gevolg van ons landgebruik."}

# Interactieve grafiek soortenverlies consumptie
# om titel boven de plot te zetten
# p3 <- htmlwidgets::prependContent(
#   p3,
#   htmltools::tags$h1("Soortenverlies door landgebruik (*10\u207B\u2076 pdf)",
#                                                   style = "text-align:center;
#                                                   font-size:18px;
#                                                   font-family: Verdana;"))

# om tooltip vorm te geven (uniek per impactcategorie)
p3b <- htmlwidgets::onRender(p3, 'function(el, x) {
    var svg = d3.select(el).select("svg");
    svg.attr("id", "sankey2");
    var link = svg.selectAll(".link");
    var node = svg.selectAll(".node");
    var format = d3.formatLocale({"decimal": ",", "thousands": "",
    "grouping": [3]}).format(",.1f");

    link.select("title").select("body")
        .html(function(d) { return d.source.name + " \u2192 " +
        d.target.name + "\\n" + format(d.value) +
        " *10\u207B\u2076 pdf"; });
    node.select("title").select("body")
        .html(function(d) { return d.name + "\\n" +
        format(d.value) + " *10\u207B\u2076 pdf"; });
}
')

p3c <- htmlwidgets::onRender(p3b, 'function(el, x) {
    d3.select(el).selectAll(".node text")
      .text(d => d.name + " (" + d.perc + ")");
}
')
# regel 396 mag niet gesplitst worden over verschillende lijnen
#nolint start
p3d <- htmlwidgets::onRender(p3c, 'function(el, x) {
  var cols_x = this.sankey.nodes().map(d => d.x).filter((v, i, a) => a.indexOf(v) === i).sort(function(a, b){return a - b});
    var labels = ["Land oorsprong", "Bedrijfstak oorsprong", "Vlaamse consumptie"];
    cols_x.forEach((d, i) => {
      d3.select(el).select("svg")
        .append("text")
        .attr("x", d)
        .attr("y", 12)
        .text(labels[i])
        .attr("font-family", "verdana");
    })
  }
')
#nolint end

# Opslaan als HTML-bestand en meta-tag invoegen na head-tag
p_temp <- tempfile(fileext = ".html")
saveWidget(p3d, p_temp)

html_content <- readLines(p_temp)
meta_tag <- '<meta name="INBO-tab" content="plotly">'

head_index <- which(grepl("<head>", html_content))
html_content <- append(html_content, meta_tag, after = head_index)

output_file <- "../voetafdruk_landgebruik_land_sector/p2_cons.html"
writeLines(html_content, output_file)

# Tijdelijke bestand verwijderen
unlink(p_temp)

```

```{r grafiek-soorten-export, echo = FALSE, fig.width = 10, fig.height = 14, fig.cap = "Figuur 4: verband tussen de landen waar het verlies aan soorten plaatsvindt, de bedrijfstakken die producten exporteren voor Vlaamse producenten, en de productgroepen van de Vlaamse export in 2019. Het verlies aan soorten wordt uitgedrukt in mondiale pdf (*potentially disappeared fraction of species*), een maat voor het potentieel uitsterven van soorten op wereldschaal als gevolg van ons landgebruik."}

# Interactieve grafiek soortenverlies export
# Om titel boven de plot te zetten
# p4 <- htmlwidgets::prependContent(
#   p4,
#   htmltools::tags$h1("Soortenverlies door landgebruik (*10\u207B\u2076 pdf)",
#                                                   style = "text-align:center;
#                                                   font-size:18px;
#                                                   font-family: Verdana;"))

# om tooltip vorm te geven (uniek per impactcategorie)
p4b <- htmlwidgets::onRender(p4, 'function(el, x) {
    var svg = d3.select(el).select("svg");
    svg.attr("id", "sankey2");
    var link = svg.selectAll(".link");
    var node = svg.selectAll(".node");
    var format = d3.formatLocale({"decimal": ",", "thousands": "",
    "grouping": [3]}).format(",.1f");

    link.select("title").select("body")
        .html(function(d) { return d.source.name + " \u2192 " +
        d.target.name + "\\n" + format(d.value) +
        " *10\u207B\u2076 pdf"; });
    node.select("title").select("body")
        .html(function(d) { return d.name + "\\n" +
        format(d.value) + " 10\u207B\u2076 pdf"; });
}
')

p4c <- htmlwidgets::onRender(p4b, 'function(el, x) {
    d3.select(el).selectAll(".node text")
      .text(d => d.name + " (" + d.perc + ")");
}
')
# regel 439 mag niet gesplitst worden over verschillende lijnen
#nolint start
p4d <- htmlwidgets::onRender(p4c, 'function(el, x) {
  var cols_x = this.sankey.nodes().map(d => d.x).filter((v, i, a) => a.indexOf(v) === i).sort(function(a, b){return a - b});
    var labels = ["Land oorsprong", "Bedrijfstak oorsprong", "Vlaamse export"];
    cols_x.forEach((d, i) => {
      d3.select(el).select("svg")
        .append("text")
        .attr("x", d)
        .attr("y", 12)
        .text(labels[i])
        .attr("font-family", "verdana");
    })
  }
')
#nolint end
# Opslaan als HTML-bestand en meta-tag invoegen na head-tag
p_temp <- tempfile(fileext = ".html")
saveWidget(p4d, p_temp)

html_content <- readLines(p_temp)
meta_tag <- '<meta name="INBO-tab" content="plotly">'

head_index <- which(grepl("<head>", html_content))
html_content <- append(html_content, meta_tag, after = head_index)

output_file <- "../voetafdruk_landgebruik_land_sector/p2_exp.html"
writeLines(html_content, output_file)

# Tijdelijke bestand verwijderen
unlink(p_temp)

```

## Definitie

- De **landvoetafdruk** van onze **consumptie** toont de oppervlakte **akkers, graslanden en bossen** die jaarlijks nodig is om de grond- en hulpstoffen te leveren voor de goederen en diensten die we in Vlaanderen gebruiken (Figuur 2 en Figuren 6 en 9, linkerkant).
Hij omvat dus het land- en bosbouwgebruik in de ganse voorketen van die goederen en diensten, ook buiten onze regiogrenzen.
De impact die we hebben op urbane landgebruiken (industrie, ontginning van mineralen of fossiele brandstoffen, wegennet, woningen, etc.) zit niet mee in de cijfers vervat.
De landvoetafdruk van onze **export** berekent op dezelfde manier het landgebruik voor de diensten en de goederen die we in Vlaanderen verwerken en weer exporteren (Figuur 3 en Figuren 7 en 10, linkerkant). 
De landvoetafdruk van onze **ganse economie** toont de som van het landgebruik voor consumptie en voor export, zowel binnen Vlaanderen als buiten onze regiogrenzen (Figuren 8 en 11, linkerkant). 
- Figuur 4 en 5 (en verderop telkens de rechtse figuur) tonen het **potentieel verlies aan planten- en diersoorten dat met dat land- en bosbouwgebruik samengaat**.
Hoeveel biodiversiteit verloren gaat - ten opzichte van een natuurlijke referentiesituatie - hangt af van waar (in welk land) het landgebruik zich situeert en welke productiemethodes gehanteerd worden.
De gebruikte maat voor biodiversiteitsverlies is de **mondiale pdf** (*potentially disappeared fraction of species*): het is een maat voor het potentieel uitsterven van soorten op wereldschaal door het verlies van geschikt leefgebied.
Ze houdt rekening met de **kwetsbaarheid van soorten**.
De maat heeft vooral een **vergelijkende waarde**, absolute cijfers bespreken we daarom niet.
Deze biodiversiteitsvoetafdruk brengt het mogelijke verlies van soorten op lange termijn in kaart als het landgebruik van een bepaald jaar constant blijft.
Soorten verdwijnen echter niet altijd meteen wanneer hun omgeving verandert, en keren ook niet onmiddellijk terug als alles weer is zoals voorheen. Positieve evoluties worden dus mogelijk overschat.
Maar **maatregelen die beleidsmakers nu treffen, kunnen nog minstens een deel van het voorspelde biodiversiteitsverlies voorkomen**.

De landvoetafdruk en de bijbehorende biodiversiteitsvoetafdruk maken deel uit van een reeks voetafdrukindicatoren die gebaseerd zijn op hetzelfde economische basismodel ([zie voetafdruk biomassagebruik](https://www.vlaanderen.be/inbo/indicatoren/voetafdruk-biomassagebruik-algemeen) en [voetafdruk ontbossing en koolstofuitstoot in de (sub)tropen](https://www.vlaanderen.be/inbo/indicatoren/voetafdruk-ontbossing-en-koolstofuitstoot-in-de-sub-tropen-algemeen)).
Ze zijn bedoeld om de **grootteorde** van onze impact mee te geven, **algemene verhoudingen** tussen (groepen van) landen en sectoren af te leiden en **hotspots** aan te duiden voor verdere actie of onderzoek.
De indicatoren zijn onderling **verbonden en vullen elkaar aan**: de oogst van biomassa neemt land in beslag, waar vaak planten en dieren voor moeten wijken of hele bossen voor verdwijnen.
Ze tonen telkens andere facetten van onze impact, waarop het Vlaamse, federale en Europese beleid kunnen inspelen.

## Bespreking

De **Vlaamse economie** (het geheel van onze consumptie en onze productie voor export) heeft een aanzienlijke impact op het landgebruik en het bijbehorende verlies aan soorten in de wereld. 
Om ons consumptie- en productiepatroon te ondersteunen, gebruiken we jaarlijks **12 keer meer land** (bossen, akkers en weilanden) dan we in heel Vlaanderen ter beschikking hebben (zie indicator [voetafdruk landgebruik en biodiversiteit - algemeen](https://www.vlaanderen.be/inbo/indicatoren/voetafdruk-landgebruik-en-biodiversiteit-algemeen))[^2].
We veroorzaken ook veel hogere verliezen aan unieke planten- en diersoorten in het buitenland dan in Vlaanderen zelf.
De oppervlakte die we nodig hebben voor onze **Vlaamse consumptie**, bedroeg in 2019 ongeveer 67.000 km².
Slechts **3% van de bossen, akkers en weilanden** die we gebruiken, bevindt zich in Vlaanderen.
Ongeveer **1% van het verlies aan soorten** dat met dat landgebruik gepaard gaat, vindt plaats binnen onze regiogrenzen.

In wat volgt gaan we dieper in op:

- de **landen** waar onze impact het grootst is, 
- de verantwoordelijke **bedrijfstakken** in die landen en 
- de **producten en diensten** die we in Vlaanderen gebruiken en die aan de basis liggen van die impact. 

We bespreken enkel de figuren die de impact van onze **Vlaamse consumptie** tonen, zo’n **40 à 45% van de totale impact** van onze economie op het landgebruik en het bijbehorende verlies aan soorten in de wereld.  Figuren 2, 4, 6 en 9 tonen de gegevens voor de Vlaamse export, figuren 7 en 10 die voor de hele Vlaamse economie (consumptie + export).

[^1]: Opgelet: de figuur toont niet de volledige productie-consumptieketen. Hij toont enkel de exporterende bedrijfstakken per land van impact en de finale productgroepen die we in Vlaanderen consumeren. Tussenliggende sectoren in dezelfde of andere landen (bv. de verwerking van soja uit Brazilië in de Nederlandse diervoederindustrie) komen niet in beeld. De impact van de bedrijfstak veeteelt en zuivel omvat ook het landgebruik nodig om het veevoer te produceren als dat op het bedrijf zelf gebeurt, niet als de grondstoffen elders worden aangekocht. Een deel van de impact van de veeteelt- en zuivelsector zit dus ook vervat in de impact van de bedrijfstakken oliehoudende gewassen (soja e.a.) en granen (maïs e.a.), die de basis vormen voor heel wat diervoeders.
[^2]: De cijfers verschillen van de cijfers gerapporteerd in het methodologische [achtergronddocument](https://purews.inbo.be/ws/portalfiles/portal/94464468/Alaerts_Stevens_Christi_2023_ImpactVlaanderenOpDeBiodiversiteitInDeWereld.pdf) [@AlaertsEtAl2023], omdat het economische basismodel intussen enkele correcties en aanpassingen onderging (zie tabblad metadata). Vooral de exportcijfers verschillen aanzienlijk, omdat het huidige basismodel een andere kijk op wederuitvoer reflecteert: producten die enkel verhandeld worden in Vlaanderen en er geen verdere verwerking ondergaan, zitten niet meer vervat in de impact van onze export. Dit om afstemming met de andere voetafdrukindicatoren van de Vlaamse overheid (koolstofvoetafdruk, materialenvoetafdruk) te verzekeren. Om dezelfde reden werd ook de indeling van producten en diensten in productgroepen grondig aangepast. Daarnaast verbeteren de basisdata en de methodes van dit relatief nieuwe onderzoeksdomein ook voortdurend.

### Bosbouw, veevoeder en veeteelt domineren het landgebruik voor Vlaamse consumptie

De landvoetafdruk van onze consumptie is in 2019 het **grootst in Rusland, de VS, Australië, Congo-Kinshasa en Brazilië**, samen goed voor bijna 22.000 km² landgebruik (Figuur 1, linkerkant). 
Vlaanderen staat op plaats 8 en de rest van België (Brussel en Wallonië) op plaats 10 van de ranking. 

De **bedrijfstakken die in de landen van herkomst** verantwoordelijk zijn voor de omvang van het land- en bosbouwgebruik situeren zich vanzelfsprekend vooral in de primaire sector.
De voetafdruk in Rusland wordt grotendeels veroorzaakt door bosbouwactiviteiten en de teelt van granen (Figuur 1, midden).
Ook in de meeste andere landen van herkomst uit de top 5 (uitgenomen Australië) bekleedt **bosbouw een prominente plaats**.
Daarnaast hebben ook de **teelt van oliehoudende gewassen, de teelt van granen en de veeteelt en zuivelproductie** een belangrijk aandeel in de landvoetafdruk van onze consumptie.
De impact van de bedrijfstak veeteelt en zuivel die getoond wordt in figuur 1 omvat ook het landgebruik nodig om het veevoer te produceren als dat op het bedrijf zelf gebeurt, niet als de grondstoffen elders worden aangekocht.
Een deel van de impact van de veeteelt- en zuivelsector zit dus ook vervat in de impact van de bedrijfstakken oliehoudende gewassen (soja e.a.) en granen (maïs e.a.), die de basis vormen voor heel wat diervoeders. 

### Voeding heeft een groot aandeel in onze landvoetafdruk

Kijken we naar de impact van de **producten en diensten die we in Vlaanderen consumeren** op het wereldwijde landgebruik (Figuur 1, rechterkant), dan staat de diverse groep van **“overige diensten”** (o.a. ziekenhuizen, horeca, catering, toerisme, afvalverwerking, waterzuivering, onderwijs … ) op plaats 1, met 23% van onze impact, op de voet gevolgd door **“overige landbouw en voeding”** met 19%, en de grote groep van **“overige industriële producten”** (producten van metaal, ontginning, beton, meubels, elektronica, voertuigen …) met 15% van de impact (zie [Tabel 1](../voetafdruk_landgebruik_land_sector/tabel1_bedrijfstakken_productgroepen.csv) voor een overzicht van de bedrijfstakken en productgroepen).
De impact die per productgroep wordt weergegeven is de impact van het **biomassa-aandeel van elke productgroep** (bv. het hout in de bouwsector, de voeding en de medische materialen van biologische oorsprong in de ziekenhuizen…).
Materialen die niet afkomstig zijn van land- of bosbouwgebruik komen niet aan bod in deze indicator. 
De twee categorieën van (hoofdzakelijk) **voedingsproducten samen** (“vlees, zuivel en leder” en “overige landbouw en voeding”, inclusief diervoeder) staan in voor 28% van de impact van onze consumptie op het landgebruik.
Die cijfers omvatten niet de ganse impact van onze voedingsconsumptie op het landgebruik: de voeding geconsumeerd in de **horeca** en de externe **catering** van bedrijven en dienstverleners (ziekenhuizen, rusthuizen, scholen, etc.) vormen een belangrijk onderdeel van de productgroep “overige diensten”.
De interne catering van bedrijven (bv. uit de chemische en farmaceutische industrie) zit vervat onder elke bijbehorende productgroep (bv. chemische en farmaceutische producten).
Bij een volgende update van de indicator gaan we na of een opdeling van de productgroepen per type biomassastroom (bv. dierlijke voeding, niet-dierlijke voeding, hout, bio-energie…) mogelijk is. 

### Het verlies aan soorten is het grootst in (sub)tropische landen

Welke impact het (intensieve of extensieve) landgebruik heeft op de biodiversiteit hangt af van de draagkracht van het ecosysteem.
In soortenrijke gebieden met veel kwetsbare soorten is de impact op de biodiversiteit heel wat hoger dan elders.
De impact op het (potentiële) verlies aan soorten geeft daarom een ander beeld dan de landvoetafdruk.
Rusland en de VS verdwijnen uit de top 10 en **(sub)tropische landen als Madagaskar, Brazilië, Indonesië, China, Costa Rica, Chili en India treden op de voorgrond** (Figuur 3, linkerkant).
Begrazing voor veeteelt in Madagaskar heeft bijvoorbeeld een grote invloed op het verlies aan soorten, omdat het land heel wat soorten huisvest die nergens anders ter wereld voorkomen.
Onze landvoetafdruk in Madagaskar is ongeveer tien keer kleiner dan onze landvoetafdruk in Brazilië, maar de impact op de wereldwijde soortenrijkdom is ongeveer gelijk door de unieke Malagassische natuur. Ook in andere tropische landen met een grote soortenrijkdom vertaalt onze relatief beperkte landvoetafdruk zich in een grote biodiversiteitsimpact (Papoea-Nieuw-Guinea, Indonesië, Costa Rica).
Een land als Rusland verdwijnt uit de ranking voor soortenverlies, omdat het wereldwijde verlies aan soorten per eenheid landgebruik (ha grasland, akkerland of bosland) er volgens de beschikbare gegevens erg laag is.
Die gegevens zijn voor Rusland echter ook heel onzeker (zie [@AlaertsEtAl2023], Bijlage 2.1 Landgebruik).

### Consumptie van vlees, zuivel en bosbouwproducten hoofdoorzaak van Vlaamse impact op wereldwijd soortenverlies

**Veeteelt** wordt in de meeste landen de **lokale bedrijfstak** met de grootste bijdrage aan onze biodiversiteitsvoetafdruk (verlies aan soorten, Figuur 3, midden).
Daarnaast komt ook **bosbouw** weer naar voren als sector met een grote impact in de landen van herkomst van onze grond- en hulpstoffen.
In enkele Aziatische landen (o.a. Indonesië, India, Papoea-Nieuw-Guinea) speelt ook de teelt van **oliehoudende gewassen** (o.a. palmolie, soja) een relatief belangrijke rol. 

Kijken we vanuit de **productgroepen die de Vlaming consumeert** (Figuur 3, rechterkant), dan zien we een vergelijkbare ranking als voorheen voor de landvoetafdruk: de grote groep van **“overige diensten”** staat op plaats 1, verantwoordelijk voor bijna een vierde van de impact, de twee groepen van hoofdzakelijk **voedingsproducten** (“vlees, zuivel en leder” en “overige landbouw en voeding”, inclusief diervoeder) samen staan in voor 30% van de impact en de **“overige industriële producten”** maken met 15% ook een belangrijk aandeel uit van onze impact op het verlies aan soorten.
Opnieuw geldt de bemerking dat de berekende impact per productgroep enkel het biomassa-aandeel van elke productgroep omvat, en dat voeding niet alleen vervat zit in de voedingssectoren, maar ook een belangrijk onderdeel vormt van de productgroep “overige diensten”.

### Verschuivingen in productgroepen en landen van herkomst

De **landen waar onze consumptie de grootste impact** heeft, blijven vrij **constant over de hele periode** (Figuur 5).
Voor landgebruik verdwijnt Argentinië vanaf 2016 uit de top 10 en vervoegt Vlaanderen de lijst.
In de grafiek voor het verlies aan soorten vervoegen Australië en Zuid-Afrika de top 10 vanaf 2015.
Landen als de Filipijnen, Papoea-Nieuw-Guinea en Sri-Lanka verschijnen en verdwijnen in de ranking. 

De impact van de **productgroep** “overige diensten” op het landgebruik en op het bijbehorende verlies aan soorten neemt gestaag toe (met respectievelijk 15% en 25%) tussen 2010 en 2016, en schommelt sterk in de tweede periode (Figuur 8).
De impact van de productgroep “bouwwerken” op het **landgebruik** daalt tussen 2010 en 2016 met 27% en blijft vrij constant in de tweede periode.
De impact van de “overige industriële producten” op het **soortenverlies** neemt toe met 41% in periode 1 en 13% in periode 2.
In beide impactcategorieën schommelt de impact van de “overige landbouw en voeding” en stijgt de impact van de “chemische en farmaceutische producten” tussen 2015 en 2019 met respectievelijk bijna 17% en meer dan 25%. Hij kent een scherpe piek in 2018.
Die piek is te wijten aan een relatief beperkte verschuiving in de herkomst van de betrokken producten: we halen in 2018 iets meer grondstoffen uit o.a. de Australische veeteeltsector.
Die verschuiving vertaalt zich in een vrij grote impact op het graslandgebruik en op het bijbehorende verlies aan soorten.
Mogelijk liggen droogtestress en de lokale prijsschommelingen die daarmee gepaard gaan aan de basis (zie ook opmerkingen over modelonzekerheden in het tabblad metadata).
Omdat de **foutenmarge** op de data **onbekend** is, kunnen we niet spreken van significante trends.

## Trend landen{.tabset}
```{r parameters-grafiek-trend-land, echo = FALSE, message = FALSE}
# Plotparameters definiëren
facetnames <- c(
  `biomass` = "Biomassagebruik (Mt)",
  `deforestation` = "Ontbossing in de (sub)tropen (ha)",
  `lu` = "Landgebruik (km²)",
  `lu_emissions` = "Koolstofuitstoot ontbossing en drainage (MtCO2)",
  `pdf` = "Soortenverlies door landgebruik (10<sup>-6</sup> pdf)",
  `value` = "Toegvoegde waarde (miljoen €)")
breaks <- c(2010, 2012, 2014, 2015, 2016, 2017, 2018, 2019)
labels <- c("2010", "2012", "2014", "2015", "2016", "2017", "2018", "2019")
colors_land <- c("#EEE685", "#990F26", "#B33E52", "#CC7A88", "#E6B8BF",
                 "#99600F", "#B3823E", "#CCAA7A", "#E6D2B8", "#54990F",
                 "#78B33E", "#A3CC7A", "#CFE6B8", "#0F8299", "#3E9FB3",
                 "#7ABECC", "#B8DEE6", "#3D0F99", "#653EB3", "#967ACC",
                 "#C7B8E6", "#666666", "#CCCCCC")

```
### Voetafdruk Vlaamse consumptie
```{r grafiek-trend-land-cons, echo = FALSE, fig.width = 8, fig.height = 5, fig.cap = "Figuur 5: impact van de Vlaamse consumptie op het landgebruik (links) en het potentiële verlies aan soorten door landgebruik (rechts). Elke staaf toont de 10 landen waar onze voetafdruk het hoogst is. Het verlies aan soorten wordt uitgedrukt in mondiale pdf (*potentially disappeared fraction of species*), een maat voor het potentieel uitsterven van soorten op wereldschaal als gevolg van ons landgebruik. De impact is opgedeeld in 2 meetperiodes (2010 - 2016 en 2015 - 2019) die elk een verschillend economisch model als basis hanteren (zie tabblad metadata)."}

# Data inlezen
data_trend_land <- read_vc("data_trend_land_cons")

# Factorniveaus in de gewenste volgorde zetten
data_trend_land_lu <- data_trend_land %>%
  filter(impact %in% c("lu", "pdf"))
orde <- data_trend_land_lu %>%
  select(jaar, periode, impact, land, val_impact_t) %>%
  arrange(impact, jaar, desc(val_impact_t)) %>%
  pull(land) %>%
  unique()
data_trend_land_lu <- data_trend_land_lu %>%
  mutate(land = factor(land, levels = as.character(orde)))

names(colors_land) <- orde

# Trendfiguur consumptie
p5 <- ggplot(data_trend_land_lu,
       aes(x = jaar, y = val_impact_t,
           fill = land,
           text = paste("Jaar:",
                        scales::number(jaar, accuracy = 1),
                        "<br>Land:", land,
                        "<br>", impacttext, ":",
                        afgerond,
                        "<br>Periode:", periode))) +
  geom_bar(stat = "identity", position = position_stack(reverse = TRUE),
           width = 0.35) +
  facet_wrap(vars(impact), labeller = as_labeller(facetnames),
             scales = "free") +
  scale_fill_manual(values = colors_land, name = "") +
  scale_x_continuous(breaks = breaks, labels = labels) +
  theme_bw() +
  theme(legend.position = "bottom",
        panel.spacing = unit(1, "cm", data = NULL)) +
  guides(fill = guide_legend(nrow = 5)) +
  xlab("") + ylab("")


p5 <-  ggplotly(p5, tooltip = c("text")) %>%
    layout(legend = list(orientation = "h", nrows = 5)) %>%
    plotly::config(
      modeBarButtonsToRemove = list(
        "lasso2d", "select2d", "hoverClosestCartesian",
        "hoverCompareCartesian", "toggleSpikelines"
      ),
      displaylogo = FALSE
    )
p5
```
### Voetafdruk Vlaamse export
```{r grafiek-trend-land-exp, echo = FALSE, fig.width = 8, fig.height = 5, fig.cap = "Figuur 6: impact van de Vlaamse export op het landgebruik (links) en het potentiële verlies aan soorten door landgebruik (rechts). Elke staaf toont de 10 landen waar onze voetafdruk het hoogst is. Het verlies aan soorten wordt uitgedrukt in mondiale pdf (*potentially disappeared fraction of species*), een maat voor het potentieel uitsterven van soorten op wereldschaal als gevolg van ons landgebruik. De impact is opgedeeld in 2 meetperiodes (2010 - 2016 en 2015 - 2019) die elk een verschillend economisch model als basis hanteren (zie tabblad metadata)."}

# Data inlezen
data_trend_land <- read_vc("data_trend_land_exp")

# Factorniveaus in de gewenste volgorde zetten
data_trend_land_lu <- data_trend_land %>%
  filter(impact %in% c("lu", "pdf"))
orde <- data_trend_land_lu %>%
  select(jaar, periode, impact, land, val_impact_t) %>%
  arrange(impact, jaar, desc(val_impact_t)) %>%
  pull(land) %>%
  unique()
data_trend_land_lu <- data_trend_land_lu %>%
  mutate(land = factor(land, levels = as.character(orde)))

names(colors_land) <- orde

# Trendfiguur export
p6 <- ggplot(data_trend_land_lu,
       aes(x = jaar, y = val_impact_t,
           fill = land,
           text = paste("Jaar:",
                        scales::number(jaar, accuracy = 1),
                        "<br>Land:", land,
                        "<br>", impacttext, ":",
                        afgerond,
                        "<br>Periode:", periode))) +
  geom_bar(stat = "identity", position = position_stack(reverse = TRUE),
           width = 0.35) +
  facet_wrap(vars(impact), labeller = as_labeller(facetnames),
             scales = "free") +
  scale_fill_manual(values = colors_land, name = "") +
  scale_x_continuous(breaks = breaks, labels = labels) +
  theme_bw() +
  theme(legend.position = "bottom",
        panel.spacing = unit(1, "cm", data = NULL)) +
  guides(fill = guide_legend(nrow = 5)) +
  xlab("") + ylab("")


p6 <- ggplotly(p6, tooltip = c("text")) %>%
    layout(legend = list(orientation = "h", nrows = 5)) %>%
    plotly::config(
      modeBarButtonsToRemove = list(
        "lasso2d", "select2d", "hoverClosestCartesian",
        "hoverCompareCartesian", "toggleSpikelines"
      ),
      displaylogo = FALSE
    )
p6
```
### Voetafdruk Vlaamse economie
```{r grafiek-trend-land-tot, echo = FALSE, fig.width = 8, fig.height = 5, fig.cap = "Figuur 7: impact van de Vlaamse economie op het landgebruik (links) en het potentiële verlies aan soorten door landgebruik (rechts). Elke staaf toont de 10 landen waar onze voetafdruk het hoogst is. Het verlies aan soorten wordt uitgedrukt in mondiale pdf (*potentially disappeared fraction of species*), een maat voor het potentieel uitsterven van soorten op wereldschaal als gevolg van ons landgebruik. De impact is opgedeeld in 2 meetperiodes (2010 - 2016 en 2015 - 2019) die elk een verschillend economisch model als basis hanteren (zie tabblad metadata)."}

# Data inlezen
data_trend_land <- read_vc("data_trend_land_tot")

# Factorniveaus in de gewenste volgorde zetten
data_trend_land_lu <- data_trend_land %>%
  filter(impact %in% c("lu", "pdf"))
orde <- data_trend_land_lu %>%
  select(jaar, periode, impact, land, val_impact_t) %>%
  arrange(impact, jaar, desc(val_impact_t)) %>%
  pull(land) %>%
  unique()
data_trend_land_lu <- data_trend_land_lu %>%
  mutate(land = factor(land, levels = as.character(orde)))

names(colors_land) <- orde

# Trendfiguur totale economie
p7 <- ggplot(data_trend_land_lu,
       aes(x = jaar, y = val_impact_t,
           fill = land,
           text = paste("Jaar:",
                        scales::number(jaar, accuracy = 1),
                        "<br>Land:", land,
                        "<br>", impacttext, ":",
                        afgerond,
                        "<br>Periode:", periode))) +
  geom_bar(stat = "identity", position = position_stack(reverse = TRUE),
           width = 0.35) +
  facet_wrap(vars(impact), labeller = as_labeller(facetnames),
             scales = "free") +
  scale_fill_manual(values = colors_land, name = "") +
  scale_x_continuous(breaks = breaks, labels = labels) +
  theme_bw() +
  theme(legend.position = "bottom",
        panel.spacing = unit(1, "cm", data = NULL)) +
  guides(fill = guide_legend(nrow = 5)) +
  xlab("") + ylab("")

p7 <- ggplotly(p7, tooltip = c("text")) %>%
    layout(legend = list(orientation = "h", nrows = 5)) %>%
    plotly::config(
      modeBarButtonsToRemove = list(
        "lasso2d", "select2d", "hoverClosestCartesian",
        "hoverCompareCartesian", "toggleSpikelines"
      ),
      displaylogo = FALSE
    )
p7
```
## {.tabset-end}

## Trend producten{.tabset}
```{r parameters-grafiek-trend-productgroep, echo = FALSE, message = FALSE}
# Plotparameters definiëren
facetnames <- c(`biomass` = "Biomassagebruik (Mt)",
                `deforestation` = "Ontbossing in de (sub)tropen (ha)",
                `lu` = "Landgebruik (km²)", `lu_emissions` =
                  "Koolstofuitstoot ontbossing en drainage (MtCO2)",
                `pdf` = "Soortenverlies door landgebruik (10<sup>-6</sup> pdf)",
                `value` = "Toegvoegde waarde (miljoen €)")
breaks <- c(2010, 2012, 2014, 2015, 2016, 2017, 2018, 2019)
labels <- c("2010", "2012", "2014", "2015", "2016", "2017", "2018", "2019")
colors <- c("energie en transport" = "darkblue",
            "hout en papier" = "chartreuse3",
            "overige diensten" = "deeppink3",
            "handel" = "orchid4",
            "overige landbouw en voeding" = "yellow",
            "bouwwerken" = "darkorange1",
            "vlees, zuivel en leder" = "brown",
            "chemische en farmaceutische producten" = "lightpink3",
            "overige industriële producten" = "gray75")

```
### Voetafdruk Vlaamse consumptie
```{r grafiek-trend-productgroep-cons, fig.width = 8, fig.height = 5, fig.cap = "Figuur 8: impact van de Vlaamse consumptie op het landgebruik (links) en het potentiële verlies aan soorten door landgebruik (rechts), opgedeeld per productgroep van de Vlaamse consumptie. Het verlies aan soorten wordt uitgedrukt in mondiale pdf (*potentially disappeared fraction of species*), een maat voor het potentieel uitsterven van soorten op wereldschaal als gevolg van ons landgebruik. De impact is opgedeeld in 2 meetperiodes (2010 - 2016 en 2015 - 2019) die elk een verschillend economisch model als basis hanteren (zie tabblad metadata)."}

# Data inlezen
data_trend_pg <- read_vc("data_trend_pg_cons")

# Factorniveaus in de gewenste volgorde zetten
data_trend_pg_lu <- data_trend_pg %>%
  filter(impact %in% c("lu", "pdf"))
orde <- data_trend_pg_lu %>%
  select(jaar, impact, pg2, val_impact_t) %>%
  arrange(impact, jaar, val_impact_t) %>%
  pull(pg2) %>%
  unique()

data_trend_pg_lu <- data_trend_pg_lu %>%
  mutate(pg2 = factor(pg2, levels = as.character(orde)))

# Trendfiguur consumptie
p8 <- ggplot(data_trend_pg_lu,
       aes(x = jaar, y = val_impact_t,
           fill = pg2,
           text = paste("Jaar:",
                        scales::number(jaar, accuracy = 1),
                        "<br>Productgroep:", pg2,
                        "<br>", impacttext, ":",
                        afgerond, "<br>Aandeel:", perc, "%",
                        "<br>Periode:", periode))) +
  geom_bar(stat = "identity", width = 0.35) +
  facet_wrap(vars(impact),
             labeller = as_labeller(facetnames),
             scales = "free") +
  scale_fill_manual(values = colors, name = "") +
  scale_x_continuous(breaks = breaks, labels = labels) +
  theme_bw() +
  theme(legend.position = "bottom",
        panel.spacing = unit(1, "cm", data = NULL)) +
  guides(fill = guide_legend(ncol = 3)) +
  xlab("") + ylab("")

p8 <- ggplotly(p8, tooltip = c("text")) %>%
    layout(legend = list(orientation = "h", nrows = 5)) %>%
    plotly::config(
      modeBarButtonsToRemove = list(
        "lasso2d", "select2d", "hoverClosestCartesian",
        "hoverCompareCartesian", "toggleSpikelines"
      ),
      displaylogo = FALSE
    )
p8
```
### Voetafdruk Vlaamse export
```{r grafiek-trend-productgroep-exp, fig.width = 8, fig.height = 5, fig.cap = "Figuur 9: impact van de Vlaamse export op het landgebruik (links) en het potentiële verlies aan soorten door landgebruik (rechts), opgedeeld per productgroep van de Vlaamse consumptie. Het verlies aan soorten wordt uitgedrukt in mondiale pdf (*potentially disappeared fraction of species*), een maat voor het potentieel uitsterven van soorten op wereldschaal als gevolg van ons landgebruik. De impact is opgedeeld in 2 meetperiodes (2010 - 2016 en 2015 - 2019) die elk een verschillend economisch model als basis hanteren (zie tabblad metadata)."}

# Data inlezen
data_trend_pg <- read_vc("data_trend_pg_exp")

# Factorniveaus in de gewenste volgorde zetten
data_trend_pg_lu <- data_trend_pg %>%
  filter(impact %in% c("lu", "pdf"))
orde <- data_trend_pg_lu %>%
  select(jaar, impact, pg2, val_impact_t) %>%
  arrange(impact, jaar, val_impact_t) %>%
  pull(pg2) %>%
  unique()

data_trend_pg_lu <- data_trend_pg_lu %>%
  mutate(pg2 = factor(pg2, levels = as.character(orde)))

# Trendfiguur export
p9 <- ggplot(data_trend_pg_lu,
       aes(x = jaar, y = val_impact_t,
           fill = pg2,
           text = paste("Jaar:",
                        scales::number(jaar, accuracy = 1),
                        "<br>Productgroep:", pg2,
                        "<br>", impacttext, ":",
                        afgerond, "<br>Aandeel:", perc, "%",
                        "<br>Periode:", periode))) +
  geom_bar(stat = "identity", width = 0.35) +
  facet_wrap(vars(impact),
             labeller = as_labeller(facetnames),
             scales = "free") +
  scale_fill_manual(values = colors, name = "") +
  scale_x_continuous(breaks = breaks, labels = labels) +
  theme_bw() +
  theme(legend.position = "bottom",
        panel.spacing = unit(1, "cm", data = NULL)) +
  guides(fill = guide_legend(ncol = 3)) +
  xlab("") + ylab("")

p9 <- ggplotly(p9, tooltip = c("text")) %>%
    layout(legend = list(orientation = "h", nrows = 5)) %>%
    plotly::config(
      modeBarButtonsToRemove = list(
        "lasso2d", "select2d", "hoverClosestCartesian",
        "hoverCompareCartesian", "toggleSpikelines"
      ),
      displaylogo = FALSE
    )
p9
```
### Voetafdruk Vlaamse economie
```{r grafiek-trend-productgroep-tot, fig.width = 8, fig.height = 5, fig.cap = "Figuur 10: impact van de Vlaamse economie op het landgebruik (links) en het potentiële verlies aan soorten door landgebruik (rechts), opgedeeld per productgroep van de Vlaamse consumptie. Het verlies aan soorten wordt uitgedrukt in mondiale pdf (*potentially disappeared fraction of species*), een maat voor het potentieel uitsterven van soorten op wereldschaal als gevolg van ons landgebruik. De impact is opgedeeld in 2 meetperiodes (2010 - 2016 en 2015 - 2019) die elk een verschillend economisch model als basis hanteren (zie tabblad metadata)."}

# Data inlezen
data_trend_pg <- read_vc("data_trend_pg_tot")

# Factorniveaus in de gewenste volgorde zetten
data_trend_pg_lu <- data_trend_pg %>%
  filter(impact %in% c("lu", "pdf"))
orde <- data_trend_pg_lu %>%
  select(jaar, impact, pg2, val_impact_t) %>%
  arrange(impact, jaar, val_impact_t) %>%
  pull(pg2) %>%
  unique()

data_trend_pg_lu <- data_trend_pg_lu %>%
  mutate(pg2 = factor(pg2, levels = as.character(orde)))

# Trendfiguur totale economie
p10 <- ggplot(data_trend_pg_lu,
       aes(x = jaar, y = val_impact_t,
           fill = pg2,
           text = paste("Jaar:",
                        scales::number(jaar, accuracy = 1),
                        "<br>Productgroep:", pg2,
                        "<br>", impacttext, ":",
                        afgerond, "<br>Aandeel:", perc, "%",
                        "<br>Periode:", periode))) +
  geom_bar(stat = "identity", width = 0.35) +
  facet_wrap(vars(impact),
             labeller = as_labeller(facetnames),
             scales = "free") +
  scale_fill_manual(values = colors, name = "") +
  scale_x_continuous(breaks = breaks, labels = labels) +
  theme_bw() +
  theme(legend.position = "bottom",
        panel.spacing = unit(1, "cm", data = NULL)) +
  guides(fill = guide_legend(ncol = 3)) +
  xlab("") + ylab("")

p10 <- ggplotly(p10, tooltip = c("text")) %>%
    layout(legend = list(orientation = "h", nrows = 5)) %>%
    plotly::config(
      modeBarButtonsToRemove = list(
        "lasso2d", "select2d", "hoverClosestCartesian",
        "hoverCompareCartesian", "toggleSpikelines"
      ),
      displaylogo = FALSE
    )
p10
```
## {.tabset-end}

## Referenties
