| CatalogNode {thredds} | R Documentation |
A class for Catalogs (which may contain catalogs references or datasets)
Description
A catalog representation that sublcasses from ThreddsNode
Super class
thredds::ThreddsNode -> CatalogNode
Methods
Public methods
Inherited methods
Method list_services()
list available services
Usage
CatalogNode$list_services(
xpath = build_xpath("service", prefix = self$prefix),
form = "list"
)Arguments
xpathcharacter, the xpath specifications
formcharacter, either "list" or "table"
Returns
list of zero or more character vectors
Method list_catalogs()
list available catalogRefs
Usage
CatalogNode$list_catalogs(
xpath = build_xpath(c("dataset", "catalogRef"), prefix = self$prefix),
form = "list"
)Arguments
xpathcharacter, the xpath descriptor
formcharacter, either "list" or "table"
Returns
a list with zero or more character vectors
Method list_datasets()
list available datasets
Usage
CatalogNode$list_datasets(
xpath = build_xpath(c("dataset", "dataset"), prefix = self$prefix),
form = "list"
)Arguments
xpathcharacter, the xpath descriptor
formcharacter, either "list" or "table"
Returns
a list with zero or more character vectors
Method get_catalogs()
Retrieve a list one or more of child catalogs
Usage
CatalogNode$get_catalogs(
index,
xpath = build_xpath(c("dataset", "catalogRef"), prefix = self$prefix)
)Arguments
indexinteger index (1,...,nChild), indices or name(s)
xpathcharacter xpath representation
Returns
a list of Catalog class objects, possibly NULL
Method get_datasets()
Retrieve list one or more dataset children
Usage
CatalogNode$get_datasets(
index,
xpath = build_xpath(c("dataset", "dataset"), prefix = self$prefix)
)Arguments
indexthe integer index (1,...,nChild), indices or name(s)
xpathcharacter xpath representation
Returns
a list of Dataset objects or NULL
Method get_dataset_names()
Retrieve list zero or more dataset child names. If unnnamed, then we substitute "title", "ID", "urlPath", or "href" in that order of availability.
Usage
CatalogNode$get_dataset_names(
xpath = build_xpath(c("dataset", "dataset"), prefix = self$prefix)
)Arguments
xpathcharacter xpath representation
indexthe integer index (1,...,nChild), indices or name(s)
Returns
character vector of zero or more names
Method get_catalog_names()
Retrieve list zero or more catalog child names. If unnnamed, then we substitute "title", "ID", "urlPath" or href" in that order of availability.
Usage
CatalogNode$get_catalog_names(
xpath = build_xpath(c("dataset", "catalogRef"), prefix = self$prefix)
)Arguments
xpathcharacter xpath representation
indexthe integer index (1,...,nChild), indices or name(s)
Returns
character vector of zero or more names
Method parse_catalog_node()
Parse a catalog node
Usage
CatalogNode$parse_catalog_node(x)
Arguments
xxml_node
Returns
Catalog class object
Method parse_dataset_node()
Parse a dataset node
Usage
CatalogNode$parse_dataset_node(x)
Arguments
xxml_node
Returns
Dataset class object
Method print()
print method
Usage
CatalogNode$print(prefix = "")
Arguments
prefixcharacter, to be printed before each line of output (like spaces)
...other arguments for superclass
Method clone()
The objects of this class are cloneable with this method.
Usage
CatalogNode$clone(deep = FALSE)
Arguments
deepWhether to make a deep clone.
Examples
library(thredds)
top_uri <- 'https://oceandata.sci.gsfc.nasa.gov/opendap/catalog.xml'
Top <- thredds::CatalogNode$new(top_uri)
#to browse catalogue
#Top$browse()
#go down in 'MODISA' catalog
L3 <- Top$get_catalogs("MODISA")[["MODISA"]]$get_catalogs()[[1]]
#see what's available for 2009
catalog2009 <- L3$get_catalogs("2009")[[1]]
#get catalog for 2009-01-20
doy <- format(as.Date("2009-01-20"), "%m%d")
catalog20 <- catalog2009$get_catalogs(doy)[[doy]]
#get dataset node
chl <- catalog20$get_datasets("AQUA_MODIS.20090120.L3m.DAY.CHL.chlor_a.4km.nc")[[1]]
#retrieve the relative URL, and add it to the base URL for the service.
#Somewhat awkwardly, the relative URL comes prepended with a path separator, so we
#use straight up `paste0` to append to the base_uri.
#if(require("ncdf4")){
# base_uri <- "https://oceandata.sci.gsfc.nasa.gov:443/opendap"
# uri <- paste0(base_uri, chl[["AQUA_MODIS.20090120.L3m.DAY.CHL.chlor_a.4km.nc"]]$url)
# NC <- ncdf4::nc_open(uri)
#}