Code Monkey home page Code Monkey logo

soc-mapping-cookbook's Introduction

SOC-Mapping-Cookbook

The Soil Organic Carbon mapping Cookbook

This is the website for the second edition of the cookbook. The cookbook provides generic methodologies and technical steps to produce SOC maps. This edition has been updated with knowledge and practical experiences gained during the implementaion process of GSOCmap V1.0 throughout 2017. The cookbook includes step-by-step guidance for developing 1 km grids for SOC stocks, as well as for the preparation of local soil data, the compilation and preprocessing of ancillary spatial data sets, upscaling methodologies, and uncertainty assessment methods. Guidance is mainly specific to SOC data, but as this cookbook contains generic sections on soil grid development it can be applicsable to map various soil properties.

The guidance is focusing on the upscaling of national SOC stocks in order to produce the GSOCMap. Therefore, the cookbook supplements the *GSP Guidelines for Sharing National Data/Information to Compile a Global Soil Organic Carbon (GSOC) Map, providing technical guidelines to prepare and evaluate spatial soil data sets to:

  • Determine SOC stocks from local samples to a target depth of 30 cm;
  • Prepare spatial covariates for upscaling; and
  • Select and apply the best suitable upscaling methodology.

This books introduce 5 different approaches for obtaining the SOC maps. The first two methods presented are classified as convetional upscaling. The first one is class-matching. In this approach we derive average SOC stocks per class: soil type for which a national map exists, or combination with other spatial covariates (e.g. land use category, climate type, biome, etc.). This approach is used in the absence of spatial coordinates of the source data. The s econd one is geo-matching, were upscaling is based on averaged SOC values per mapping unit. Then, we present 3 methods from digital soil mapping. Regression-Kriging is a hybrid model with both, a deterministic and a stochastic component [@hengl2007regression]. Next method is called random forest. This one is an ensemble of regression trees based on bagging. This machine learning algorithm uses a different combination of prediction factors to train multiple regression trees [@Breiman1996]. The last method is called support Vector Machines (SVM). This method applies a simple linear method to the data but in a high-dimensional feature space non-linearly related to the input space [@Karatzoglou2006]. We present this diversity of methods because there is no best mapping method for digital soil mapping, and testing and selection has to be done for every data scenario [@soil-2017-40].

soc-mapping-cookbook's People

Contributors

dickbrus avatar marioguevara avatar midraed avatar stephaniereiter avatar viatkin avatar yigini avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

soc-mapping-cookbook's Issues

bad references representation

@USDA_2018 and @united1975soil
Author = {United States Department of Agriculture. Soil Conservation Service} is transformed to โ€œof Agriculture. Soil Conservation Service, U. S. D.โ€ probably because of bibtex naming rules.

code optional-Merging

topsoils <- topsoils[, c("ID", "X", "Y", "OC_percent", "BLD",
"OCSKGM", "meaERROR")] - should be "SOC" instead of "OC_percent"

profiles <- profiles[, c("ID", "X", "Y", "SOC", "BLD",
"OCSKGM", "meaERROR")] - should be "id" instead of "ID"

Chapter 12

Can we remove the chapter 12. I think it's not needed anymore since we have done with the data collection.

Chapter 12 - Image to be replaced

I uploaded the image 3 times but it has not been replaced. It's still the old image!

Figure 1.1: Proposed graphical workflow for producing a SOC map from data preparation to final result publishing

AVE values

On page 126, wrong AVE values did not change in the table although the formula in the code changed.

missing validation plot in Chapter 6

"The validation plot shows the regression line between observed and predicted of a
model that uses 75% (black line) and the regression lines of 10 model realizations,
each with a different random combination of data for training and validating the
models." - there is no picture of this plot

log-transformed values in Quantile RF

Chapter 12 code for Quantile Regression Forest uses column OCSKGMlog instead of OCSKGM. This column is created in Chapter 4, but never in Chapter 12, therefore the code in Chapter 12 doesn't work. We need either to change the code in Chapter 12 QuantileRF (e.g. by using log(OCSKGM) instead of OCSKGMlog), or add the creation of OCSKGMlog column to Chapter 12 data preparation scripts.

Validation issues

  1. Validation code in Chapter 12 is only for Random Forest which is not interesting. I think it would be better to copy there the codes from Chapter 7.5

  2. In Chapter 7.5 the code
    dat <- extract(x = OCSKGM_RK, y = dat, sp = TRUE) will not work, because raster OCSKGM_RK is in metric coordinate system with which it was created in Chapter 6. We either need to reproject it in Chapter 7 before extracting values, or in Chapter 6 before writing a .tiff file.

  3. In Chapter 7.5. the formulas for amount of variance explained are wrong. E.g.:
    AVE_GM <- 1 - sum(dat$PE_GM^2, na.rm=TRUE) /
    sum( (dat$MKD_OCSKGM_GM - mean(dat$OCSKGM, na.rm = TRUE))^2,
    na.rm = TRUE)

    should be:
    AVE_GM <- 1 - sum(dat$PE_GM^2, na.rm=TRUE) /
    sum( (dat$OCSKGM - mean(dat$OCSKGM, na.rm = TRUE))^2,
    na.rm = TRUE)

    Same error also for AVE_RK, AVE_rf, AVE_svm

piece of code disabled in Chapter 6

Section 6.3.7 Technical steps - Using quantile regression forest...
Step 3 is empty. The corresponding section of a code is set 'eval=false'

soil map

I'm checking continuity of the codes in the cookbook.
The cookbook has a code (optional) for rasterizing a soil map. Then the code for overlaying covariates (mandatory) refers to previously rasterized soil map. So, we need a soil map. The cookbook refers to a file "MK_soilmap_simple.shp".
@midraed do you have this file?
? Do we keep soil map as a part of covariate stack in the (main) example or we leave it out?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.