Skip to contents

The soilsampling package provides methods for designing soil sampling schemes including spatial coverage sampling, simple random sampling, stratified random sampling, and composite sampling. The package uses sf for spatial operations and does not require Java or the sp package.

Details

The package implements three main sampling approaches:

  • Simple Random Sampling (ss_random()): Selects sampling locations uniformly at random within the study area.

  • Stratified Random Sampling (ss_stratified()): Divides the study area into compact strata and samples randomly within each stratum.

  • Spatial Coverage Sampling (ss_coverage()): Places samples at the centroids of compact geographical strata for optimal spatial coverage.

The stratification is based on k-means clustering as described in Walvoort et al. (2010). Two k-means algorithms are available:

  • Transfer algorithm: Standard k-means that creates compact strata of potentially unequal sizes.

  • Swop algorithm: Creates compact strata of equal size, useful for composite sampling.

Main Functions

Stratification:

Sampling:

Visualization:

Utilities:

Workflow

A typical workflow for spatial coverage sampling:


library(soilsampling)
library(sf)

# Load or create study area
study_area <- st_read("study_area.shp")

# Option 1: Direct coverage sampling
samples <- ss_coverage(study_area, n_strata = 50, n_try = 10)

# Option 2: Create strata first, then sample
strata <- ss_stratify(study_area, n_strata = 50, n_try = 10)
samples <- ss_coverage(strata)

# Visualize
ss_plot(strata, samples = samples)

# Export coordinates
coords <- ss_to_data_frame(samples)
write.csv(coords, "sampling_points.csv")

When to Use Each Method

  • Spatial coverage sampling (ss_coverage()): Best for model-based inference (kriging). Provides optimal spatial coverage for interpolation.

  • Stratified random sampling (ss_stratified()): Best for design-based inference. Provides valid probability samples while ensuring coverage.

  • Simple random sampling (ss_random()): Use when no prior stratification is desired. Valid for design-based inference.

  • Composite sampling (ss_composite()): Use when samples will be physically combined before analysis to reduce costs.

References

de Gruijter, J.J., Brus, D.J., Bierkens, M.F.P., and Knotters, M. (2006). Sampling for Natural Resource Monitoring. Springer, Berlin.

Walvoort, D.J.J., Brus, D.J., and de Gruijter, J.J. (2010). An R package for spatial coverage sampling and random sampling from compact geographical strata by k-means. Computers & Geosciences 36, 1261-1267. doi:10.1016/j.cageo.2010.04.005

Author

Maintainer: Carlos Carbajal ccarbajal@educagis.com