Generate a color signature for each soil profile in a collection.
Arguments
- spc
a
SoilProfileCollectionobject- r
horizon level attribute containing soil color (sRGB) red values
- g
horizon level attribute containing soil color (sRGB) green values
- b
horizon level attribute containing soil color (sRGB) blue values
- method
algorithm used to compute color signature,
colorBucket,depthSlices, orpam- pam.k
number of classes to request from
cluster::pam()- RescaleLightnessBy
rescaling factor for CIE LAB L-coordinate
- useProportions
use proportions or quantities, see details
- pigmentNames
names for resulting pigment proportions or quantities
- apply.fun
function passed to
aqp::profileApply(APPLY.FUN)argument, can be used to add progress bars viapbapply::pblapply, or parallel processing withfurrr::future_map
Value
For the colorBucket method, a data.frame object containing:
id column: set according to
idname(spc).white.pigment: proportion or quantity of CIE LAB L-values.red.pigment: proportion or quantity of CIE LAB positive A-values.green.pigment: proportion or quantity of CIE LAB negative A-values.yellow.pigment: proportion or quantity of CIE LAB positive B-values.blue.pigment: proportion or quantity of CIE LAB negative B-values
Column names can be adjusted with the pigmentNames argument.
For the depthSlices method ...
For the pam method ...
Details
See the related tutorial.
Examples
# trivial example, not very interesting
data(sp1)
depths(sp1) <- id ~ top + bottom
# convert Munsell -> sRGB triplets
rgb.data <- munsell2rgb(sp1$hue, sp1$value, sp1$chroma, return_triplets = TRUE)
sp1$r <- rgb.data$r
sp1$g <- rgb.data$g
sp1$b <- rgb.data$b
# extract color signature
pig <- soilColorSignature(sp1)