hzDesgn()
, get horizon designations from a SPChzdesgnname()
/hzdesgnname()<-
and hztexclname()
/hztexclname()<-
get/set column containing horizon designations and texture classesglom()
profileApply()
enhancement for large SoilProfileCollection
objects (https://github.com/ncss-tech/aqp/issues/112)profileApply()
frameify
argument for data.frame
output (https://github.com/ncss-tech/aqp/issues/111)checkHzDepthLogic()
replaces test_hz_logic()
rgb2munsell()
and colorQuantiles()
now uses the CIE2000 distance metric for color comparisoncolorQuantiles
until farver
2.0.2 is available on CRANSoilProfileCollection
object gains new slot: @restrictions
, fix old objects with rebuildSPC()
evalMissingData()
gets new argument for relative vs. absolute evalulation of missing datahorizonColorIndices()
, harden.rubification()
, harden.melanization()
, thompson.bell.darkness()
and associated functions in soilColorIndices.Rrowley2019
Hmisc
(hdquantile), loading aqp
is now much faster
slab()
now uses stats::quantile()
as the default slab functionslab()
can be activated via argument: slab.fun = aqp:::.slab.fun.numeric.HD
generalize.hz()
gets a argument for passing additional arguments to grep()
, e.g. perl=TRUE
addVolumeFraction()
can now accept a vector of colors, as many as number of horizonsjacobs2000
, pending documentationaggregateColor()
faster and more accuracte, using delta-E00 for quantized colors c/o {farver} (see https://github.com/ncss-tech/aqp/issues/98)contrastChart()
and soilPalette()
plotSPC()
gains a new argument for relative positioning: relative.posfixOverlap()
, see manual page for examplesexplainPlotSPC()
, addDiagnosticBracket()
, and addVolumeFraction()
updated accordinglyplotSPC()
will now attempt to create multi-row legends when using a factor > n.legend levelsplotSPC()
will now generate > 10 colors for legends associated with a factor (https://github.com/ncss-tech/aqp/issues/9)munsell2rgb()
will now return CIE LAB coordinates if requested (https://github.com/ncss-tech/aqp/issues/69)aggregateColor()
gets a new feature, similar colors can be grouped via cluster::pam()previewColors()
, colorQuantiles()
, plotColorQuantiles()
horizonDepths()<-
, edit top/bottom names after SPC initprofile_id()<-
, edit profile IDs after init; be careful!hzID()
and hzID()<-
, get/set unique horizon IDshzidname()
and hzidname()<-
, get/set column containing unique horizon IDsrbind.SoilProfileCollection()
has been deprecated in favor of union()
, gains new functionality: https://github.com/ncss-tech/aqp/issues/71horizonNames()<-
explainPlotSPC
from SPC tutorial to aqp::explainPlotSPC()
plotSPC()
is a little better at estimating “extra” vetical / horizontal space, still needs work (https://github.com/ncss-tech/aqp/issues/62)plotSPC()
gets a new argument, n.legend
: approximate number of classesaggregateColor()
for cases when horizon depths are missing or top/bottom logic flippedaddVolumeFraction()
when fragment volume > 100%addDiagnosticBracket()
allowing for specification of column containing diagnostic feature kindaddBracket()
now requires a data.frame with plotting details, see manual pageshannonEntropy()
, confusionIndex()
, and brierScore()
get.ml.hz()
for horizon names that start with number or punctuationget.ml.hz()
now uses internal aqp functions for Shannon entropy and Brier scoresmissingDataGrid()
relaxing slice()
with strict=FALSE
munsell
look-up tableplotSPC()
now able to deal with missing horizon data (thanks Stephen R.)rgb2munsell()
now uses CIELAB colorspace for lookup, results are more accurate as compared to using sRGB colorspacetexture.triangle.low.rv.high()
renamed to textureTriangleSummary()
. The old name still works, but a message is issuedrbind
-ingsoil_minerals
with some common soil mineral colors source: http://www.nrcs.usda.gov/wps/portal/nrcs/detail/soils/edu/?cid=nrcs142p2_054286getClosestMunsellChip()
sp6
) based on http://www.sciencedirect.com/science/article/pii/S0016706111001972munsell2rgb()
can now accommodate neutral hues (N), and values of “2.5”, see manual page for detailssoilColorSignature()
, see manual pageparseMunsell()
for converting strings of ‘10YR 2/2’ into R colors or RGB triplets
munsell2rgb
on parsed strings of full Munsell notationprofile_compare()
, getting ready for a complete overhaul to this functionevalMissingData()
, see manual pagegenhzTableToAdjMat
, hzTransitionProbabilities
rbind.SoilProfileCollection()
related to object re-ordering
profile_id(x)
and site(x)[[idname(x)]])
would not matchgroupedProfilePlot()
gains some new arguments and better documentation (see manual page)plot.SoilProfileCollection
gains argument: default.color
(see manual page)munsell2rgb()
guessGenHzLevels()
aggregateColor()
and associated helper function sharpshootR::aggregateColorPlot()
R CMD check --as-cran
happyprofileApply()
manual pagedigest::digest
is now imported by defaultSoilProfileCollection
objectsx.idx.offset
: allows for plotting of multiple SPC objects within the same figure, see examplesplot.depth.axis
: enable / disable depth axis, useful for multi-collection plotsprofileGroupLabels
: simple annotation for groups of profiles within a profile sketch, see manual page for examplesplotMultipleSPC
: plot several SPC objects on the same axis, see manual page for examplesaddBrackets()
, panel.depth_function()
, and plotSPC()
addBrackets()
allow for annotation of bracketslabel
, used to set site-level attribute containing profile labelssite(SCP) <- d
now tries to merge data from SPC@site with ‘d’ via left join
strict
argument to many functions, to gracefully account for bad horizon data
SoilProfileCollection
SoilProfileList
classesSoilProfileCollection
class
new functions for getting data out of PedonPC (MS Access) databases [windows only for now]
implemented in mix_and_clean_colors()
test_hz_logic() : basic function for testing horizon logic, returns TRUE/FALSE by ID
parallel operations now NON-functional, while we wait for plyr to support doSMP…
new ID plotting style for profile_plot() : handy when plotting large collections and/or long IDs
mapunit_geom_by_ll_bbox()
: get map unit geometry by bounding boxMUKEYS_by_ll_bbox()
: get map unit keys by bounding boxSDA_query()
: retrieve soil tabular data via query written in SQLplotSPC
profile_compare()
now calculates slice-wise dissimilarity matrices in 1/3 the time (thanks llply!)