Skip to content

Commit 60c4aac

Browse files
committed
Add soilDB Bulletin 2025.01-1: Deprecation of NASIS Column Name Aliases
1 parent 898bc4c commit 60c4aac

File tree

2 files changed

+612
-0
lines changed

2 files changed

+612
-0
lines changed
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
---
2+
title: soilDB Bulletin 2025.01-1
3+
subtitle: Deprecation of NASIS Column Name Aliases
4+
output:
5+
html_document:
6+
theme: readable
7+
---
8+
9+
**Effective Date:** 2025/01/10
10+
11+
**Status:** _Active_
12+
13+
soilDB 2.8.7 introduced messages warning that NASIS column aliases will be removed in the next minor release (2.9.x).
14+
15+
Aliased column names are being replaced because they do not match the [NASIS metadata](https://www.nrcs.usda.gov/resources/education-and-teaching-materials/nasis-database-metadata) and they are occasionally used inconsistently. For better parity between NASIS queries, web reports, and R function output we are adopting the NASIS metadata physical column names for all values that are derived directly from NASIS. See _Table 1_ below for the full list of columns that are changing.
16+
17+
High-level functions like `fetchNASIS()` and `fetchVegdata()` are the most affected by this change. These functions will issue multiple messages: one for each of the affected lower-level functions that they call.
18+
19+
If you have questions or encounter any bugs due to changes related to this bulletin, please report them in a [new soilDB GitHub issue](https://github.com/ncss-tech/soilDB/issues/new). You can also add comments to the existing discussion related to conforming with official NASIS and SDA column names [here](https://github.com/ncss-tech/soilDB/issues/242).
20+
21+
#### Table 1. Deprecated soilDB versus Official NASIS Physical Column Names
22+
|Deprecated Column Name |Physical Column Name|
23+
|:--------------|:----------------------------------|
24+
|site_id |usiteid |
25+
|pedon_id |upedonid or assocuserpedonid |
26+
|describer |descname |
27+
|vegplot_id |vegplotid |
28+
|vegtransect_id |vegtransectid or vegtransectiid |
29+
|x_std |longstddecimaldegrees |
30+
|y_std |latstddecimaldegrees |
31+
|elev_field |elev |
32+
|slope_field |slope |
33+
|aspect_field |aspect |
34+
|es_classifier |siteecositehistory.classifier |
35+
|sand |sandtotest |
36+
|silt |silttotest |
37+
|clay |claytotest |
38+
|genhz |dspcomplayerid |
39+
|representative |rvindicator |
40+
41+
In the interim, before soilDB 2.9.0 is released, duplicate columns using both the alias and the official physical column name will be provided. This is to help users to transition to new column names before the old aliases are completely removed. As notification of deprecation of certain column aliases users will see a warning message the first time a function affected by the changes is called in each session. The message gives instructions on result column names that need to be changed. Subsequent calls to the same function in that session will not display a message. For example:
42+
43+
```
44+
f <- get_vegplot_from_NASIS_db()
45+
#> ------------------------------------------
46+
#> NOTE: `get_vegplot_from_NASIS_db()` column aliases will be removed in the next minor soilDB release (2.9.x).
47+
#> Please replace use of the following column names with NASIS physical column name:
48+
#> - site_id => usiteid
49+
#> - pedon_id => assocuserpedonid
50+
#> - vegplot_id => vegplotid
51+
#> Set `options(soilDB.warn.aliases=FALSE)` to prevent this message from displaying in future sessions.
52+
#> See <https://ncss-tech.github.io/AQP/soilDB/bulletins/2025.01-1-soilDB-NASIS-column-aliases.html> for details.
53+
#> ------------------------------------------
54+
```
55+
56+
The above message indicates that usage of `site_id`, `pedon_id` and `vegplot_id` columns from the result of `get_vegplot_from_NASIS_db()` should be replaced with the appropriate physical column name.
57+
58+
To prevent the alias warning messages from displaying in future sessions set the `soilDB.warn.aliases` option to `FALSE` with `options(soilDB.warn.aliases=FALSE)`. When using this option in published R Markdown tutorials and examples, the option can be set in an invisible code block so the user can choose for themselves to ignore messages in their own sessions.
59+
60+
In order to ensure your changes are compatible with a future removal of aliases, be sure it runs with a fresh install from the soilDB `"remove-aliases"` branch on GitHub, which has all of the aliases removed and replaced with physical column names rather than duplicated:
61+
62+
```r
63+
remotes::install_github("ncss-tech/soilDB@remove-aliases", dependencies = FALSE)
64+
```

AQP/soilDB/bulletins/2025.01-1-soilDB-NASIS-column-aliases.html

Lines changed: 548 additions & 0 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)