Metaquodom is het op eenvoudige wijze mogelijk om deaquo-domeintabellen te downloaden en te gebruiken in R.
aquodom is te installeren vanaf CRAN met:
install.packages("aquodom")De ontwikkelversie is te installeren vanGitHub met:
# install.packages("devtools")devtools::install_github("RedTent/aquodom")De Aquo-standaard vormt de Nederlandse standaard voor de uitwisselingvan gegevens in het waterbeheer. Metaquodom (kort vooraquo-domeintabellen) is het makkelijk om via de API domeintabellen vande Aquo-standaard in R te downloaden en te gebruiken.
De belangrijkste functies vanaquodom zijndom() endom_save(). Met deze functies kaniedere domeintabel van www.aquo.nl worden gedownload. De functiedom() geeft de domeintabel als een dataframe.dom_save() doet hetzelfde maar slaat daarnaast ook dedomeintabel op als xlsx- of csv-bestand. De functiedom_overzicht() geeft een compleet overzicht van allebeschikbare domeintabellen.
Alle functies hebben een optioneel argumentpeildatum.Dit argument kan worden gebruikt om alleen domeinwaarden ofdomeintabellen te tonen die geldig zijn op de peildatum. Metpeildatum = NULL worden alle resultaten inclusiefverouderde waarden getoond.
library(aquodom)dom("MonsterType")#> # A tibble: 7 x 6#> id omschrijving begin_geldigheid eind_geldigheid guid gerelateerd#> <dbl> <chr> <date> <date> <chr> <chr>#> 1 10 analysemonster 2017-12-13 2100-01-01 Id-6a3e6~ Id-99092d94-d~#> 2 8 materiaalmons~ 2015-11-18 2100-01-01 Id-f811d~ Id-2d146a3e-3~#> 3 11 samengevoegd ~ 2017-12-13 2100-01-01 Id-81ce3~ Id-8df42796-7~#> 4 4 toetsmonster 2015-11-18 2100-01-01 Id-0034d~ Id-ad4f1180-6~#> 5 9 uitloogmonster 2015-11-18 2100-01-01 Id-6053f~ Id-48826f74-c~#> 6 1 veldmonster 2015-11-18 2100-01-01 Id-74dd8~ Id-3e9918e3-4~#> 7 7 zeefmonster 2015-11-18 2100-01-01 Id-8d483~ Id-63ac95ff-1~#De namen van domeintabellen zijn niet hoofdlettergevoeligall.equal(dom("MonsterType"),dom("monstertype"))#> [1] TRUE# Alle domeinwaarden inclusief verouderde waardendom("MonsterType",peildatum =NULL)#> # A tibble: 8 x 6#> id omschrijving begin_geldigheid eind_geldigheid guid gerelateerd#> <dbl> <chr> <date> <date> <chr> <chr>#> 1 10 analysemonster 2017-12-13 2100-01-01 Id-6a3e6~ Id-99092d94-d~#> 2 8 materiaalmons~ 2015-11-18 2100-01-01 Id-f811d~ Id-2d146a3e-3~#> 3 10 mengmonster 2015-11-18 2017-12-12 Id-a0a78~ <NA>#> 4 11 samengevoegd ~ 2017-12-13 2100-01-01 Id-81ce3~ Id-8df42796-7~#> 5 4 toetsmonster 2015-11-18 2100-01-01 Id-0034d~ Id-ad4f1180-6~#> 6 9 uitloogmonster 2015-11-18 2100-01-01 Id-6053f~ Id-48826f74-c~#> 7 1 veldmonster 2015-11-18 2100-01-01 Id-74dd8~ Id-3e9918e3-4~#> 8 7 zeefmonster 2015-11-18 2100-01-01 Id-8d483~ Id-63ac95ff-1~head(dom_overzicht(),3)#> # A tibble: 3 x 7#> domeintabel domeintabelsoort wijzigingsdatum begin_geldigheid eind_geldigheid#> <chr> <chr> <date> <date> <date>#> 1 Afsluitmid~ Domeintabel 2020-11-11 2016-03-12 2100-01-01#> 2 Bekleding_~ Domeintabel 2020-06-30 2016-03-12 2100-01-01#> 3 BekledingT~ Domeintabel 2020-06-30 2016-03-12 2100-01-01#> # ... with 2 more variables: kolommen <list>, guid <chr>nrow(dom_overzicht())#> [1] 126# inclusief ongeldige domeintabellennrow(dom_overzicht(peildatum =NULL))#> [1] 261dom_save("monstertype")Het downloaden van grotere domeintabellen kan behoorlijk wat tijd inbeslag nemen. Daarom maaktaquodom gebruik van caching. Als eendomeintabel eenmaal is gedownload wordt in dezelfde R-sessie gebruikgemaakt van de cache. Voor het gebruik van dezelfde domeintabel inverschillende R-sessies kan de domeintabel het beste opgeslagen worden,bijv. metdom_save().
# De eerste keer duurt vrij langsystem.time(dom("Hoedanigheid"))#> ..#> user system elapsed#> 0.27 0.14 2.06# De tweede keer gaat veel snellersystem.time(dom("Hoedanigheid"))#> user system elapsed#> 0.02 0.00 0.02