forked from NCEAS/datateam-training
-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
The code below is what I used to add data from visitor/Fischer into their appropriate dataset. Make sure this documentation get's added to the reference manual's Edit EML section.
# Script Goal: Add files from visitor directory to data package
## -- load libraries -- ##
library(dataone)
library(datapack)
library(uuid)
library(arcticdatautils)
library(EML)
## -- get dataset -- ##
d1c <- dataone::D1Client() # removed for privacy concerns
packageId <- "resource_map_pid_here"
dp <- getDataPackage(d1c, identifier = packageId, lazyLoad=TRUE, quiet=FALSE)
xml <- selectMember(dp, "sysmeta@fileName", ".xml")
## -- retrieve all files -- ##
# Get file paths to the data
files <- list.files("/home/visitor/Fischer", full.names = TRUE)
## -- Add files to package -- ##
for(i in 1:length(files)){
# create new data object for each file
data_object <- new("DataObject", format="netCDF-4", filename=files[[i]])
# add that object to the data package
dp <- addMember(dp, data_object, xml)
}
## -- update package -- ##
myAccessRules <- data.frame() # removed for privacy concerns
newPackageId <- uploadDataPackage(d1c, dp, public = FALSE,
accessRules = myAccessRules, quiet = FALSE)
Metadata
Metadata
Assignees
Labels
No labels
Projects
Status
Training To Dos