From ae703fc80ff836381d892e17c2e0c3d9be39f1c4 Mon Sep 17 00:00:00 2001 From: Andrew Gene Brown Date: Thu, 15 Feb 2024 22:26:35 -0800 Subject: [PATCH 1/5] draft WRB 4th ed (2022) parse+dataset --- DESCRIPTION | 2 +- R/data-documentation.R | 41 +- R/higherTaxaCodes.R | 6 +- data-raw/wrb_4th_2022.R | 92 ++++ data/wrb_4th_2022.rda | Bin 0 -> 6447 bytes man/SoilTaxonomy-package.Rd | 2 +- misc/WRB2022/WRB_PQ.txt | 561 +++++++++++++++++++++ misc/WRB2022/WRB_RSG.txt | 290 +++++++++++ misc/WRB2022/WRB_SQ.txt | 972 ++++++++++++++++++++++++++++++++++++ 9 files changed, 1949 insertions(+), 17 deletions(-) create mode 100644 data-raw/wrb_4th_2022.R create mode 100644 data/wrb_4th_2022.rda create mode 100644 misc/WRB2022/WRB_PQ.txt create mode 100644 misc/WRB2022/WRB_RSG.txt create mode 100644 misc/WRB2022/WRB_SQ.txt diff --git a/DESCRIPTION b/DESCRIPTION index ce7021b..7a27881 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -22,7 +22,7 @@ Suggests: soilDB, ape, data.tree -RoxygenNote: 7.2.3 +RoxygenNote: 7.3.1 Roxygen: list(markdown = TRUE) VignetteBuilder: knitr LazyData: false diff --git a/R/data-documentation.R b/R/data-documentation.R index 3e8d93d..39de3de 100644 --- a/R/data-documentation.R +++ b/R/data-documentation.R @@ -1,7 +1,7 @@ #' -#' @title Soil Taxonomy Hierarchy +#' Soil Taxonomy Hierarchy #' -#' @description The first 4 levels of the US Soil Taxonomy hierarchy (soil order, suborder, greatgroup, subgroup), presented as a \code{data.frame} (denormalized) and a \code{list} of unique taxa. +#' The first 4 levels of the US Soil Taxonomy hierarchy (soil order, suborder, greatgroup, subgroup), presented as a \code{data.frame} (denormalized) and a \code{list} of unique taxa. #' @details Ordered based on the unique letter codes denoting taxa from the 13th edition of the Keys to Soil Taxonomy. #' @usage data(ST) #' @@ -20,9 +20,9 @@ #' "ST" -#' @title Family-level Classes for Soil Taxonomy +#' Family-level Classes for Soil Taxonomy #' -#' @description A database of family-level class names for Soil Taxonomy. +#' A database of family-level class names for Soil Taxonomy. #' #' @references #' Soil Survey Staff. 2014. Keys to Soil Taxonomy, 12th ed. USDA-Natural Resources Conservation Service, Washington, DC. @@ -34,9 +34,9 @@ #' "ST_family_classes" -#' @title Epipedons, Diagnostic Horizons, Characteristics and Features in Soil Taxonomy +#' Epipedons, Diagnostic Horizons, Characteristics and Features in Soil Taxonomy #' -#' @description A `data.frame` with columns "group", "name", "chapter", "page", "description", "criteria". Currently page numbers and contents are referenced to 12th Edition Keys to Soil Taxonomy and derived from products in the ncss-tech SoilKnowledgeBase repository (https://github.com/ncss-tech/SoilKnowledgeBase). +#' A `data.frame` with columns "group", "name", "chapter", "page", "description", "criteria". Currently page numbers and contents are referenced to 12th Edition Keys to Soil Taxonomy and derived from products in the ncss-tech SoilKnowledgeBase repository (https://github.com/ncss-tech/SoilKnowledgeBase). #' #' @references #' Soil Survey Staff. 2014. Keys to Soil Taxonomy, 12th ed. USDA-Natural Resources Conservation Service, Washington, DC. @@ -48,9 +48,9 @@ #' "ST_features" -#' @title Formative Elements used by Soil Taxonomy +#' Formative Elements used by Soil Taxonomy #' -#' @description A database of formative elements used by the first 4 levels of US Soil Taxonomy hierarchy (soil order, suborder, greatgroup, subgroup). +#' A database of formative elements used by the first 4 levels of US Soil Taxonomy hierarchy (soil order, suborder, greatgroup, subgroup). #' #' @references #' S. W. Buol and R. C. Graham and P. A. McDaniel and R. J. Southard. Soil Genesis and Classification, 5th edition. Iowa State Press, 2003. @@ -61,9 +61,9 @@ #' "ST_formative_elements" -#' @title Letter Code Lookup Table for Position of Taxa within the Keys to Soil Taxonomy (12th Edition) +#' Letter Code Lookup Table for Position of Taxa within the Keys to Soil Taxonomy (12th Edition) #' -#' @description A lookup table mapping unique taxonomic Order, Suborder, Great Group and Subgroups to letter codes that denote their logical position within the Keys. +#' A lookup table mapping unique taxonomic Order, Suborder, Great Group and Subgroups to letter codes that denote their logical position within the Keys. #' #' @details The lookup table has been corrected to reflect errata that were posted after the print publication of the 12th Edition Keys, as well as typos in the Spanish language edition. #' @@ -81,9 +81,9 @@ #' "ST_higher_taxa_codes_12th" -#' @title Letter Code Lookup Table for Position of Taxa within the Keys to Soil Taxonomy (13th Edition) +#' Letter Code Lookup Table for Position of Taxa within the Keys to Soil Taxonomy (13th Edition) #' -#' @description A lookup table mapping unique taxonomic Order, Suborder, Great Group and Subgroups to letter codes that denote their logical position within the Keys. +#' A lookup table mapping unique taxonomic Order, Suborder, Great Group and Subgroups to letter codes that denote their logical position within the Keys. #' #' @references #' @@ -95,3 +95,20 @@ #' @keywords datasets #' "ST_higher_taxa_codes_13th" + +#' World Reference Base for Soil Resources (4th Edition , 2022) +#' +#' A _list_ containing three _data.frame_ elements `"rsg"`, `"pq"`, and `"sq"` providing information on the 'Representative Soil Groups', 'Principal Qualifiers,' and 'Supplementary Qualifiers,' respectively. +#' +#' @details +#' +#' Each element has the column `code` which is a number (1-32) referring to the position in the Reference Soil Groups, and the column `reference_soil_group` which is the corresponding group name. The _data.frame_ `"rsg"` has column `criteria`, describing the criteria for each Reference Soil Group. The _data.frame_ `"pq"` contains column `"principal_qualifier"` and `"sq"` contains column `"supplementary_qualifier"`. The `"pq"` and `"sq"` qualifier names may be single qualifiers, or several related qualifiers separated with a forward slash `" / "` +#' +#' @references +#' +#' IUSS Working Group WRB. 2022. World Reference Base for Soil Resources. International soil classification system for naming soils and creating legends for soil maps. 4th edition. International Union of Soil Sciences (IUSS), Vienna, Austria. +#' +#' @usage data(wrb_4th_2022) +#' +#' @keywords datasets +#' \ No newline at end of file diff --git a/R/higherTaxaCodes.R b/R/higherTaxaCodes.R index e29e831..bc650f0 100644 --- a/R/higherTaxaCodes.R +++ b/R/higherTaxaCodes.R @@ -1,6 +1,6 @@ #' Decompose taxon letter codes #' -#' @description Find all codes that logically comprise the specified codes. For instance, code "ABC" ("Anhyturbels") returns "A" ("Gelisols"), "AB" ("Turbels"), "ABC" ("Anhyturbels"). Use in conjunction with a lookup table that maps Order, Suborder, Great Group and Subgroup taxa to their codes (see \code{\link{taxon_code_to_taxon}} and \code{\link{taxon_to_taxon_code}}). +#' Find all codes that logically comprise the specified codes. For instance, code "ABC" ("Anhyturbels") returns "A" ("Gelisols"), "AB" ("Turbels"), "ABC" ("Anhyturbels"). Use in conjunction with a lookup table that maps Order, Suborder, Great Group and Subgroup taxa to their codes (see \code{\link{taxon_code_to_taxon}} and \code{\link{taxon_to_taxon_code}}). #' #' @details Accounts for Keys that run out of capital letters (more than 26 subgroups) and use lowercase letters for a unique subdivision within the "fourth character position." #' @@ -49,7 +49,7 @@ decompose_taxon_code <- function(codes) { #' Get taxon codes of preceding taxa #' -#' @description Find all codes that logically precede the specified codes. For instance, code "ABC" ("Anhyturbels") returns "AA" ("Histels") "ABA" ("Histoturbels") and "ABB" ("Aquiturbels"). Use in conjunction with a lookup table that maps Order, Suborder, Great Group and Subgroup taxa to their codes (see \code{\link{taxon_code_to_taxon}} and \code{\link{taxon_to_taxon_code}}). +#' Find all codes that logically precede the specified codes. For instance, code "ABC" ("Anhyturbels") returns "AA" ("Histels") "ABA" ("Histoturbels") and "ABB" ("Aquiturbels"). Use in conjunction with a lookup table that maps Order, Suborder, Great Group and Subgroup taxa to their codes (see \code{\link{taxon_code_to_taxon}} and \code{\link{taxon_to_taxon_code}}). #' #' @details Accounts for Keys that run out of capital letters (more than 26 subgroups) and use lowercase letters for a unique subdivision within the "fourth character position." #' @@ -187,7 +187,7 @@ taxon_to_taxon_code <- function(taxon) { #' Determine relative position of taxon within Keys to Soil Taxonomy (Order to Subgroup) #' -#' @description The relative position of a taxon is `[number of preceding Key steps] + 1`, or `NA` if it does not exist in the lookup table. +#' The relative position of a taxon is `[number of preceding Key steps] + 1`, or `NA` if it does not exist in the lookup table. #' #' @param code A character vector of taxon codes to determine the relative position of. #' diff --git a/data-raw/wrb_4th_2022.R b/data-raw/wrb_4th_2022.R new file mode 100644 index 0000000..0bc6a9a --- /dev/null +++ b/data-raw/wrb_4th_2022.R @@ -0,0 +1,92 @@ +## code to prepare `wrb_4th_2022` dataset goes here +library(pdftools) + +## SETUP +## +# dir.create("misc/WRB2022") +# download.file("https://wrb.isric.org/files/WRB_fourth_edition_2022-12-18.pdf", +# destfile = "misc/WRB2022/WRB_fourth_edition_2022-12-18.pdf") + +## does not work for RSG/qualifiers; tables used in formatting +## can be used for definitions of diagnostics and qualifiers +# x <- pdf_text("misc/WRB2022/WRB_fourth_edition_2022-12-18.pdf") +# x <- unlist(strsplit(x, "\n")) +# ldx <- cumsum(grepl("Key to the Reference Soil Groups", x)) +# y <- split(x, ldx) +# data.frame(y[[11]]) |> View() + +## nope +# x <- pdf_data("misc/WRB2022/WRB_fourth_edition_2022-12-18.pdf") +# y <- do.call('rbind', x) +# + +x <- readLines("misc/WRB2022/WRB_RSG.txt") +n <- grep("^[A-Z]+$", x) +z.names <- x[n] +x <- x[-n] +idx <- grep("^(Soils having|Other soils)", x) +ldx <- rep(FALSE, length(x)) +ldx[idx] <- TRUE +xx <- split(x, cumsum(ldx)) +z <- lapply(xx, function(y) { + i <- grep("(; (and|or)|\\.|:)$", y) + 1 + i <- i[i < length(y)] + l <- rep(FALSE, length(y)) + l[i] <- TRUE + sapply(split(y, cumsum(l)), paste0, collapse = " ") +}) +names(z) <- z.names + +wrb_rsg <- do.call('rbind', lapply(seq(z), function(i) { + data.frame(code = i, reference_soil_group = z.names[i], criteria = z[[z.names[i]]]) +})) +rownames(wrb_rsg) <- NULL +# View(wrb_rsg) + +x <- readLines("misc/WRB2022/WRB_PQ.txt") +n <- grep("^[A-Z]+$", x) +z.names <- x[n] +x <- x[-n] +idx <- grep("Principal qualifiers", x) +ldx <- rep(FALSE, length(x)) +ldx[idx] <- TRUE +xx <- split(x, cumsum(ldx)) +z <- lapply(xx, function(y) { + y <- trimws(gsub("([^ ])/ ", "\\1 / ", y)) + y[y != "Principal qualifiers"] +}) +names(z) <- z.names + +wrb_pq <- do.call('rbind', lapply(seq(z), function(i) { + data.frame(code = i, reference_soil_group = z.names[i], principal_qualifiers = z[[z.names[i]]]) +})) +rownames(wrb_pq) <- NULL +# View(wrb_pq) + +x <- readLines("misc/WRB2022/WRB_SQ.txt") +n <- grep("^[A-Z]+$", x) +z.names <- x[n] +x <- x[-n] +idx <- grep("Supplementary qualifiers", x) +ldx <- rep(FALSE, length(x)) +ldx[idx] <- TRUE +xx <- split(x, cumsum(ldx)) +z <- lapply(xx, function(y) { + y <- trimws(gsub("([^ ])/ ", "\\1 / ", y)) + y[y != "Supplementary qualifiers"] +}) +names(z) <- z.names + +wrb_sq <- do.call('rbind', lapply(seq(z), function(i) { + data.frame(code = i, reference_soil_group = z.names[i], supplementary_qualifiers = z[[z.names[i]]]) +})) +rownames(wrb_sq) <- NULL +# View(wrb_sq) + +wrb_4th_2022 <- list( + rsg = wrb_rsg, + pq = wrb_pq, + sq = wrb_sq +) + +usethis::use_data(wrb_4th_2022, overwrite = TRUE) diff --git a/data/wrb_4th_2022.rda b/data/wrb_4th_2022.rda new file mode 100644 index 0000000000000000000000000000000000000000..38eb6cc6a7b84289bb9975bb28924bf02d36cdbc GIT binary patch literal 6447 zcmV+~8PMiJT4*^jL0KkKSqa$oA^=y8|NsC0|Nq{9|Np=L|Mvg?|M>CoL=OpOf&OpOMbGyu>t27m#fpf-_+ zG#YwM9;Tk7OeR1|WFV74B&VjQl=i9R10W4D4FCp@Pyo@O42Fz`1ZdD28UO$d20@bq z(Lr8M@XEDy= zfk4tHG&P2t@=%~cn*g}wC{QH>fe~(6v;$!fQya?A6p4jFZtxO>DGUe#lz~7r0_f*X zBT2==i6nCp<;x+=K`{~x9841?BS4}dysZLIGOC5Zg$mdNQykGK2EeCu^E7Rs0HM$& z&k>*s93tHWp$bC+I(0N>YBV80=miVDQh;d;1<_K43PS^PR47)53KtU4t$_m_ASgz{ z20CESg$^62EdtQtTdDy+y5vZ#1F3~JPAGN8Uy_z%YLmBf5F0Vv}D z0!Rre*RL_D+899yK9>g0N({gv`T_(!OezfuKrl%nP$95Elu{9Z0t6UYL6Lw-AV82Y z4iH8~kO=^VQcKHLfNTop5anb5Ts^!g+lB4I8UTeDUh&04fWZ6SpVhi2+` zIVd@!9H`D0ImY^%WkgZ!svr!25+WfoA_+o@RKztkAwWxiIi;W~@E(rVtJqUlX_6xj&?kw4an?+nYF z_7e$7WkyFBXvPVX-7CVpV5vRa(h+vfwGP`hjS`y}wQ6`J%Wc1ni62+r@1M!d% z{(J;Fsn>^}JdA>tOZu9w?eU4=0@(p4QDEX+w3{Tx_ zFT>22;2MX%Zr95GXK9{CMz2nY>lj)y8^OlIPso|i-qQu3QC-jnoNd>~dBDp2`yIWe>NjP(9e50j9X6Po_Gy~dj$XquyB_EpwrqEm&KhpxWxng2|~gI^zsk6wKKvrM0)qwV;_zZw;pd zTi7Q3YRM*nGT>*@WbN*%vB2oG5jMMTSwkp(N0a(?Fmet@SF_LqMh3e$Ldm?O?7bK4 z*U((X0$i~5^WbpPUhHhKI49(A-j>r%xI4@e6hc5XC8RYC4Mx}ArUPdF+Z*?qLqf*Y znH%yIi%VN7>b+EQz_X~9STAy+w$p8-+Z$j-O;JEoM24kar#uWB*CyrLhbK^O-HHg6 z2ZPX6Sut29>3J^8sKZbl5eJfiOeW(jSlHOt9G@?*uEz2-V+C>IQDz|xG*Rf(`q(JT za8eS1s7OiyC`Oy%WfaP$wX5v9X zPjqO-!$s&p&T>g?eq&H2-E)h}@6dFJK#r1^nxyN=4+nuyjTd=1;$Voj~F=3#qB9)C#(IH@<=2Ue{` zhJ53LN&vWpcg0}F^O8!&4AF8`yJC`kGD6IGY_Cgqs&8rS^KB}(95Kp0JAXOl``$F?e=6J?^S4%9`ri#Kv7TIc-mv4No`mTufs0u=D zGMl`|wp6rAp}>?R(9()>{aK`xM_gHg%5I-i+0~-dD1m`9Au(AY76V&h;PI^9e*+%y z!STjx$=*nKKOgQdH)}8uRq(nB(lv%x%NGXC2Mf+>AlVfd2x)^eUHAxWkT(OTYc0nd_zIx;QK-k2rK5OgdqFn zdx8&96vCis5PLw5rBk?|eB?*RRWys(Pq~TUIB8Q#fdj@cC>#frJrD&G1lY*~#uEsP zp>6mJ&BvCz=oQjQC5-wAi2+A?R0#-toFG{UT~Is~|9FGmp#B3gpb{>CADTcQ*j>#j z%;DM}c;p-j0mZw79H49*yXHrjgK!hm=MnYn*n!$Vn1N?#k}Mq_G(b{X`o~#NH&h?6 zin1fl1$adtV2A0VpQx%~MC%bS2pVqOFR}6b1*^xQV+wo^z*y`EcSH{C8&OYCspKxX zDNegA3E&~TvNltWK!Mt#9;F9GLmLD+As1p;7J5eyA9fVcAN3Dvf5;W{f(F4-^r#+n z5aetC(jf@^53a$#i`E0DyRc6EI&s_JV)~Hsc`KKc1pH_LAf%An(pHfvLC6%VN?GZt zLWQ9~=E$@^3qz2^g^x8tk!TVc6s2q~s8W^`bcj81Q@%hpB0f~}KZ1F>i;rsZKS-TQ zroOQUFWP*|L#pQT;iQBlr1yI|gdM^R5ipsc9gkzZ5!8U-3RP;zAWskkr7BR4 z;0R=ZlvC0OBnu9pTM2>!Vl8TP_$br}dg2Ipij^pcg#s5?6*wQ(fbsm$DL|xyAO!$j zh7e>IGKC0S{EAYA0iJjTB`JXcr6@qMtEwFI1f@chgdi_O>OCYvI$C27o9OK=lBuDAEB!6abPGvMGcpLV+TJ6e>g$v*%Ph#2w-%)cryXLJWsi z0f_)G0$~6o5yUi&DJU|D145Lc0*N9aAPk^uQxe1@I1ob+p@k6dRW2%V0Nvs+I+#fU zbW%kq-4)WQpV_5Dy-b#%kb6Pf*e;&Xitkhpp+r1h06(EL!yz36!JJU~CV{*l_h7>@+@rjQbGfbi@g?D+Ti zFnT=Kzs!`b%#siS;Q6<1$TtO)OQ)5oG%*K=Xqnk=LIE;+^)g?+K0rLi-@Ah+*F_MA zEWHWMIUKj(?1xvNI04l<){swMoOuXI?HUv_?J_a*bF?kr1K*$*d z1l9%!5ikvk8Ag*_V6MvZSqBbP5LHwGNwIQy2}=cCFw|>GNY;X?IuKOCMGxAw{Z~|e z%$g!xVBkFA5T&qEB_ZkDB!Qe7g+&U8G4y0>gyYOFU@(E3w`pJl?Eu|w0SJI~CZ=v| zNXd#)SMTkQq)G3#gHZz)+%-YZHyaYs!<^&qC%H+U_geL!V@BdB?22m z3rzgXpkbnQb#DeMb80{~z%fMyMi5Bdt+rAia??y=aL_PfWK=;>2=hplVXK4<05dK* zNJ1E`t;-${%=L%G@_Xb8%l1owWj<0m6`ijQreQ$%uq`tpi=FY5FzFkDNOT&5L71OB z#6iF-I7W2L;RXQ2s1*urHp}BMg_uQuD_TXs;4p3{GmvS!=L3It&Vlz4dA&|t63B4t ztt}RpTj4&!!1sqdlJ`wGWIo)mzupzg>MscekTU3>ZfLc%4ZXPFQQZB%C}qkf{Ynw* zBiw<0lbG)e4}L85CwRW3G~eJ40s9C&bBER0Joc|Qfp8_5NL$5M6iLq)u-;=7wy@NO zOLS92Br}0BkC+(sO9|9@E>UEKRcy{0<{sGitfn;U(uQ#PNN$9i>k!RZGnc3wQzr(x zvJxQ%%0S*^aPSXhiXck0jf5@-HQ^M48AoGfBjoR)ycf+QRD}f~dPU$cV;B-Y#_$bs zA*dQ5xjy!w1|Mh{kpjt7L5dAPuz-1z*@4c?OgK*iSQ|{}H6x)iy9$;`dklcl>*#`? zaEG}0=m&2B;8@`zK(%c&l#c^^LJa|l0u#7mG8Iw zCz5RjiALK1 z8EB?62xdMc0e2x}42L#EWLU|j(QYOOnVYTT`$n?D#6^iFz)NnkZL;vl zY9<>VAg)#=yRHMJ_Nj?Qeuw6)qeTF``0`#nzy^xENJ7J(>XsDyMmn9?zc<_F(F zaAO@abipp;(u~GTR$*I?BL#@v_XH>cL<%(_!j{Y_N`>9Fx8}wWj~bUG%EM(b)}Btu zO?a&|NV`ce6sbmU#quXxRZLT#ev>vbFo{-*G&jL7+^>7{c@4W(mN zhERBtRWYw6YAra+%!H#AaulXe#R)PxPc^6M^0t*3E;GNBA*vxngkB& z@lPAV^>u~2tA^s70u#?&Jb@J~R*sXrZNg!mM23jpGz+nPVh~MKiNL11)4d$U{3F0G z(?I%B%(4;R$wQ%#PH<_kmOhlkl4gODKsKk&0np$ac7w>?8VbFALhha-yGlpy!wCF; zT=TA8^otlkVF09pZg3q~ct|pfdmjt4GirFRtY~+s>Wd_ak`DB6eAJHQO(FxDU?HBG zm*zW#c%KwRkR!Dxf+M`-5RHR@k!I?MB@pN-O$aK7DvITWSkxBfGEg-FZW@qD3L%wa z6x1?_b09HgibE+$2_X|zaG?$~Lt)A(m|S+&Wi%EcBv7ysbWMlWh8K*&hi?_oxEU_> zdv^dEppP99*fVnbA~Em}L_7npD2nOTMU_Z_$Bs+_vIN4{-x?tp{jGtAiGVCZCc|b3 ztp~D?Mq-THlh8=e#49DiWR*?=Dy+hmCCp?QLH#G)$u{@pg+u+400>;!E!j%_{7pn4mmN|MlMff{aIEDf+`l`aO- zmc#&gqI^nHh9VLoCDu?;vlnT@X|QOY1;DDxEO3uaib+-_aG}{at5U>Mwjo18x{)YC zilSvgQ1Q42%8N7uWlK1{g0nCgm_veA(V^c5VmlKCXcSo%RS*hbLdA%}DT0VC_r$`& z@t9aW$>#{j0Wa-=+wcg?9nY-`bIEf#CU7d6ND#8&53E>y_TEW*({+ygiYldOs5exD zbl8QoK`*)u*XMH`B*rmWY0a*j=qiO9Bv5*=R0fe-WA{3sJ zMUV**c%l0k10Riw8!L_Cgf=eWpujO|MWCdr2@O>FWKz)# zEQ+bMHo6I8RTNT!b&*5A7oGspFl{WSyzfYcHKkGw+lVp5`h3J1BM?DS3{?P$nwc#r zbUC7C7IAMMw!QlM#^O6?U819xQ=(uFfH3%L!|xRbYW?jxrti9E|B4k6FJ(Q21D@;4x02 zrK;FIh;Nq-sI%SAdx+5#hRZEZ77EBz-DEC842*`-v;o1SEf!?Oe7a8lvNJKXq_1jeMJx~#3L(akowuZBvLP4(wY6(TCN@AVAfg|^faIth)se@AgG8bihv0$a9qaC??lBSs)Wtf{17yw1h5(h$^W$B z6L&<1)dTlKx(N@ZXz)&2n-{J~Qc$FGJpSmuDsJugF}%H}i0?21VcuZ*Od~_NZqnJ90I%KUYoh>5I$=S3uzC>VEAi*F)!|W04PA*+% zfki{M<-FKy@S}TYw$!)TJ_H`HeC#=xQNF=Uh!QpdutqipT}bvrs>1~gjmb9-y5WE( zi6%JZnla-NIfIK!H>Y#t@dKbHe{h%c($n#=U4~XMb6{zG9(}BzWF64@E Jp&%2n>_lKAT4?|P literal 0 HcmV?d00001 diff --git a/man/SoilTaxonomy-package.Rd b/man/SoilTaxonomy-package.Rd index c18aee2..50259f8 100644 --- a/man/SoilTaxonomy-package.Rd +++ b/man/SoilTaxonomy-package.Rd @@ -2,8 +2,8 @@ % Please edit documentation in R/SoilTaxonomy-package.R \docType{package} \name{SoilTaxonomy-package} +\alias{SoilTaxonomy} \alias{SoilTaxonomy-package} -\alias{_PACKAGE} \alias{SoilTaxonomy.env} \title{SoilTaxonomy: A System of Soil Classification for Making and Interpreting Soil Surveys} \description{ diff --git a/misc/WRB2022/WRB_PQ.txt b/misc/WRB2022/WRB_PQ.txt new file mode 100644 index 0000000..9a0e87b --- /dev/null +++ b/misc/WRB2022/WRB_PQ.txt @@ -0,0 +1,561 @@ +Principal qualifiers +Muusic/ Rockic/ Mawic +Cryic +Thionic +Folic +Floatic +Subaquatic/ Tidalic +Fibric/ Hemic/ Sapric +Leptic/ Thyric +Murshic/ Drainic +Ombric/ Rheic +Coarsic +Skeletic +Andic +Vitric +HISTOSOLS +Principal qualifiers +Hydragric/ Irragric/ +Hortic/ Plaggic/ +Pretic/Terric +Gleyic +Stagnic +Ferralic/ Sideralic +Andic +ANTHROSOLS +Principal qualifiers +Ekranic/ Thyric +Linic +Urbic +Spolic +Garbic +Cryic +Isolatic +Leptic +Subaquatic/ Tidalic +Reductic +Coarsic +Gleyic +Stagnic +Andic +TECHNOSOLS +Principal qualifiers +Glacic +Turbic +Subaquatic/ Tidalic/ +Reductaquic/ Oxyaquic +Leptic +Histic +Andic +Mollic/ Umbric +Natric +Salic +Spodic +Retic +Alic/ Luvic +Calcic/ Wapnic +Yermic +Protic +Cambic +Coarsic +Skeletic +Haplic +CRYOSOLS +Principal qualifiers +Nudilithic/ Lithic +Coarsic +Skeletic +Subaquatic/ Tidalic +Histic +Andic +Rendzic/ Mollic/ Umbric +Gypsic +Calcic +Cambic/ Brunic +Yermic/ Takyric +Folic +Gypsiric +Dolomitic/ Calcaric +Dystric/ Eutric +LEPTOSOLS +Principal qualifiers +Abruptic +Gleyic +Stagnic +Mollic +Salic +Gypsic +Petrocalcic +Calcic +Vertic +Yermic/ Takyric +Nudinatric +Albic +Haplic +SOLONETZ +Principal qualifiers +Salic +Sodic +Leptic +Petroduric/ Duric +Gypsic +Petrocalcic +Calcic +Hydragric/ Anthraquic/ +Irragric +Pellic +Chromic +Haplic +VERTISOLS +Principal qualifiers +etrosalic +Gleyic +Stagnic +Sodic +Petrogypsic +Gypsic +Petrocalcic +Calcic +Leptic +Mollic +Fluvic +Yermic/ Takyric +Haplic +SOLONCHAKS +Principal qualifiers +Thionic +Reductic +Subaquatic/ Tidalic +Hydragric/ Anthraquic/ +Irragric/ Hortic/ Plaggic/ +Pretic/ Terric +Histic +Andic +Vitric +Chernic/ Mollic/ Umbric +Pisoplinthic/ Plinthic +Stagnic +Oxyaquic +Oxygleyic/ Reductigleyic +Gypsic +Calcic/ Wapnic +Spodic +Fluvic +Gypsiric +Dolomitic/ Calcaric +Dystric/ Eutric +GLEYSOLS +Principal qualifiers +Aluandic/ Silandic +Vitric +Leptic +Hydragric/ Anthraquic +Gleyic +Hydric +Histic +Chernic/ Mollic/ Umbric +Petroduric/ Duric +Gypsic +Calcic +Tephric +Aeolic +Skeletic +Dystric/ Eutric +ANDOSOLS +Principal qualifiers +Ortsteinic +Carbic/ Rustic +Albic/ Entic +Leptic +Hortic/ Plaggic/ Pretic/ +Terric +Histic +Gleyic +Andic +Vitric +Stagnic +Anthromollic/ Umbric +Glossic/ Retic +Acric/ Alic +Coarsic +Skeletic +Principal qualifiers +Petric +Pisoplinthic +Gibbsic +Stagnic +Geric +Nitic +Histic +Mollic/ Umbric +Albic +Leptic +Coarsic +Skeletic +Haplic +PLINTHOSOLS +Principal qualifiers +Reductic +Thionic +Leptic +Hydragric/ Anthraquic/ +Irragric/ Hortic/ Plaggic/ +Pretic/ Terric +Histic +Gleyic +Chernic/ Mollic/ Umbric +Albic +Fluvic +Vertic +Glossic/ Retic +Acric/ Lixic/ Alic/ Luvic +Petroduric/ Duric +Calcic +Dolomitic/ Calcaric +Dystric/ Eutric +PLANOSOLS +Reductic +Thionic +Leptic +Hydragric/ Anthraquic/ +Irragric/ Hortic/ Plaggic/ +Pretic/ Terric +Histic +Gleyic +Chernic/ Mollic/ Umbric +Albic +Fluvic +Vertic +Glossic/ Retic +Acric/ Lixic/ Alic/ Luvic +Calcic +Dolomitic/ Calcaric +Dystric/ Eutric +STAGNOSOLS +Principal qualifiers +Ferralic/ Sideralic +Ferritic +Leptic +Rhodic/ Xanthic +Geric +Hydragric/ Anthraquic/ +Pretic +Profundihumic +Mollic/ Umbric +Acric/ Lixic/ Alic/ Luvic +Dystric/ Eutric +NITISOLS +Principal qualifiers +Ferritic +Gibbsic +Rhodic/ Xanthic +Geric +Nitic +Pretic +Gleyic +Stagnic +Profundihumic +Mollic/ Umbric +Acric/ Lixic +Skeletic +Haplic +FERRALSOLS +Principal qualifiers +Petroduric/ Duric +Petrocalcic +Leptic +Hortic +Gleyic +Vertic +Greyzemic +Luvic +Calcic +Cambic +Skeletic +Vermic +Tonguic +Haplic +CHERNOZEMS +Principal qualifiers +Someric +Petroduric/ Duric +Petrogypsic +Gypsic +Petrocalcic +Leptic +Hortic/ Terric +Gleyic +Fluvic +Vertic +Luvic +Calcic +Cambic/ Brunic +Skeletic +Tonguic +Haplic +KASTANOZEMS +Principal qualifiers +Rendzic +Chernic/ Someric +Mulmic +Petroduric/ Duric +Petrocalcic +Endocalcic +Leptic +Irragric/ Hortic/ Pretic/ +Terric +Gleyic +Stagnic +Fluvic +Vertic +Greyzemic +Glossic/ Retic +Lixic/ Luvic +Cambic/ Brunic +Skeletic +Vermic +Tonguic +Gypsiric +Dolomitic/ Calcaric +Haplic +PHAEOZEMS +Principal qualifiers +Hortic/ Plaggic/ Pretic/ +Terric +Chernic/ Mollic/ Someric +Mulmic +Fragic +Leptic +Gleyic +Stagnic +Fluvic +Greyzemic +Glossic/ Retic +Acric/ Lixic/ Alic/ Luvic +Cambic/ Brunic +Skeletic +Tonguic +Endodolomitic/ +Endocalcaric +Haplic +UMBRISOLS +Principal qualifiers +Petric +Petrogypsic +Gypsic +Petrocalcic +Calcic +Leptic +Acric/ Lixic/ Alic/ Luvic +Cambic +Coarsic +Fractic +Skeletic +Yermic/ Takyric +Andic +Gypsiric +Calcaric +Dystric/ Eutric +DURISOLS +Principal qualifiers +Petric +Petrocalcic +Calcic +Leptic +Gleyic +Stagnic +Lixic/ Luvic +Cambic +Coarsic +Fractic +Skeletic +Yermic/ Takyric +Calcaric +Haplic +GYPSISOLS +Principal qualifiers +Petric +Leptic +Gleyic +Stagnic +Lixic/ Luvic +Cambic +Coarsic +Fractic +Skeletic +Yermic/ Takyric +Gypsiric +Haplic +CALCISOLS +Principal qualifiers +Abruptic +Fragic +Glossic +Leptic +Plaggic/ Pretic/ Terric +Histic +Gleyic +Stagnic +Sideralic +Nudiargic +Neocambic/ Neobrunic +Albic +Calcic +Skeletic +Endodolomitic/ +Endocalcaric +Dystric/ Eutric +RETISOLS +Principal qualifiers +Abruptic +Fragic +Leptic +Hydragric/ Anthraquic/ +Pretic/ Terric +Gleyic +Stagnic +Ferralic +Rhodic/ Chromic/ Xanthic +Nudiargic +Lamellic +Albic +Ferric +Skeletic +Haplic +ACRISOLS +Principal qualifiers +Abruptic +Fragic +Petrocalcic +Leptic +Hydragric/ Anthraquic/ +Pretic/ Terric +Gleyic +Stagnic +Ferralic +Rhodic/ Chromic/ Xanthic +Nudiargic +Lamellic +Albic +Ferric +Gypsic +Calcic +Yermic/ Takyric +Skeletic +Haplic +LIXISOLS +Principal qualifiers +Abruptic +Fragic +Leptic +Hydragric/ Anthraquic/ +Plaggic/ Pretic/ Terric +Gleyic +Stagnic +Vertic +Rhodic/ Chromic +Nudiargic +Lamellic +Albic +Ferric +Skeletic +Haplic +ALISOLS +Principal qualifiers +Abruptic +Fragic +Petrocalcic +Leptic +Hydragric/ Anthraquic/ +Irragric/ Pretic/ Terric +Gleyic +Stagnic +Vertic +Rhodic/ Chromic +Nudiargic +Lamellic +Albic +Ferric +Gypsic +Calcic +Yermic/ Takyric +Skeletic +Dolomitic/ Calcaric +Haplic +LUVISOLS +Principal qualifiers +Fragic +Thionic +Hydragric/ Anthraquic/ +Irragric/ Plaggic/ Pretic/ +Terric +Tsitelic +Vertic +Andic +Vitric +Leptic +Histic +Gleyic +Stagnic +Solimovic +Fluvic +Sideralic +Rhodic/ Chromic +Skeletic +Yermic/ Takyric +Gypsiric +Dolomitic/ Calcaric +Dystric/ Eutric +CAMBISOLS +Principal qualifiers +Tidalic +Pantofluvic/ Anofluvic/ +Orthofluvic +Leptic +Histic +Gleyic +Stagnic +Skeletic +Tephric +Yermic/ Takyric +Protic +Gypsiric +Dolomitic/ Calcaric +Dystric/ Eutric +FLUVISOLS +Principal qualifiers +Tidalic +Aeolic +Solimovic +Tephric +Tsitelic +Brunic +Gleyic +Sideralic +Yermic +Protic +Transportic +Relocatic +Gypsiric +Dolomitic/ Calcaric +Dystric/ Eutric +ARENOSOLS +Principal qualifiers +Tidalic +Leptic +Solimovic +Aeolic +Tephric +Brunic +Gleyic +Stagnic +Skeletic +Vermic +Yermic/ Takyric +Protic +Transportic +Relocatic +Gypsiric +Dolomitic/ Calcaric +Dystric/ Eutric +REGOSOLS diff --git a/misc/WRB2022/WRB_RSG.txt b/misc/WRB2022/WRB_RSG.txt new file mode 100644 index 0000000..ac8dffc --- /dev/null +++ b/misc/WRB2022/WRB_RSG.txt @@ -0,0 +1,290 @@ +Soils having one or more of the following: +1. organic material starting ≤ 40 cm from the soil surface and +having within 100 cm of the soil surface a combined thickness +of: +a. ≥ 40 cm if < 75% (by volume, related to the +fine earth plus all dead plant residues) consists of moss fibres; or +b. ≥ 60 cm; or +2. organic material starting at the soil surface, having a +thickness of ≥ 10 cm and directly overlying ice, +continuous rock or technic hard material; or +3. a layer of coarse fragments that, together with overlying +organic material, if present, starts at the soil surface and has +a thickness of +a. ≥ 10 cm if overlying continuous rock or technic hard +material; or +b. ≥ 40 cm; and +the major part of the interstices between the coarse +fragments is filled with organic material and the remaining +interstices, if present, are void. +HISTOSOLS +Other soils having: +1. a hortic, irragric, plaggic or terric horizon, ≥ 50 cm thick; or +2. an anthraquic horizon and an underlying hydragric horizon +with a combined thickness of ≥ 50 cm; or +3. a pretic horizon, the layers of which have a combined +thickness of ≥ 50 cm, within 100 cm of the mineral soil +surface. +ANTHROSOLS +Other soils: +1. with all of the following: +a. one or both of the following: +i. having ≥ 20% (by volume, weighted +average, related to the whole soil) +artefacts in the upper 100 cm from +the soil surface or to a limiting layer, +whichever is shallower; or +ii. having a layer, ≥ 10 cm thick and +starting ≤ 50 cm from the soil surface, +with ≥ 80% (by volume, weighted average, related to the whole soil) artefacts; and +b. not having a layer containing artefacts +that qualifies as an argic, duric, ferralic, +ferric, fragic, hydragric, natric, nitic, +petrocalcic, petroduric, petrogypsic, +petroplinthic, pisoplinthic, plinthic, +spodic or vertic horizon starting +≤ 100 cm from the soil surface, unless +buried; and +c. not having a limiting layer, unless +consisting of artefacts, starting ≤ 10 cm +from the soil surface; or +2. having a continuous, very slowly permeable +to impermeable, constructed geomembrane +of any thickness or technic hard material +starting ≤ 100 cm from the soil surface. +TECHNOSOLS +Other soils having: +1. a cryic horizon starting ≤ 100 cm from the soil surface; or +2. a cryic horizon starting ≤ 200 cm from the soil surface and evidence of cryogenic alteration (cryoturbation, frost heave, cryogenic sorting, thermal cracking, ice segregation, patterned ground, etc.) in some layer within 100 cm of the soil surface. +CRYOSOLS +Other soils having: +1. one of the following: +a. continuous rock starting ≤ 25 cm from the soil surface; or +b. < 20% (by volume, related to the whole soil) fine earth +plus dead plant residues of any size2, averaged over a depth +of 75 cm from the soil surface or to continuous rock, +whichever is shallower; and +2. no duric, petrocalcic, petroduric, petrogypsic, pisoplinthic or +spodic horizon. +LEPTOSOLS +Other soils having a natric horizon starting ≤ 100 cm from the +mineral soil surface. +SOLONETZ +Other soils having: +1. a vertic horizon starting ≤ 100 cm from the mineral soil +surface; and +2. ≥ 30% clay between the mineral soil surface and the vertic +horizon throughout; and +3. shrink-swell cracks that start: +a. at the mineral soil surface; or +b. at the base of a plough layer; or +c. directly below a layer with strong granular structure or +strong angular or subangular blocky structure with an +aggregate size of ≤ 1 cm (self-mulching surface); or +d. directly below a surface crust; +and extend to the vertic horizon. +VERTISOLS +Other soils: +1. having a salic horizon starting ≤ 50 cm from the soil surface; and +2. not having a thionic horizon starting ≤ 50 cm from the soil surface; and +3. not being permanently submerged by water and not located +below the line affected by tidal water (i.e. not located below +the line of mean high water springs). +SOLONCHAKS +Other soils having one or more of the following: +1. a layer, ≥ 25 cm thick and starting ≤ 40 cm from the mineral +soil surface, that has +a. gleyic properties throughout; and +b. reducing conditions in some parts of every sublayer; or +2. both of the following: +a. a mollic or umbric horizon, > 40 cm thick, that has +reducing conditions in some parts of every sublayer, from +40 cm below the mineral soil surface to the lower limit of +the mollic or umbric horizon; and +b. directly underneath the mollic/umbric horizon, a layer, +≥ 10 cm thick, that has its lower limit ≥ 65 cm below the +mineral soil surface, and that has: +i. gleyic properties throughout; and +ii. reducing conditions in some parts of every sublayer; or +3. permanent saturation by water starting ≤ 40 cm from the +mineral soil surface. +GLEYSOLS +Other soils having: +1. one or more layers with andic or vitric properties with a +combined thickness of: +a. ≥ 30 cm, within 100 cm of the soil surface and starting +≤ 25 cm from the soil surface; or +b. ≥ 60% of the entire thickness of the soil, if a limiting layer +starts > 25 and ≤ 50 cm from the soil surface; and +2. no argic, ferralic, petroplinthic, pisoplinthic, plinthic or spodic +horizon starting ≤ 100 cm of the soil surface, unless buried +deeper than 50 cm from the mineral soil surface. +ANDOSOLS +Other soils having a spodic horizon starting ≤ 200 cm from the +mineral soil surface. +PODZOLS +Other soils having a plinthic, pisoplinthic or petroplinthic horizon +starting ≤ 100 cm from the mineral soil surface. +PLINTHOSOLS +Other soils having an abrupt textural difference ≤ 75 cm from the +mineral soil surface and having within the range of 5 cm directly +above or below the abrupt textural difference: +1. stagnic properties, in which the area of reductimorphic +features plus the area of oximorphic features is ≥ 50% +(weighted average, related to the fine earth plus oximorphic + features of any size and any cementation class) of the total +area; and +2. reducing conditions for some time during the year in some +parts of the soil volume that has the reductimorphic features. +PLANOSOLS +Other soils having: +1. stagnic properties, in which the area of reductimorphic +features plus the area of oximorphic features is ≥ one third +(weighted average, related to the fine earth plus oximorphic +features of any size and any cementation class) of the area +from the mineral soil surface to a depth of 60 cm or to +continuous rock, whichever is shallower; and +2. reducing conditions for some time during the year in some +parts of the soil volume that has the reductimorphic features +within 60 cm from the mineral soil surface or to continuous +rock, whichever is shallower. +STAGNOSOLS +Other soils having: +1. a nitic horizon starting ≤ 100 cm from the mineral soil surface; and +2. from the mineral soil surface to the nitic horizon, a clay +content that is at least half of the weighted average clay +content of the nitic horizon; and +3. no vertic horizon starting above or at the upper limit of the +nitic horizon. +NITISOLS +Other soils having: +1. a ferralic horizon starting ≤ 150 cm from the mineral soil +surface; and +2. no argic horizon starting above or at the upper limit of the +ferralic horizon, unless the argic horizon has, in its upper +30 cm or throughout, whichever is shallower, one or more of +the following: +a. < 10% water-dispersible clay; or +b. a ΔpH (pHKCl - pHwater) ≥ 0 (both in 1:1 solution); or +c. ≥ 1.4% soil organic carbon. +FERRALSOLS +Other soils having: +1. a chernic horizon; and +2. starting ≤ 50 cm below the lower limit of the mollic4 horizon +and, if present, above a petrocalcic horizon, a layer with +protocalcic properties, ≥ 5 cm thick, or a calcic horizon; and +3. a base saturation (by 1 M NH4OAc, pH 7)5 of ≥ 50% from the +mineral soil surface to the layer with protocalcic properties or +to the calcic horizon, throughout. +CHERNOZEMS +Other soils having: +1. a mollic horizon; and +2. starting ≤ 70 cm of the mineral soil surface and, if present, +above a petrocalcic horizon, a layer with protocalcic +properties, ≥ 5 cm thick, or a calcic horizon; and +3. a base saturation (by 1 M NH4OAc, pH 7)6 of ≥ 50% from the +mineral soil surface to the layer with protocalcic properties or +to the calcic horizon, throughout. +KASTANOZEMS +Other soils having: +1. a mollic horizon; and +2. a base saturation (by 1 M NH4OAc, pH 7)7 of ≥ 50% +throughout to a depth of 100 cm from the mineral soil surface +or to a limiting layer, whichever is shallower. +PHAEOZEMS +Other soils having an umbric or mollic or hortic horizon. +UMBRISOLS +Other soils having a petroduric or duric horizon starting ≤ 100 cm +from the mineral soil surface. +DURISOLS +Other soils having: +1. a gypsic or petrogypsic horizon starting ≤ 100 cm from the +mineral soil surface; and +2. no argic horizon starting above or at the upper limit of the +gypsic or petrogypsic horizon, unless the argic horizon +contains secondary gypsum or secondary carbonates, +throughout. +GYPSISOLS +Other soils having: +1. a calcic or petrocalcic horizon starting ≤ 100 cm from the +mineral soil surface; and +2. no argic horizon starting above or at the upper limit of the +calcic or petrocalcic horizon unless the argic horizon contains +secondary carbonates, throughout. +CALCISOLS +Other soils having an argic horizon starting ≤ 100 cm from the +mineral soil surface and having retic properties at its upper +boundary. +RETISOLS +119 18 December 2022 +Key to the Reference Soil Groups Principal qualifiers Supplementary +qualifiers +Other soils having: +1. an argic horizon starting ≤ 100 cm from the mineral soil +surface; +and +2. a CEC (by 1 M NH4OAc, pH 7) of < 24 cmolc kg-1 clay in +some subhorizon of the argic horizon within 150 cm of the +mineral soil surface; +and +3. exchangeable Al > exchangeable (Ca+Mg+K+Na)8 in half or +more of: +a. the depth range between 50 and 100 cm of the mineral soil +surface; or +b. the lower half of the mineral soil above a limiting layer +starting ≤ 100 cm from the mineral soil surface, +whichever is shallower. +ACRISOLS +Other soils having: +1. an argic horizon starting ≤ 100 cm from the mineral soil +surface; and +2. a CEC (by 1 M NH4OAc, pH 7) of < 24 cmolc kg-1 clay in +some subhorizon of the argic horizon within 150 cm of the +mineral soil surface. +LIXISOLS +Other soils having: +1. an argic horizon starting ≤ 100 cm from the mineral soil +surface; +and +2. exchangeable Al > exchangeable (Ca+Mg+K+Na)9 in half or +more of: +a. the depth range between 50 and 100 cm of the mineral soil +surface; or +b. the lower half of the mineral soil above a limiting layer +starting ≤ 100 cm from the mineral soil surface +whichever is shallower. +ALISOLS +Other soils having an argic horizon starting ≤ 100 cm from the +mineral soil surface. +LUVISOLS +Other soils having: +1. a cambic horizon +a. starting ≤ 50 cm from the mineral soil surface; and +b. having its lower limit ≥ 25 cm from the mineral soil +surface; or +2. an anthraquic, hydragric, irragric, plaggic, pretic or terric +horizon; or +3. a fragic, thionic or vertic horizon starting ≤ 100 cm from the +mineral soil surface; or +4. a tsitelic horizon with a texture class of sandy loam or finer, +starting ≤ 50 cm from the mineral soil surface; or +5. one or more layers with andic or vitric properties with a +combined thickness of ≥ 15 cm within 100 cm of the soil +surface. +CAMBISOLS +Other soils having fluvic material: +1. ≥ 25 cm thick and starting ≤ 25 cm from the mineral soil +surface; or +2. from the lower limit of a plough layer, ≤ 40 cm thick, to a +depth of ≥ 50 cm from the mineral soil surface. +FLUVISOLS +Other soils having within 100 cm of the mineral soil surface: +1. a weighted average texture class of loamy sand or sand; and +2. layers of finer texture, if present, with a combined thickness of +< 15 cm; and +3. layers with ≥ 40% (by volume, related to the whole soil) +coarse fragments, if present, with a combined thickness of +< 15 cm. +ARENOSOLS +Other soils: +REGOSOLS diff --git a/misc/WRB2022/WRB_SQ.txt b/misc/WRB2022/WRB_SQ.txt new file mode 100644 index 0000000..b08e569 --- /dev/null +++ b/misc/WRB2022/WRB_SQ.txt @@ -0,0 +1,972 @@ +Supplementary qualifiers +Alcalic/ Dystric/ Eutric +Aric +Bryic +Dolomitic/ Calcaric +Fluvic +Gelic +Hyperorganic +Isolatic +Lignic +Limnic +Limonic +Mineralic +Mulmic +Ornithic +Placic +Pyric +Relocatic +Salic +Sulfidic +Technic/ Kalaic +Tephric +Toxic +Transportic +Turbic +Wapnic +HISTOSOLS +Supplementary qualifiers +Arenic/ Clayic/ Loamic/ +Siltic +Acric/ Lixic/ Alic/ Luvic +Alcalic/ Dystric/ Eutric +Calcic +Carbonic +Dolomitic/ Calcaric +Drainic +Escalic +Fluvic +Glossic/ Retic +Endoleptic/ Endothyric +Novic +Oxyaquic +Panpaic +Pyric +Salic +Skeletic +Sodic +Spodic +Technic/ Kalaic +Toxic +Vertic +Vitric +ANTHROSOLS +Supplementary qualifiers +Arenic/ Clayic/ +Loamic/ Siltic +Geoabruptic +Alcalic/ Dystric/ Eutric +Anthraquic/ Irragric/ +Hortic/ Plaggic/ Pretic/ +Terric +Archaic +Calcic +Cambic +Carbonic +Chernic/ Mollic/ +Umbric +Densic +Dolomitic/ Calcaric +Drainic +Ferritic +Fluvic +Folic/ Histic +Fractic +Gelic +Gypsic +Gypsiric +Humic/ Ochric +Hyperartefactic +Immissic +Laxic +Lignic +Limnic +Magnesic +Mahic +Novic +Oxyaquic +Panpaic/ Raptic +Protic +Pyric +Relocatic +Salic +Sideralic +Skeletic +Sodic +Solimovic +Protospodic +Sulfidic +Tephric +Thionic +Toxic +Transportic +Vitric +TECHNOSOLS +Supplementary qualifiers +Arenic/ Clayic/ Loamic/ +Siltic +Abruptic +Albic +Alcalic/ Dystric/ Eutric +Biocrustic +Dolomitic/ Calcaric +Drainic +Epic/ Endic/ Dorsic +Evapocrustic/ Puffic +Fluvic +Folic +Gypsiric +Humic/ Ochric +Limnic +Magnesic +Nechic +Novic +Ornithic +Pyric +Raptic +Sodic +Sulfidic +Technic/ Kalaic +Tephric +Thixotropic +Toxic +Transportic +Vitric +CRYOSOLS +Supplementary qualifiers +Arenic/ Clayic/ Loamic/ +Siltic +Aeolic +Aric +Biocrustic +Drainic +Fluvic +Gelic +Gleyic +Humic/ Ochric +Isolatic +Lapiadic +Magnesic +Nechic +Novic +Ornithic +Oxyaquic +Panpaic/ Raptic +Placic +Protic +Pyric +Salic +Sodic +Solimovic +Protospodic +Stagnic +Sulfidic +Technic/ Kalaic +Tephric +Toxic +Transportic +Turbic +Protovertic +Vitric +LEPTOSOLS +Supplementary qualifiers +Arenic/ Clayic/ Loamic/ +Siltic +Aeolic +Biocrustic +Neocambic/ Neobrunic +Chromic +Columnic +Cutanic +Differentic +Duric +Epic/ Endic +Ferric +Fluvic +Fractic +Humic/ Ochric +Magnesic +Hypernatric +Novic +Oxyaquic +Petroplinthic +Pyric +Raptic +Retic +Skeletic +Technic/ Kalaic +Toxic +Transportic +Turbic +SOLONETZ +Supplementary qualifiers +Alcalic/ Endodystric +Aric +Chernic/ Mollic +Dolomitic/ Calcaric +Drainic +Hypereutric +Epic/ Endic +Ferric +Fractic +Gilgaic +Gleyic +Grumic/ Mazic/ Pelocrustic +Gypsiric +Humic/ Ochric +Magnesic +Novic +Oxyaquic +Pyric +Raptic +Skeletic +Stagnic +Sulfidic +Takyric +Technic/ Kalaic +Thionic +Toxic +Transportic +VERTISOLS +Supplementary qualifiers +Arenic/ Clayic/ Loamic/ +Siltic +Aceric +Aeolic +Alcalic +Biocrustic +Carbonatic/ Chloridic/ +Sulfatic +Densic +Dolomitic/ Calcaric +Drainic +Duric +Evapocrustic/ Puffic +Folic/ Histic +Fractic +Gelic +Gypsiric +Humic/ Ochric +Magnesic +Novic +Oxyaquic +Panpaic/ Raptic +Pyric +Hypersalic +Skeletic +Solimovic +Sulfidic +Technic/ Kalaic +Endothionic +Toxic +Transportic +Turbic +Vertic +SOLONCHAKS +Supplementary qualifiers +Arenic/ Clayic/ Loamic/ +Siltic +Abruptic +Acric/ Lixic/ Alic/ Luvic +Alcalic +Arenicolic +Aric +Drainic +Ferralic/ Sideralic +Folic +Fractic +Gelic +Humic/ Ochric +Inclinic +Laxic +Limnic +Limonic +Magnesic +Mulmic +Nechic +Novic +Placic +Pyric +Raptic +Relocatic +Salic +Skeletic +Sodic +Solimovic +Sulfidic +Takyric +Technic/ Kalaic +Tephric +Toxic +Transportic +Turbic +Uterquic +Vertic +GLEYSOLS +Supplementary qualifiers +Arenic/ Clayic/ Loamic/ +Siltic +Protoandic +Aric +Dolomitic/ Calcaric +Drainic +Eutrosilic/ Acroxic +Fluvic +Folic +Fragic +Gelic +Humic/ Ochric +Mulmic +Nechic +Novic +Oxyaquic +Panpaic +Placic +Posic +Pyric +Reductic +Sideralic +Sodic +Solimovic +Protospodic +Technic/ Kalaic +Thixotropic +Toxic +Transportic +Turbic +ANDOSOLS +Supplementary qualifiers +Arenic/ Loamic/ Siltic +Abruptic +Aric +Neocambic/ Neobrunic +Cordic +Densic +Drainic +Epic/ Endic/ Dorsic +Eutric +Folic +Fragic +Gelic +Limonic +Novic +Ornithic +Oxyaquic +Placic +Pyric +Raptic +Sideralic +Hyperspodic +Technic/ Kalaic +Toxic +Transportic +Turbic +PODZOLS +Supplementary qualifiers +Arenic/ Clayic/ Loamic/ +Siltic +Abruptic +Acric/ Lixic +Aric +Cohesic +Drainic +Duric +Dystric/ Eutric +Epic/ Endic +Folic +Humic/ Ochric +Isopteric +Magnesic +Novic +Oxyaquic +Posic +Pyric +Raptic +Saprolithic +Technic/ Kalaic +Toxic +Transportic +PLINTHOSOLS +Supplementary qualifiers +Arenic/ Clayic/ Loamic/ +Siltic +Alcalic +Andic +Aric +Cambic +Capillaric +Chromic +Cohesic +Columnic +Densic +Drainic +Ferralic/ Sideralic +Ferric +Folic +Fragic +Gelic +Gelistagnic +Geric +Humic/ Ochric +Inclinic +Magnesic +Mochipic +Nechic +Novic +Pyric +Raptic +Skeletic +Sodic +Solimovic +Sulfidic +Technic/ Kalaic +Toxic +Transportic +Turbic +Uterquic +PLANOSOLS +Supplementary qualifiers +Arenic/ Clayic/ Loamic/ +Siltic +Endoabruptic +Alcalic +Aric +Cambic +Capillaric +Cohesic +Drainic +Ferralic/ Sideralic +Ferric +Folic +Fragic +Gelic +Gelistagnic +Geric +Humic/ Ochric +Inclinic +Magnesic +Mochipic +Nechic +Nitic +Novic +Ornithic +Pyric +Raptic +Rhodic/ Chromic +Skeletic +Sodic +Solimovic +Protospodic +Sulfidic +Technic/ Kalaic +Toxic +Transportic +Turbic +Uterquic +STAGNOSOLS +Supplementary qualifiers +Andic +Aric +Densic +Epic/ Endic +Ferric +Endogleyic +Humic/ Ochric +Magnesic +Novic +Oxyaquic +Posic +Pyric +Raptic +Sodic +Endostagnic +Technic/ Kalaic +Toxic +Transportic +NITISOLS +Supplementary qualifiers +Arenic/ Clayic/ Loamic/ +Siltic +Abruptic +Activic +Andic +Aric +Cohesic +Densic +Dystric/ Eutric +Epic/ Endic/ Dorsic +Ferric +Fluvic +Folic +Humic/ Ochric +Isopteric +Litholinic +Novic +Oxyaquic +Posic +Pyric +Raptic +Saprolithic +Solimovic +Sombric +Technic/ Kalaic +Toxic +Transportic +FERRALSOLS +Supplementary qualifiers +Arenic/ Clayic/ Loamic/ +Siltic +Andic +Anthric +Aric +Chromic +Densic +Fractic +Gelic +Humic +Laxic +Magnesic +Novic +Oxyaquic +Pachic +Panpaic/ Raptic +Pyric +Salic +Sodic +Solimovic +Sombric +Stagnic +Technic/ Kalaic +Tephric +Transportic +Turbic +Vitric +KASTANOZEMS +Supplementary qualifiers +Arenic/ Clayic/ Loamic/ +Siltic +Abruptic +Albic +Andic +Anthric +Aric +Columnic +Densic +Ferralic/ Sideralic +Folic +Fractic +Humic +Isolatic +Laxic +Limonic +Magnesic +Nechic +Novic +Oxyaquic +Pachic +Panpaic/ Raptic +Pyric +Relocatic +Rhodic/ Chromic +Salic +Sodic +Solimovic +Sombric +Technic/ Kalaic +Tephric +Transportic +Turbic +Vitric +PHAEOZEMS +Supplementary qualifiers +Arenic/ Clayic/ Loamic/ +Siltic +Abruptic +Albic +Andic +Anthric +Aric +Densic +Drainic +Hyperdystric/ Eutric +Ferralic/ Sideralic +Folic +Gelic +Humic +Isolatic +Laxic +Limonic +Nechic +Novic +Ornithic +Oxyaquic +Pachic +Panpaic/ Raptic +Placic +Pyric +Relocatic +Rhodic/ Chromic +Solimovic +Sombric +Protospodic +Sulfidic +Technic/ Kalaic +Thionic +Toxic +Transportic +Turbic +Vitric +UMBRISOLS +Supplementary qualifiers +Arenic/ Clayic/ Loamic/ +Siltic +Aeolic +Aric +Biocrustic +Chromic +Cohesic +Epic/ Endic +Gleyic +Humic/ Ochric +Isopteric +Magnesic +Novic +Pyric +Raptic +Salic +Sideralic +Sodic +Stagnic +Technic/ Kalaic +Toxic +Transportic +Vertic +DURISOLS +Supplementary qualifiers +Arenic/ Clayic/ Loamic/ +Siltic +Abruptic +Aeolic +Aric +Biocrustic +Epic/ Endic +Fluvic +Hypergypsic +Humic/ Ochric +Isopteric +Naramic +Novic +Panpaic/ Raptic +Pyric +Salic +Sodic +Technic/ Kalaic +Toxic +Transportic +Turbic +Vertic +GYPSISOLS +Supplementary qualifiers +Arenic/ Clayic/ Loamic/ +Siltic +Aric +Cutanic +Densic +Differentic +Drainic +Epic/ Endic +Folic +Gelic +Humic/ Ochric +Lamellic +Nechic +Novic +Oxyaquic +Profondic +Pyric +Raptic +Solimovic +Protospodic +Technic/ Kalaic +Toxic +Transportic +Turbic +RETISOLS +Supplementary qualifiers +Arenic/ Clayic/ Loamic/ +Siltic +Andic +Aric +Neocambic/ Neobrunic +Cohesic +Cutanic +Densic +Differentic +Hyperdystric/ Epieutric +Epic/ Endic +Geric +Gibbsic +Humic/ Ochric +Magnesic +Nechic +Nitic +Novic +Oxyaquic +Posic +Profondic +Pyric +Raptic +Saprolithic +Sodic +Solimovic +Sombric +Technic/ Kalaic +Toxic +Transportic +Vitric +ACRISOLS +Supplementary qualifiers +Arenic/ Clayic/ Loamic/ +Siltic +Andic +Aric +Neocambic/ Neobrunic +Cohesic +Columnic +Cutanic +Densic +Differentic +Epidystric/ Hypereutric +Epic/ Endic +Fractic +Geric +Gibbsic +Humic/ Ochric +Magnesic +Nechic +Nitic +Novic +Oxyaquic +Profondic +Pyric +Raptic +Saprolithic +Sodic +Solimovic +Technic/ Kalaic +Toxic +Transportic +Vitric +LIXISOLS +Supplementary qualifiers +Arenic/ Clayic/ Loamic/ +Siltic +Andic +Aric +Neocambic/ Neobrunic +Cutanic +Densic +Differentic +Hyperdystric/ Epieutric +Epic/ Endic +Fluvic +Folic +Gelic +Humic/ Ochric +Hyperalic +Magnesic +Nechic +Nitic +Novic +Oxyaquic +Profondic +Pyric +Raptic +Sodic +Solimovic +Protospodic +Technic/ Kalaic +Toxic +Transportic +Turbic +Vitric +ALISOLS +Supplementary qualifiers +Arenic/ Clayic/ Loamic/ +Siltic +Andic +Aric +Neocambic /Neobrunic +Columnic +Cutanic +Densic +Differentic +Epidystric/ Hypereutric +Epic/ Endic +Escalic +Fluvic +Fractic +Gelic +Humic/ Ochric +Magnesic +Nechic +Nitic +Novic +Oxyaquic +Profondic +Pyric +Raptic +Sodic +Solimovic +Technic/ Kalaic +Toxic +Transportic +Turbic +Vitric +LUVISOLS +Supplementary qualifiers +Arenic/ Clayic/ Loamic/ +Siltic +Geoabruptic +Aeolic +Alcalic +Aric +Biocrustic +Protocalcic +Carbonic +Cohesic +Columnic +Densic +Drainic +Escalic +Ferric +Folic +Fractic +Gelic +Gelistagnic +Protogypsic +Humic/ Ochric +Isopteric +Laxic +Limonic +Litholinic +Magnesic +Nechic +Novic +Ornithic +Oxyaquic +Panpaic/ Raptic +Pyric +Salic +Saprolithic +Sodic +Protospodic +Sulfidic +Technic/ Kalaic +Tephric +Toxic +Transportic +Turbic +CAMBISOLS +Supplementary qualifiers +Arenic/ Clayic/ Loamic/ +Siltic +Geoabruptic +Alcalic +Arenicolic +Aric +Protocalcic +Densic +Drainic +Folic +Gelic +Humic/ Ochric +Limnic +Limonic +Magnesic +Nechic +Oxyaquic +Panpaic +Placic +Pyric +Salic +Sideralic +Sodic +Sulfidic +Technic/ Kalaic +Toxic +Transportic +Turbic +Protovertic +FLUVISOLS +Supplementary qualifiers +Geoabruptic +Alcalic +Arenicolic +Aric +Biocrustic +Protocalcic +Carbonic +Cordic +Folic +Gelic +Protogypsic +Humic/ Ochric +Hydrophobic +Isopteric +Lamellic/ Protoargic +Limonic +Nechic +Novic +Ornithic +Oxyaquic +Panpaic/ Raptic +Placic +Pyric +Rhodic/ Chromic/ Rubic/ +Claric +Salic +Sodic +Bathyspodic +Protospodic +Stagnic +Sulfidic +Technic/ Kalaic +Toxic +Turbic +ARENOSOLS +Supplementary qualifiers +Arenic/ Clayic/ Loamic/ +Siltic +Geoabruptic +Alcalic +Aric +Biocrustic +Protocalcic +Carbonic +Cordic +Densic +Drainic +Escalic +Fluvic +Folic +Gelic +Gelistagnic +Protogypsic +Humic/ Ochric +Isolatic +Isopteric +Magnesic +Nechic +Ornithic +Oxyaquic +Panpaic/ Raptic +Pyric +Salic +Saprolithic +Sodic +Technic/ Kalaic +Toxic +Turbic +Protovertic +REGOSOLS From 0a0b0cd92b4c3e73b8738d868098576eb05199bf Mon Sep 17 00:00:00 2001 From: Andrew Gene Brown Date: Fri, 16 Feb 2024 05:13:35 -0800 Subject: [PATCH 2/5] fix encoding + docs --- R/data-documentation.R | 9 ++++++--- data-raw/wrb_4th_2022.R | 1 + data/wrb_4th_2022.rda | Bin 6447 -> 6457 bytes man/wrb_4th_2022.Rd | 26 ++++++++++++++++++++++++++ misc/.gitignore | 2 +- 5 files changed, 34 insertions(+), 4 deletions(-) create mode 100644 man/wrb_4th_2022.Rd diff --git a/R/data-documentation.R b/R/data-documentation.R index 39de3de..816cf4f 100644 --- a/R/data-documentation.R +++ b/R/data-documentation.R @@ -96,13 +96,15 @@ #' "ST_higher_taxa_codes_13th" -#' World Reference Base for Soil Resources (4th Edition , 2022) +#' World Reference Base for Soil Resources (4th Edition, 2022) #' #' A _list_ containing three _data.frame_ elements `"rsg"`, `"pq"`, and `"sq"` providing information on the 'Representative Soil Groups', 'Principal Qualifiers,' and 'Supplementary Qualifiers,' respectively. #' #' @details #' -#' Each element has the column `code` which is a number (1-32) referring to the position in the Reference Soil Groups, and the column `reference_soil_group` which is the corresponding group name. The _data.frame_ `"rsg"` has column `criteria`, describing the criteria for each Reference Soil Group. The _data.frame_ `"pq"` contains column `"principal_qualifier"` and `"sq"` contains column `"supplementary_qualifier"`. The `"pq"` and `"sq"` qualifier names may be single qualifiers, or several related qualifiers separated with a forward slash `" / "` +#' Each element has the column `"code"` which is a number (1-32) referring to the position in the Reference Soil Groups, and the column `"reference_soil_group"` which is the corresponding group name. +#' - The _data.frame_ `"rsg"` has column `"criteria"`, describing the logical criteria for each Reference Soil Group. +#' - The _data.frame_ `"pq"` has qualifier names in column `"principal_qualifier"` and `"sq"` has column `"supplementary_qualifier"`. The `"pq"` and `"sq"` qualifier names may be single qualifiers, or several related qualifiers separated with a forward slash `" / "` #' #' @references #' @@ -111,4 +113,5 @@ #' @usage data(wrb_4th_2022) #' #' @keywords datasets -#' \ No newline at end of file +#' +"wrb_4th_2022" \ No newline at end of file diff --git a/data-raw/wrb_4th_2022.R b/data-raw/wrb_4th_2022.R index 0bc6a9a..76f6390 100644 --- a/data-raw/wrb_4th_2022.R +++ b/data-raw/wrb_4th_2022.R @@ -21,6 +21,7 @@ library(pdftools) # x <- readLines("misc/WRB2022/WRB_RSG.txt") +x <- gsub("\u003c", "<", gsub("\u003E", ">", gsub("\u2264", "<=", gsub("\u2265", ">=", x)))) n <- grep("^[A-Z]+$", x) z.names <- x[n] x <- x[-n] diff --git a/data/wrb_4th_2022.rda b/data/wrb_4th_2022.rda index 38eb6cc6a7b84289bb9975bb28924bf02d36cdbc..2f78c1ab24e406b0b3fceb15f7196883f673ad0b 100644 GIT binary patch literal 6457 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 T<}%@V|BJaIoG3_M95n%eU$HfC literal 6447 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 Jp&%2n>_lKAT4?|P diff --git a/man/wrb_4th_2022.Rd b/man/wrb_4th_2022.Rd new file mode 100644 index 0000000..54589aa --- /dev/null +++ b/man/wrb_4th_2022.Rd @@ -0,0 +1,26 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/data-documentation.R +\docType{data} +\name{wrb_4th_2022} +\alias{wrb_4th_2022} +\title{World Reference Base for Soil Resources (4th Edition, 2022)} +\format{ +An object of class \code{list} of length 3. +} +\usage{ +data(wrb_4th_2022) +} +\description{ +A \emph{list} containing three \emph{data.frame} elements \code{"rsg"}, \code{"pq"}, and \code{"sq"} providing information on the 'Representative Soil Groups', 'Principal Qualifiers,' and 'Supplementary Qualifiers,' respectively. +} +\details{ +Each element has the column \code{"code"} which is a number (1-32) referring to the position in the Reference Soil Groups, and the column \code{"reference_soil_group"} which is the corresponding group name. +\itemize{ +\item The \emph{data.frame} \code{"rsg"} has column \code{"criteria"}, describing the logical criteria for each Reference Soil Group. +\item The \emph{data.frame} \code{"pq"} has qualifier names in column \code{"principal_qualifier"} and \code{"sq"} has column \code{"supplementary_qualifier"}. The \code{"pq"} and \code{"sq"} qualifier names may be single qualifiers, or several related qualifiers separated with a forward slash \code{" / "} +} +} +\references{ +IUSS Working Group WRB. 2022. World Reference Base for Soil Resources. International soil classification system for naming soils and creating legends for soil maps. 4th edition. International Union of Soil Sciences (IUSS), Vienna, Austria. +} +\keyword{datasets} diff --git a/misc/.gitignore b/misc/.gitignore index 21fff61..3905c93 100644 --- a/misc/.gitignore +++ b/misc/.gitignore @@ -1,5 +1,5 @@ *.json -subgroups.tgz .Rproj.user .Rhistory *.Rproj +WRB2022/WRB_fourth_edition_2022-12-18.pdf From f03da16b43ec0b3d7963d0257e6ef798de32c5d2 Mon Sep 17 00:00:00 2001 From: Andrew Gene Brown Date: Fri, 16 Feb 2024 05:34:06 -0800 Subject: [PATCH 3/5] fix qualifier parsing --- data-raw/wrb_4th_2022.R | 2 ++ data/wrb_4th_2022.rda | Bin 6457 -> 6475 bytes misc/WRB2022/WRB_PQ.txt | 2 ++ misc/WRB2022/WRB_SQ.txt | 55 ++++++++++++++++++++++++++++++++++++++++ 4 files changed, 59 insertions(+) diff --git a/data-raw/wrb_4th_2022.R b/data-raw/wrb_4th_2022.R index 76f6390..f64b088 100644 --- a/data-raw/wrb_4th_2022.R +++ b/data-raw/wrb_4th_2022.R @@ -90,4 +90,6 @@ wrb_4th_2022 <- list( sq = wrb_sq ) +stopifnot(all(sapply(wrb_4th_2022, function(x) max(x$code)) == 32)) + usethis::use_data(wrb_4th_2022, overwrite = TRUE) diff --git a/data/wrb_4th_2022.rda b/data/wrb_4th_2022.rda index 2f78c1ab24e406b0b3fceb15f7196883f673ad0b..88845eeca9d82c28f6ed9ed69497d99b24874490 100644 GIT binary patch literal 6475 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 literal 6457 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 T<}%@V|BJaIoG3_M95n%eU$HfC diff --git a/misc/WRB2022/WRB_PQ.txt b/misc/WRB2022/WRB_PQ.txt index 9a0e87b..cc34978 100644 --- a/misc/WRB2022/WRB_PQ.txt +++ b/misc/WRB2022/WRB_PQ.txt @@ -179,6 +179,7 @@ Glossic/ Retic Acric/ Alic Coarsic Skeletic +PODZOLS Principal qualifiers Petric Pisoplinthic @@ -214,6 +215,7 @@ Calcic Dolomitic/ Calcaric Dystric/ Eutric PLANOSOLS +Principal qualifiers Reductic Thionic Leptic diff --git a/misc/WRB2022/WRB_SQ.txt b/misc/WRB2022/WRB_SQ.txt index b08e569..83b1085 100644 --- a/misc/WRB2022/WRB_SQ.txt +++ b/misc/WRB2022/WRB_SQ.txt @@ -517,6 +517,31 @@ Supplementary qualifiers Arenic/ Clayic/ Loamic/ Siltic Andic +Aric +Densic +Fluvic +Fractic +Humic +Novic +Oxyaquic +Pachic +Pyric +Raptic +Salic +Sodic +Solimovic +Sombric +Stagnic +Technic/ Kalaic +Tephric +Transportic +Turbic +Vitric +CHERNOZEMS +Supplementary qualifiers +Arenic/ Clayic/ Loamic/ +Siltic +Andic Anthric Aric Chromic @@ -669,6 +694,36 @@ GYPSISOLS Supplementary qualifiers Arenic/ Clayic/ Loamic/ Siltic +Abruptic +Aeolic +Aric +Biocrustic +Hypercalcic +Densic +Epic/ Endic +Fluvic +Gelic +Protogypsic +Humic/ Ochric +Isopteric +Magnesic +Naramic +Novic +Panpaic/ Raptic +Pyric +Rhodic/ Chromic +Salic +Sodic +Solimovic +Technic/ Kalaic +Toxic +Transportic +Turbic +Vertic +CALCISOLS +Supplementary qualifiers +Arenic/ Clayic/ Loamic/ +Siltic Aric Cutanic Densic From 3ec0a49ab9ec84a7d25aaa74560571a57c9b3413 Mon Sep 17 00:00:00 2001 From: Andrew Gene Brown Date: Tue, 7 May 2024 16:24:50 -0700 Subject: [PATCH 4/5] add `qualifier_group` column for both primary and supplementary qualifiers - used to identify related terms --- R/data-documentation.R | 12 ++++++------ data-raw/wrb_4th_2022.R | 18 ++++++++++++++---- data/wrb_4th_2022.rda | Bin 6475 -> 7957 bytes man/wrb_4th_2022.Rd | 2 +- 4 files changed, 21 insertions(+), 11 deletions(-) diff --git a/R/data-documentation.R b/R/data-documentation.R index 816cf4f..613990a 100644 --- a/R/data-documentation.R +++ b/R/data-documentation.R @@ -99,12 +99,12 @@ #' World Reference Base for Soil Resources (4th Edition, 2022) #' #' A _list_ containing three _data.frame_ elements `"rsg"`, `"pq"`, and `"sq"` providing information on the 'Representative Soil Groups', 'Principal Qualifiers,' and 'Supplementary Qualifiers,' respectively. -#' +#' #' @details -#' -#' Each element has the column `"code"` which is a number (1-32) referring to the position in the Reference Soil Groups, and the column `"reference_soil_group"` which is the corresponding group name. -#' - The _data.frame_ `"rsg"` has column `"criteria"`, describing the logical criteria for each Reference Soil Group. -#' - The _data.frame_ `"pq"` has qualifier names in column `"principal_qualifier"` and `"sq"` has column `"supplementary_qualifier"`. The `"pq"` and `"sq"` qualifier names may be single qualifiers, or several related qualifiers separated with a forward slash `" / "` +#' +#' Each element has the column `"code"` which is a number (1-32) referring to the position in the Reference Soil Groups, and the column `"reference_soil_group"` which is the corresponding group name. +#' - The _data.frame_ `"rsg"` has column `"criteria"`, describing the logical criteria for each Reference Soil Group. +#' - The _data.frame_ `"pq"` has qualifier names in column `"principal_qualifier"` and `"sq"` has column `"supplementary_qualifier"`. The `"pq"` and `"sq"` qualifier name columns (`primary_qualifier` and `supplementary_qualifier`) contain individual qualifier terms. Related qualifiers can be identified using `qualifier_group` column which is derived from qualifier names separated with a forward slash `" / "` #' #' @references #' @@ -114,4 +114,4 @@ #' #' @keywords datasets #' -"wrb_4th_2022" \ No newline at end of file +"wrb_4th_2022" diff --git a/data-raw/wrb_4th_2022.R b/data-raw/wrb_4th_2022.R index f64b088..dca9da8 100644 --- a/data-raw/wrb_4th_2022.R +++ b/data-raw/wrb_4th_2022.R @@ -2,7 +2,7 @@ library(pdftools) ## SETUP -## +## # dir.create("misc/WRB2022") # download.file("https://wrb.isric.org/files/WRB_fourth_edition_2022-12-18.pdf", # destfile = "misc/WRB2022/WRB_fourth_edition_2022-12-18.pdf") @@ -18,7 +18,7 @@ library(pdftools) ## nope # x <- pdf_data("misc/WRB2022/WRB_fourth_edition_2022-12-18.pdf") # y <- do.call('rbind', x) -# +# x <- readLines("misc/WRB2022/WRB_RSG.txt") x <- gsub("\u003c", "<", gsub("\u003E", ">", gsub("\u2264", "<=", gsub("\u2265", ">=", x)))) @@ -59,7 +59,12 @@ z <- lapply(xx, function(y) { names(z) <- z.names wrb_pq <- do.call('rbind', lapply(seq(z), function(i) { - data.frame(code = i, reference_soil_group = z.names[i], principal_qualifiers = z[[z.names[i]]]) + pq <- lapply(strsplit(z[[z.names[i]]], "/"), trimws) + pg <- lapply(seq(pq), function(j) rep(z[[z.names[i]]][j], length(pq[[j]]))) + data.frame(code = i, + reference_soil_group = z.names[i], + qualifier_group = unlist(pg), + principal_qualifiers = unlist(pq)) })) rownames(wrb_pq) <- NULL # View(wrb_pq) @@ -79,7 +84,12 @@ z <- lapply(xx, function(y) { names(z) <- z.names wrb_sq <- do.call('rbind', lapply(seq(z), function(i) { - data.frame(code = i, reference_soil_group = z.names[i], supplementary_qualifiers = z[[z.names[i]]]) + sq <- lapply(strsplit(z[[z.names[i]]], "/"), trimws) + sg <- lapply(seq(sq), function(j) rep(z[[z.names[i]]][j], length(sq[[j]]))) + data.frame(code = i, + reference_soil_group = z.names[i], + qualifier_group = unlist(sg), + supplementary_qualifiers = unlist(sq)) })) rownames(wrb_sq) <- NULL # View(wrb_sq) diff --git a/data/wrb_4th_2022.rda b/data/wrb_4th_2022.rda index 88845eeca9d82c28f6ed9ed69497d99b24874490..294e35032d0999cc167a1f80a0a6449b1da6aa6a 100644 GIT binary patch literal 7957 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 LoG3^%=iRUXJw(ES literal 6475 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 diff --git a/man/wrb_4th_2022.Rd b/man/wrb_4th_2022.Rd index 54589aa..94e1bf7 100644 --- a/man/wrb_4th_2022.Rd +++ b/man/wrb_4th_2022.Rd @@ -17,7 +17,7 @@ A \emph{list} containing three \emph{data.frame} elements \code{"rsg"}, \code{"p Each element has the column \code{"code"} which is a number (1-32) referring to the position in the Reference Soil Groups, and the column \code{"reference_soil_group"} which is the corresponding group name. \itemize{ \item The \emph{data.frame} \code{"rsg"} has column \code{"criteria"}, describing the logical criteria for each Reference Soil Group. -\item The \emph{data.frame} \code{"pq"} has qualifier names in column \code{"principal_qualifier"} and \code{"sq"} has column \code{"supplementary_qualifier"}. The \code{"pq"} and \code{"sq"} qualifier names may be single qualifiers, or several related qualifiers separated with a forward slash \code{" / "} +\item The \emph{data.frame} \code{"pq"} has qualifier names in column \code{"principal_qualifier"} and \code{"sq"} has column \code{"supplementary_qualifier"}. The \code{"pq"} and \code{"sq"} qualifier name columns (\code{primary_qualifier} and \code{supplementary_qualifier}) contain individual qualifier terms. Related qualifiers can be identified using \code{qualifier_group} column which is derived from qualifier names separated with a forward slash \code{" / "} } } \references{ From e95198f5a3656eb1afd6ffb365b65aaeb8b03698 Mon Sep 17 00:00:00 2001 From: Andrew Gene Brown Date: Mon, 30 Sep 2024 17:07:22 -0700 Subject: [PATCH 5/5] Rename to WRB_4th_2022 --- DESCRIPTION | 2 +- R/data-documentation.R | 10 ++++++---- data-raw/wrb_4th_2022.R | 8 ++++---- data/WRB_4th_2022.rda | Bin 0 -> 7961 bytes data/wrb_4th_2022.rda | Bin 7957 -> 0 bytes man/{wrb_4th_2022.Rd => WRB_4th_2022.Rd} | 11 ++++++----- 6 files changed, 17 insertions(+), 14 deletions(-) create mode 100644 data/WRB_4th_2022.rda delete mode 100644 data/wrb_4th_2022.rda rename man/{wrb_4th_2022.Rd => WRB_4th_2022.Rd} (70%) diff --git a/DESCRIPTION b/DESCRIPTION index 7a27881..3c99dcb 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -22,7 +22,7 @@ Suggests: soilDB, ape, data.tree -RoxygenNote: 7.3.1 +RoxygenNote: 7.3.2 Roxygen: list(markdown = TRUE) VignetteBuilder: knitr LazyData: false diff --git a/R/data-documentation.R b/R/data-documentation.R index 613990a..baf40ef 100644 --- a/R/data-documentation.R +++ b/R/data-documentation.R @@ -102,16 +102,18 @@ #' #' @details #' -#' Each element has the column `"code"` which is a number (1-32) referring to the position in the Reference Soil Groups, and the column `"reference_soil_group"` which is the corresponding group name. +#' Each element has the column `"code"` which is a number (1-32) referring to the position in the Reference Soil Groups, and the column `"reference_soil_group"` which is the corresponding group name. The `"pq"` and `"sq"` qualifier name columns (`primary_qualifier` and `supplementary_qualifier`) contain individual qualifier terms. Related qualifiers are identified using `qualifier_group` column derived from qualifier names separated with a forward slash `" / "` +#' #' - The _data.frame_ `"rsg"` has column `"criteria"`, describing the logical criteria for each Reference Soil Group. -#' - The _data.frame_ `"pq"` has qualifier names in column `"principal_qualifier"` and `"sq"` has column `"supplementary_qualifier"`. The `"pq"` and `"sq"` qualifier name columns (`primary_qualifier` and `supplementary_qualifier`) contain individual qualifier terms. Related qualifiers can be identified using `qualifier_group` column which is derived from qualifier names separated with a forward slash `" / "` +#' - The _data.frame_ `"pq"` has qualifier names in column `"principal_qualifier"` +#' - The _data.frame_ `"sq"` has column `"supplementary_qualifier"`. #' #' @references #' #' IUSS Working Group WRB. 2022. World Reference Base for Soil Resources. International soil classification system for naming soils and creating legends for soil maps. 4th edition. International Union of Soil Sciences (IUSS), Vienna, Austria. #' -#' @usage data(wrb_4th_2022) +#' @usage data(WRB_4th_2022) #' #' @keywords datasets #' -"wrb_4th_2022" +"WRB_4th_2022" diff --git a/data-raw/wrb_4th_2022.R b/data-raw/wrb_4th_2022.R index dca9da8..1bdfa66 100644 --- a/data-raw/wrb_4th_2022.R +++ b/data-raw/wrb_4th_2022.R @@ -1,4 +1,4 @@ -## code to prepare `wrb_4th_2022` dataset goes here +## code to prepare `WRBs_4th_2022` dataset goes here library(pdftools) ## SETUP @@ -94,12 +94,12 @@ wrb_sq <- do.call('rbind', lapply(seq(z), function(i) { rownames(wrb_sq) <- NULL # View(wrb_sq) -wrb_4th_2022 <- list( +WRB_4th_2022 <- list( rsg = wrb_rsg, pq = wrb_pq, sq = wrb_sq ) -stopifnot(all(sapply(wrb_4th_2022, function(x) max(x$code)) == 32)) +stopifnot(all(sapply(WRB_4th_2022, function(x) max(x$code)) == 32)) -usethis::use_data(wrb_4th_2022, overwrite = TRUE) +usethis::use_data(WRB_4th_2022, overwrite = TRUE) diff --git a/data/WRB_4th_2022.rda b/data/WRB_4th_2022.rda new file mode 100644 index 0000000000000000000000000000000000000000..f86d17e57c0f80b2f80a269ad3fa1772df26fda8 GIT binary patch literal 7961 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 P6aN=-ML1B9r7EFp<(N7D literal 0 HcmV?d00001 diff --git a/data/wrb_4th_2022.rda b/data/wrb_4th_2022.rda deleted file mode 100644 index 294e35032d0999cc167a1f80a0a6449b1da6aa6a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7957 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 LoG3^%=iRUXJw(ES diff --git a/man/wrb_4th_2022.Rd b/man/WRB_4th_2022.Rd similarity index 70% rename from man/wrb_4th_2022.Rd rename to man/WRB_4th_2022.Rd index 94e1bf7..566541e 100644 --- a/man/wrb_4th_2022.Rd +++ b/man/WRB_4th_2022.Rd @@ -1,23 +1,24 @@ % Generated by roxygen2: do not edit by hand % Please edit documentation in R/data-documentation.R \docType{data} -\name{wrb_4th_2022} -\alias{wrb_4th_2022} +\name{WRB_4th_2022} +\alias{WRB_4th_2022} \title{World Reference Base for Soil Resources (4th Edition, 2022)} \format{ An object of class \code{list} of length 3. } \usage{ -data(wrb_4th_2022) +data(WRB_4th_2022) } \description{ A \emph{list} containing three \emph{data.frame} elements \code{"rsg"}, \code{"pq"}, and \code{"sq"} providing information on the 'Representative Soil Groups', 'Principal Qualifiers,' and 'Supplementary Qualifiers,' respectively. } \details{ -Each element has the column \code{"code"} which is a number (1-32) referring to the position in the Reference Soil Groups, and the column \code{"reference_soil_group"} which is the corresponding group name. +Each element has the column \code{"code"} which is a number (1-32) referring to the position in the Reference Soil Groups, and the column \code{"reference_soil_group"} which is the corresponding group name. The \code{"pq"} and \code{"sq"} qualifier name columns (\code{primary_qualifier} and \code{supplementary_qualifier}) contain individual qualifier terms. Related qualifiers are identified using \code{qualifier_group} column derived from qualifier names separated with a forward slash \code{" / "} \itemize{ \item The \emph{data.frame} \code{"rsg"} has column \code{"criteria"}, describing the logical criteria for each Reference Soil Group. -\item The \emph{data.frame} \code{"pq"} has qualifier names in column \code{"principal_qualifier"} and \code{"sq"} has column \code{"supplementary_qualifier"}. The \code{"pq"} and \code{"sq"} qualifier name columns (\code{primary_qualifier} and \code{supplementary_qualifier}) contain individual qualifier terms. Related qualifiers can be identified using \code{qualifier_group} column which is derived from qualifier names separated with a forward slash \code{" / "} +\item The \emph{data.frame} \code{"pq"} has qualifier names in column \code{"principal_qualifier"} +\item The \emph{data.frame} \code{"sq"} has column \code{"supplementary_qualifier"}. } } \references{