Understanding the spatial distribution of ecosystem services (ESS) is essential for nature-based solutions (NbS). In this guide, we walk through a replicable methodology for mapping both provisioning and regulating ESS across Europe using CORINE land cover data.
Mapping and Quantifying the spatial distribution of ecosystem services (ES) is very useful for climate-resilient policy and planning for nature-based solutions (NbS). Normally, one will do this by modelling and assessing the supply of ecosystem services (ESS) at a given location. However, direct monitoring of every service is rarely feasible at larger or even at local scales where local measurement or insotu data capacity is not present. Most Ecosystem service assessment often relies on land cover as a proxy due to the absence of primary field-based data.
Several scholarly works (Burkhard et al., 2009, Jacobs et al., 2015, Maes et al., 2012) have established land cover as a reasonable proxy for estimating ecosystem service supply, especially where direct measurements are unavailable. Here, we modified the approach of (Burkhard et al., 2009) and present a methodology that leverages the CORINE Land Cover (CLC) inventory with expert/sound judgement approximations to generate both regulating and provisioning ES layers.
ES mapping traditionally follows four families of approaches (Burkhard et al., 2009; Jacobs et al., 2015; Maes et al., 2012):
We realised that Proxy methods dominate large-area studies because they are quick and inexpensive, but they risk sizable errors by assuming uniform service supply within a land-cover class (Eigenbrod et al., 2010). To mitigate those shortcomings, we: (i) use weighted score tables calibrated from recent European studies; (ii) implement optional probability layers following Nedkov & Burkhard (2012); and (iii) provide UI tools for rapid sensitivity checks.
Paradigm | Typical Data | Core Strength | Key Limitation |
---|---|---|---|
Proxy / Matrix | Land-cover maps (CORINE, GlobCover) | Fast, transparent, scalable | Assumes equal service across class; static |
Process-based | Climate, DEM, soils, hydrology | Mechanistic; scenario-ready | High data & expertise demand |
Empirical / ML | Field plots, crowdsourced, RS metrics | Data-driven accuracy | Often local; expensive to upscale |
Participatory | Workshops, interviews | Cultural relevance; stakeholder buy-in | Subjective; coarse spatial detail |
Hybrid (this guide) | CORINE + weighted scores + optional probabilities | Continental coverage; reproducible; GEE-native | Relies on proxy assumptions; field validation advised |
We will walk you through:
.remap()
.Each step is designed to be modular and replicable, allowing you to adapt the workflow to your specific needs or local conditions. To handle these datasets and computation effiecntly, We will use Earth Engine to do this.
At the end of this guide, we will produce a replicable pipeline that can be deploy to NbS potential implementation, evaluate land-use trade-offs, or track ES produced by these areas and what hazards they can support or mitigate it as well as what potential hzards can affect those ecosystems.
sessionInfo()
R version 4.4.0 (2024-04-24 ucrt)
Platform: x86_64-w64-mingw32/x64
Running under: Windows 11 x64 (build 22631)
Matrix products: default
locale:
[1] LC_COLLATE=English_Germany.utf8 LC_CTYPE=English_Germany.utf8
[3] LC_MONETARY=English_Germany.utf8 LC_NUMERIC=C
[5] LC_TIME=English_Germany.utf8
time zone: Europe/Berlin
tzcode source: internal
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] terra_1.8-5 sf_1.0-19 workflowr_1.7.1
loaded via a namespace (and not attached):
[1] jsonlite_1.8.8 compiler_4.4.0 promises_1.3.0 Rcpp_1.0.13
[5] stringr_1.5.1 git2r_0.33.0 callr_3.7.6 later_1.3.2
[9] jquerylib_0.1.4 yaml_2.3.10 fastmap_1.2.0 R6_2.5.1
[13] classInt_0.4-10 knitr_1.48 tibble_3.2.1 units_0.8-5
[17] rprojroot_2.0.4 DBI_1.2.3 bslib_0.8.0 pillar_1.9.0
[21] rlang_1.1.4 utf8_1.2.4 cachem_1.1.0 stringi_1.8.4
[25] httpuv_1.6.15 xfun_0.47 getPass_0.2-4 fs_1.6.4
[29] sass_0.4.9 cli_3.6.3 magrittr_2.0.3 class_7.3-22
[33] ps_1.8.1 grid_4.4.0 digest_0.6.36 processx_3.8.4
[37] rstudioapi_0.16.0 lifecycle_1.0.4 vctrs_0.6.5 KernSmooth_2.23-22
[41] proxy_0.4-27 evaluate_0.24.0 glue_1.7.0 whisker_0.4.1
[45] codetools_0.2-20 e1071_1.7-16 fansi_1.0.6 rmarkdown_2.28
[49] httr_1.4.7 tools_4.4.0 pkgconfig_2.0.3 htmltools_0.5.8.1