Version: | 1.0.0 |
Date: | 2025-10-08 |
Title: | Orchestrate Geospatial (Meta)Data Management Workflows and Manage FAIR Services |
Description: | An engine to facilitate the orchestration and execution of metadata-driven data management workflows, in compliance with 'FAIR' (Findable, Accessible, Interoperable and Reusable) data management principles. By means of a pivot metadata model, relying on the 'DublinCore' standard (https://dublincore.org/), a unique source of metadata can be used to operate multiple and inter-connected data management actions. Users can also customise their own workflows by creating specific actions but the library comes with a set of native actions targeting common geographic information and data management, in particular actions oriented to the publication on the web of metadata and data resources to provide standard discovery and access services. At first, default actions of the library were meant to focus on providing turn-key actions for geospatial (meta)data: 1) by creating manage geospatial (meta)data complying with 'ISO/TC211' (https://committee.iso.org/home/tc211) and 'OGC' (https://www.ogc.org/standards/) geographic information standards (eg 19115/19119/19110/19139) and related best practices (eg. 'INSPIRE'); and 2) by facilitating extraction, reading and publishing of standard geospatial (meta)data within widely used software that compound a Spatial Data Infrastructure ('SDI'), including spatial databases (eg. 'PostGIS'), metadata catalogues (eg. 'GeoNetwork', 'CSW' servers), data servers (eg. 'GeoServer'). The library was then extended to actions for other domains: 1) biodiversity (meta)data standard management including handling of 'EML' metadata, and their management with 'DataOne' servers, 2) in situ sensors, remote sensing and model outputs (meta)data standard management by handling part of 'CF' conventions, 'NetCDF' data format and 'OPeNDAP' access protocol, and their management with 'Thredds' servers, 3) generic / domain agnostic (meta)data standard managers ('DublinCore', 'DataCite'), to facilitate the publication of data within (meta)data repositories such as 'Zenodo' (https://zenodo.org) or DataVerse (https://dataverse.org/). The execution of several actions will then allow to cross-reference (meta)data resources in each action performed, offering a way to bind resources between each other (eg. reference 'Zenodo' 'DOI' in 'GeoNetwork'/'GeoServer' metadata, or vice versa reference 'GeoNetwork'/'GeoServer' links in 'Zenodo' or 'EML' metadata). The use of standardized configuration files ('JSON' or 'YAML' formats) allow fully reproducible workflows to facilitate the work of data and information managers. |
Maintainer: | Emmanuel Blondel <emmanuel.blondel1@gmail.com> |
Depends: | R (≥ 3.3) |
Imports: | R6, methods, dotenv, benchmarkme, httr, mime, jsonlite, yaml, XML, xml2, rdflib, curl, whisker, mime, digest, dplyr, readr, arrow, zip, png, uuid, sf, sfarrow, terra, geometa (≥ 0.9), geosapi, geonapi, geonode4R, ows4R |
Suggests: | testthat, readxl, gsheet, googledrive, DBI, rapiclient, RMariaDB, RPostgres, RPostgreSQL, RSQLite, ncdf4, thredds, EML, emld, datapack, dataone, rgbif, ocs4R, zen4R, atom4R, d4storagehub4R, rmarkdown, dataverse, blastula, waldo |
License: | MIT + file LICENSE |
URL: | https://github.com/r-geoflow/geoflow |
BugReports: | https://github.com/r-geoflow/geoflow/issues |
LazyLoad: | yes |
RoxygenNote: | 7.3.3 |
NeedsCompilation: | no |
Packaged: | 2025-10-08 20:09:51 UTC; emman |
Author: | Emmanuel Blondel |
Repository: | CRAN |
Date/Publication: | 2025-10-09 08:50:09 UTC |
Tools to Orchestrate and Run (Meta)Data Management Workflows
Description
Provides an engine to manage Spatial Data Infrastructures (SDI) and to orchestrate, run and automate geospatial (meta)data workflows in compliance with international standards (ISO, OGC, INSPIRE) with a range of actions such as data upload in spatial databases, publication in GeoServer and metadata publication in GeoNetwork. It includes actions to manage domain-specific resources usch ecological metadata (EML) and its publication on tools such as Metacat. It also allows to publish data on cloud data infrastructures such as Zenodo or Dataverse. Through a pivot metadata model, geoflow allows to manage a unique source dataset metadata while offering a way to target various repositories for their publication. The execution of several actions will allow to cross-share (meta)data resources in each action performed, offering a way to bind resources between each other (eg. reference Zenodo DOIS in Geonetwork/Geoserver metadata, reference Geonetwork/Geoserver links in Zenodo or EML metadata). The use of standardized configuration files allows fully reproducible workflows, in compliance with FAIR (Findable, Accessible, Interoperable, Reusable) principles.
Author(s)
Emmanuel Blondel emmanuel.blondel1@gmail.com
See Also
Useful links:
add_config_logger
Description
add_config_logger
enables a logger (managed with the internal
class geoflowLogger).
Usage
add_config_logger(config)
Arguments
config |
object of class list |
Author(s)
Emmanuel Blondel, emmanuel.blondel1@gmail.com
build_hierarchical_list
Description
build_hierarchical_list
Usage
build_hierarchical_list(parent, relationships)
Arguments
parent |
parent |
relationships |
relationships |
Value
a hierarchical list
check_packages
Description
check_packages
checks availability of a list of R packages in R. This
function is essentially used internally by geoflow in assocation to geoflow_software
and
geoflow_action
that would need specific packages to be imported in R.
Usage
check_packages(pkgs)
Arguments
pkgs |
a vector of package names |
Author(s)
Emmanuel Blondel, emmanuel.blondel1@gmail.com
closeWorkflow
Description
closeWorkflow
allows to close a workflow
Usage
closeWorkflow(config)
Arguments
config |
a configuration object as read by |
Author(s)
Emmanuel Blondel, emmanuel.blondel1@gmail.com
create_geoflow_data_from_dbi
Description
create_geoflow_data_from_dbi
Usage
create_geoflow_data_from_dbi(dbi, schema, table)
Arguments
dbi |
a dbi connection |
schema |
schema |
table |
table |
Author(s)
Emmanuel Blondel, emmanuel.blondel1@gmail.com
create_object_identification_id
Description
create_object_identification_id
Usage
create_object_identification_id(prefix, str)
Arguments
prefix |
a character string |
str |
a character string |
Value
a digested character string
debugWorkflow
Description
debugWorkflow
allows to initiate a workflow job for
developers to work / debug on workflow actions.
Usage
debugWorkflow(file, dir, entityIndex, copyData, runSoftwareActions, runLocalActions)
Arguments
file |
configuration file |
dir |
directory where to debug/execute the workflow |
entityIndex |
index of the entity within the list of loaded entities. Default is 1 |
copyData |
whether data should be downloaded/copied to job data directory.
Default is |
runSoftwareActions |
whether software actions should be run. Default is |
runLocalActions |
whether entity data local actions (if any) should be run.
Default is |
Value
a named list including the workflow config
, the selected entity
,
the eventual options
associated to the entity, and the output entity dir
path
of the selected entity.
Author(s)
Emmanuel Blondel, emmanuel.blondel1@gmail.com
describeOGCRelation
Description
describeOGCRelation
Usage
describeOGCRelation(entity, data_object, service, download, format,
handle_category, handle_ogc_service_description, handle_format)
Arguments
entity |
the entity considered |
data_object |
data object |
service |
service acronym |
download |
whether the relation should be a download one or not |
format |
format |
handle_category |
append the relation category |
handle_ogc_service_description |
append the OGC service description |
handle_format |
append the download format |
Author(s)
Emmanuel Blondel, emmanuel.blondel1@gmail.com
enrich_text_from_entity
Description
enrich_text_from_entity
will attempt to enrich an entity text property
from other entity metadata, depending on text variables handled by a pattern in the form
- If the entity property is a text, only the name of the property name is required.
- If the entity property is a list, then 2 subcases can be distinguished:
If it is a named list (such as entity descriptions), the text variable will be compound by the entity property name and the element_property name, in the form
If it is a unnamed list (such as list of keywords, list of relations, etc), the text variable will handle four elements: property (entity property name to look at), a key value pair to use for search within the list, an element_property for which the value should be picked up to enrich the text. The variable willbe in the form
Usage
enrich_text_from_entity(str, entity)
Arguments
str |
a text to be enriched |
entity |
an object of class |
Author(s)
Emmanuel Blondel, emmanuel.blondel1@gmail.com
executeWorkflow
Description
executeWorkflow
allows to execute a workflow
Usage
executeWorkflow(file, dir, queue,
on_initWorkflowJob, on_initWorkflow, on_closeWorkflow,
monitor, session)
Arguments
file |
a JSON geoflow configuration file |
dir |
a directory where to execute the workflow |
queue |
an ipc queue to use geoflow in geoflow-shiny |
on_initWorkflowJob |
a function to trigger once |
on_initWorkflow |
a function to trigger once |
on_closeWorkflow |
a function to trigger once |
monitor |
a monitor function to increase progress bar |
session |
a shiny session object (optional) to run geoflow in a shiny context |
Value
the path of the job directory
Author(s)
Emmanuel Blondel, emmanuel.blondel1@gmail.com
executeWorkflowJob
Description
executeWorkflowJob
allows to execute a workflow job
Usage
executeWorkflowJob(config, jobdir, queue, monitor)
Arguments
config |
a configuration object as read by |
jobdir |
the Job directory. Optional, by default inherited with the configuration. |
queue |
an ipc queue to use geoflow in geoflow-shiny |
monitor |
a monitor function to increase progress bar |
Author(s)
Emmanuel Blondel, emmanuel.blondel1@gmail.com
extract_cell_components
Description
extract_cell_components
extracts the components of a cell
when using tabular data content handlers (for entity and contact).
Usage
extract_cell_components(str)
Arguments
str |
a string as object of class |
Author(s)
Emmanuel Blondel, emmanuel.blondel1@gmail.com
extract_kvp
Description
extract_kvp
parses a string into a key value pair represented by
a geoflow_kvp
object.
Usage
extract_kvp(str)
Arguments
str |
a string as object of class |
Author(s)
Emmanuel Blondel, emmanuel.blondel1@gmail.com
extract_kvps
Description
extract_kvp
parses a string into a key value pair represented by
a geoflow_kvp
object.
Usage
extract_kvps(strs, collapse)
Arguments
strs |
a string as object of class |
collapse |
collapse by. Default is |
Author(s)
Emmanuel Blondel, emmanuel.blondel1@gmail.com
fetch_layer_styles_from_dbi
Description
fetch_layer_styles_from_dbi
Usage
fetch_layer_styles_from_dbi(entity, dbi, schema, table)
Arguments
entity |
a geoflow_entity to be used and enriched |
dbi |
a dbi connection |
schema |
schema |
table |
table |
Value
the entity, enriched with layer styles
Author(s)
Emmanuel Blondel, emmanuel.blondel1@gmail.com
filter_sf_by_cqlfilter
Description
filter_sf_by_cqlfilter
filters an object of class sf
using
a CQL syntax. This function is minimalistic and only basic CQL filters are supported.
Usage
filter_sf_by_cqlfilter(sfdata, cqlfilter)
Arguments
sfdata |
object of class |
cqlfilter |
object of class |
Author(s)
Emmanuel Blondel, emmanuel.blondel1@gmail.com
geoflowLogger
Description
geoflowLogger
geoflowLogger
Format
R6Class
object.
Value
Object of R6Class
for modelling a simple logger
Public fields
verbose
verbose
debug
debug
Methods
Public methods
Method separator()
Util to separate chunks of logs of different natures
Usage
geoflowLogger$separator(char)
Arguments
char
A character to be used, eg '='
Method INFO()
Prints an INFO logger message
Usage
geoflowLogger$INFO(txt, ...)
Arguments
txt
logger message
...
values to be passed into txt. See sprintf
Method WARN()
Prints an WARN logger message
Usage
geoflowLogger$WARN(txt, ...)
Arguments
txt
logger message
...
values to be passed into txt. See sprintf
Method ERROR()
Prints an ERROR logger message
Usage
geoflowLogger$ERROR(txt, ...)
Arguments
txt
logger message
...
values to be passed into txt. See sprintf
Method DEBUG()
Prints an DEBUG logger message
Usage
geoflowLogger$DEBUG(txt, ...)
Arguments
txt
logger message
...
values to be passed into txt. See sprintf
Method new()
Initializes an object of class geoflowLogger
Usage
geoflowLogger$new(verbose = TRUE, debug = FALSE)
Arguments
verbose
TRUE
if the logger is enabled,FALSE
otherwise. Default isTRUE
debug
TRUE
if the debugger is enabled,FALSE
otherwise. Default isFALSE
Method clone()
The objects of this class are cloneable with this method.
Usage
geoflowLogger$clone(deep = FALSE)
Arguments
deep
Whether to make a deep clone.
Note
Logger class used internally by geoflow
Geoflow action class
Description
This class models an action to be executed by geoflow
Format
R6Class
object.
Details
geoflow_action
Value
Object of R6Class
for modelling an action
Super class
geoflow::geoflowLogger
-> geoflow_action
Public fields
id
action ID
enabled
enabled
funders
funders
authors
authors
maintainer
maintainer
scope
action scope
types
types of action
def
the action definition
target
the action target
target_dir
the action target directory
packages
list of packages required to perform the action
pid_generator
a name referencing the PID generator (if existing)
pid_types
types of PIDs to generate
generic_uploader
whether the action is a generic uploader or not.
fun
a function for the action
script
a script for the action
options
action options
available_options
a list of available options for the actions
status
status
notes
notes
Methods
Public methods
Inherited methods
Method new()
Initialize a geoflow_action
Usage
geoflow_action$new( yaml = NULL, id = NULL, enabled = TRUE, funders = list(), authors = list(), maintainer = NULL, scope = "global", types = list(), def = "", target = NA, target_dir = NA, packages = list(), pid_generator = NULL, pid_types = list(), generic_uploader = FALSE, fun = NULL, script = NULL, options = list(), available_options = list(), status = "stable", notes = "" )
Arguments
yaml
a yaml file
id
action id
enabled
enabled
funders
funders
authors
authors
maintainer
maintainer
scope
action scope "global" or "local"
types
action types
def
action definition
target
the action target, e.g. "entity"
target_dir
the action target directory
packages
list of packages required to perform the action
pid_generator
a name referencing the PID generator (if existing)
pid_types
types of PIDs to generate by the action
generic_uploader
whether the action is a generic uploader or not.
fun
action function
script
action script
options
action options
available_options
available options for the action
status
status of the action (experimental, stable, deprecated, superseded)
notes
notes
Method fromYAML()
Reads action properties from YAML file
Usage
geoflow_action$fromYAML(file)
Arguments
file
file
Method checkPackages()
Check that all packages required for the action are available, if yes,
import them in the R session, and return a data.frame
giving the
packages names and version. If one or more packages are unavailable,
an error is thrown and user informed of the missing packages.
Usage
geoflow_action$checkPackages()
Method run()
Runs the action
Usage
geoflow_action$run(entity, config)
Arguments
entity
entity
config
config
Method getOption()
Get action option value
Usage
geoflow_action$getOption(option)
Arguments
option
option id
Returns
the option value, either specified through a workflow, or the default value
Method isPIDGenerator()
Indicates if the action is PID generator
Usage
geoflow_action$isPIDGenerator()
Returns
TRUE
if the action is a PID generator, FALSE
otherwise
Method exportPIDs()
Exports PIDs for the action. This function will export the PIDs in several ways. First, a simple CSV file including the list of PIDs for each entity, and associated status (eg. draft/release) for the given PID resource. In addition, for each metadata entities file, an equivalent metadata table will be produced as CSV to handle entities enriched with the PID (added in the "Identifier" column), ready for use as workflow entities input. In addition, a new configuration file will be produced with name "<pid_generator>_geoflow_config_for_publication.json" turned as ready for publishing resources with PIDs (eg. publishing deposits in Zenodo).
Usage
geoflow_action$exportPIDs(config, entities)
Arguments
config
a geoflow configuration
entities
one or more objects of class geoflow_entity
Method isGenericUploader()
Indicates if the action is a generic uploader
Usage
geoflow_action$isGenericUploader()
Returns
TRUE
if the action is a generic uploader, FALSE
otherwise
Method clone()
The objects of this class are cloneable with this method.
Usage
geoflow_action$clone(deep = FALSE)
Arguments
deep
Whether to make a deep clone.
Author(s)
Emmanuel Blondel <emmanuel.blondel1@gmail.com>
Examples
## Not run:
action <- geoflow_action$new(
id = "some-id",
scope = "global",
types = list("some purpose1", "some purpose2"),
target = "entity",
target_dir = "data",
def = "some definition",
packages = list(),
pid_generator = NULL,
generic_uploader = FALSE,
fun = function(action, entity, config){},
available_options = list(
option_name = list(def = "option description", default = FALSE)
),
options = list(option_name = TRUE)
)
## End(Not run)
Geoflow contact class
Description
This class models a contact to be executed by geoflow
Format
R6Class
object.
Details
geoflow_contact
Value
Object of R6Class
for modelling a contact
Public fields
id
contact identifier
firstName
contact first name
lastName
contact lastname
organizationName
contact organization
positionName
contact position
role
contact role
voice
contact phone number
facsimile
contact facsimile
email
contact email
websiteUrl
contact website URL
websiteName
contact website name
postalAddress
contact postal address
postalCode
contact postal code
city
contact city
country
contact country
identifiers
contact identifiers
Methods
Public methods
Method new()
Initializes a geoflow_contact object
Usage
geoflow_contact$new()
Method setShinyEditorMode()
Set mode for geoflow-shiny
Usage
geoflow_contact$setShinyEditorMode(mode = c("creation", "edition"))
Arguments
mode
mode
Method getShinyEditorMode()
Get mode for geoflow-shiny
Usage
geoflow_contact$getShinyEditorMode()
Returns
the shiny editor mode
Method getAllowedKeyValuesFor()
Retrieves keys allowed for a given tabular field name. eg. "Identifier"
Usage
geoflow_contact$getAllowedKeyValuesFor(field)
Arguments
field
field name
Returns
the list of valid keys for the field considered
Method setIdentifier()
Sets an identifier by means of key
Usage
geoflow_contact$setIdentifier(key = "id", id)
Arguments
key
an identifier key. Default is "id"
id
the identifier
Method setId()
Sets an "id" identifier
Usage
geoflow_contact$setId(id)
Arguments
id
the identifier
Method setFirstName()
Sets contact first name
Usage
geoflow_contact$setFirstName(firstName)
Arguments
firstName
contact first name
Method setLastName()
Sets contact last name
Usage
geoflow_contact$setLastName(lastName)
Arguments
lastName
contact last name
Method setOrganizationName()
Sets contact organization name
Usage
geoflow_contact$setOrganizationName(organizationName)
Arguments
organizationName
contact organization name
Method setPositionName()
Sets contact position name
Usage
geoflow_contact$setPositionName(positionName)
Arguments
positionName
contact position name
Method setRole()
Sets contact role
Usage
geoflow_contact$setRole(role)
Arguments
role
the contact role
Method setVoice()
Sets contact voice (phone number)
Usage
geoflow_contact$setVoice(voice)
Arguments
voice
contact voice (phone number)
Method setFacsimile()
Sets contact facsimile
Usage
geoflow_contact$setFacsimile(facsimile)
Arguments
facsimile
contact facsimile
Method setEmail()
Sets contact email
Usage
geoflow_contact$setEmail(email)
Arguments
email
contact email
Method setWebsiteUrl()
Sets contact website URL
Usage
geoflow_contact$setWebsiteUrl(websiteUrl)
Arguments
websiteUrl
contact website URL
Method setWebsiteName()
Sets contact website name
Usage
geoflow_contact$setWebsiteName(websiteName)
Arguments
websiteName
contact website name
Method setPostalAddress()
Sets the contact postal address
Usage
geoflow_contact$setPostalAddress(postalAddress)
Arguments
postalAddress
contact postal address
Method setPostalCode()
Sets the contact postal code
Usage
geoflow_contact$setPostalCode(postalCode)
Arguments
postalCode
contact postalCode
Method setCity()
Sets the contact city
Usage
geoflow_contact$setCity(city)
Arguments
city
contact city
Method setCountry()
Sets the contact country
Usage
geoflow_contact$setCountry(country)
Arguments
country
contact country
Method asDataFrame()
Methods to export the geoflow_contact as data.frame
using key-based syntax.
Usage
geoflow_contact$asDataFrame(line_separator = NULL)
Arguments
line_separator
a line separator. By default, the default line separator will be used.
Returns
an object of class data.frame
giving the entities using key-based syntax
Method clone()
The objects of this class are cloneable with this method.
Usage
geoflow_contact$clone(deep = FALSE)
Arguments
deep
Whether to make a deep clone.
Author(s)
Emmanuel Blondel <emmanuel.blondel1@gmail.com>
Examples
## Not run:
contact <- geoflow_contact$new()
contact$setId("john.doe@nowhere.org")
contact$setFirstName("John")
contact$setLastName("Doe")
contact$setOrganizationName("Nowhere")
contact$setPositionName("Wizard")
contact$setRole("Manager")
contact$setVoice("+9999000000000")
contact$setFacsimile("+9999000000001")
contact$setEmail("john.doe@nowhere.org")
contact$setWebsiteUrl("www.nowhere.org")
contact$setWebsiteName("Nowhere Inc.")
contact$setPostalAddress("Nowhere street")
contact$setPostalCode("Nowhere code")
contact$setCity("Nowhere city")
contact$setCountry("Nowhere country")
## End(Not run)
Geoflow data class
Description
This class models a data object
Format
R6Class
object.
Details
geoflow_data
Value
Object of R6Class
for modelling a data object
Public fields
dir
an object of class
character
giving a data directorydata
list of object of class geoflow_data in case we point to a data directory
access
accessor key for accessing sources. Default is 'default'
source
source
sourceSql
sourceSql
sourceType
source type
sourceZip
create a zip for the sources (DEPRECATED with #344)
sourceZipOnly
create a zip only for the sources, remove source files (DEPRECATED with #344)
sql
sql
upload
upload
uploadSource
upload source name
uploadType
upload type
cqlfilter
CQL filter for filtering data
workspaces
workspaces
store
store
layername
layer name
layertitle
layer title
layerdesc
layer description
layeruri
layer URI layeruri layer URI
styles
styles
styleUpload
upload styles
dimensions
dimensions
cloud_path
a relative path in a cloud storage (e.g., OCS)
spatialRepresentationType
spatial representation type eg. "vector", "grid"
ogc_dimensions
OGC dimensions
features
features
parameters
parameters
geometryField
geometry field
geometryType
geometry type
featureType
feature type name
featureTypeObj
feature type object
attributes
attributes
variables
variables
coverages
coverages
envelopeCompositionType
envelope composition type (for coverages)
selectedResolution
selected resolution (for coverages)
selectedResolutionIndex
selected resolution index (for coverages)
bands
list of bands
actions
local actions
run
whether to run local actions
Methods
Public methods
Method new()
Initializes an object of class geoflow_data
Usage
geoflow_data$new(str = NULL, config = NULL)
Arguments
str
character string to initialize from, using key-based syntax
config
a geoflow config, if available and needed
Method getDir()
Get data directory where datasets are scanned to build geoflow_data
objects
Usage
geoflow_data$getDir()
Returns
an object of class character
Method getData()
Get a lis tof geoflow_data
objects built from a directory
Usage
geoflow_data$getData()
Returns
a list of objects of class geoflow_data
Method getAllowedSourceValues()
Get allowed source values
Usage
geoflow_data$getAllowedSourceValues()
Returns
a vector of class character
Method setAccess()
Set accessor id. See list_data_accessors()
for available accessors
Usage
geoflow_data$setAccess(access)
Arguments
access
a data data accessor id
Method getAllowedSourceTypes()
Get allowed source types
Usage
geoflow_data$getAllowedSourceTypes()
Returns
a vector of class character
Method setSourceType()
Set the source type.
The source type is a simplification of the data mime type and is used to identify the type of source
set for the data object. By default it is assumed to be "other" (undefined). The source types currently
allowed in geoflow can be listed with $getAllowedSourcedTypes()
.
Usage
geoflow_data$setSourceType(sourceType)
Arguments
sourceType
source type
Method getAllowedGeomPossibleNames()
Get allowed Geometry possible names for coercing data to sf objects
Usage
geoflow_data$getAllowedGeomPossibleNames()
Arguments
list
of geom possible names
Method getAllowedXPossibleNames()
Get allowed X possible names for coercing data to sf objects
Usage
geoflow_data$getAllowedXPossibleNames()
Arguments
list
of X possible names
Method getAllowedYPossibleNames()
Get allowed Y possible names for coercing data to sf objects
Usage
geoflow_data$getAllowedYPossibleNames()
Arguments
list
of Y possible names
Method addSource()
Add source, object of class "character"
(single source)
Usage
geoflow_data$addSource(source)
Arguments
source
source
Method setSource()
Set source, object of class "character"
(single source), or list
.
For spatial source, a single source will be used, while for sources of type 'other'
(eg PDF files), multiple sources can be specified
Usage
geoflow_data$setSource(source)
Arguments
source
source
Method setSourceSql()
This is a convenience method for users that want to specify directly
a SQL source. This method is called internally when a source SQL file has been set using
setSource
Usage
geoflow_data$setSourceSql(sourceSql)
Arguments
sourceSql
a source SQL query
Method setSourceZip()
Sets whether a zipped version of the data file(s) should be created from source files. Default is FALSE
Usage
geoflow_data$setSourceZip(sourceZip)
Arguments
sourceZip
zip sources, object of class
logical
Method setSourceZipOnly()
Sets whether a zipped version of the data file(s) only should be created from source files. Default is FALSE
Usage
geoflow_data$setSourceZipOnly(sourceZipOnly)
Arguments
sourceZipOnly
zip sources only, object of class
logical
Method setUploadSource()
Set the source to upload in output software, alternative to the source. If leave empty, the source will be used as uploadSource. A typical use case is when we want to get a CSV source to import in a database, and use the dbtable (or view/query) as upload source for publication in software like geoserver.
Usage
geoflow_data$setUploadSource(uploadSource)
Arguments
uploadSource
upload source
Method getAllowedUploadTypes()
Get allowed upload types
Usage
geoflow_data$getAllowedUploadTypes()
Returns
the list of allowed upload types
Method setUploadType()
The upload type is a simplification of the data mime type and is used to identify the type of data uploaded.
By default it is assumed to be "other" (undefined). The upload types currently allowed in geoflow can be
listed with $getAllowedUploadTypes()
.
Usage
geoflow_data$setUploadType(uploadType)
Arguments
uploadType
upload type
Method setUpload()
Set whether the source data should be uploaded to the sofware output declared in the geoflow
configuration or not. By default it is assumed that upload should be performed (upload TRUE
).
Usage
geoflow_data$setUpload(upload)
Arguments
upload
upload
Method setStyleUpload()
Set whether styles in source data should be uploaded, by default TRUE
Usage
geoflow_data$setStyleUpload(styleUpload)
Arguments
styleUpload
style upload
Method setSql()
Sets SQL for publication purpose.
Usage
geoflow_data$setSql(sql)
Arguments
sql
sql
Method setCqlFilter()
Sets a CQL filter. In case of spatial data, once the data is read by geoflow (during initialization phase), the CQL filter will be applied to the data.
Usage
geoflow_data$setCqlFilter(cqlfilter)
Arguments
cqlfilter
CQL filter
Method setWorkspace()
Sets a workspace name, object of class character
. A workspace must target a valid software type, object of
class character
, to be declared as first argument of this function, assuming the corresponding software is
declared in the geoflow configuration.
Usage
geoflow_data$setWorkspace(software_type, workspace)
Arguments
software_type
sotware type where the workspace is identifier
workspace
workspace name
Method setStore()
Sets a data/coverage store name, object of class character
. Used as target data/coverage store name for GeoServer action.
Usage
geoflow_data$setStore(store)
Arguments
store
store
Method setDatastore()
Sets a datastore name, object of class character
. Used as target datastore name for GeoServer action. DEPRECATED, use setStore
Usage
geoflow_data$setDatastore(datastore)
Arguments
datastore
datastore
Method setLayername()
Sets a layername, object of class character
. Used as target layer name for Geoserver action.
Usage
geoflow_data$setLayername(layername)
Arguments
layername
layername
Method setLayertitle()
Sets a layer title, object of class character
. If available, used as target layer title in SDI-related action.
Usage
geoflow_data$setLayertitle(layertitle)
Arguments
layertitle
layertitle
Method setLayerdesc()
Sets a layer description, object of class character
. If available, used as target layer description/abstract in SDI-related actions.
Usage
geoflow_data$setLayerdesc(layerdesc)
Arguments
layerdesc
layerdesc
Method setLayeruri()
Sets a layer URI, object of class character
. If available, used as annotating URI for layer metadata (eg. in ISO 19115 action).
Usage
geoflow_data$setLayeruri(layeruri)
Arguments
layeruri
layeruri
Method addStyle()
Adds a style name, object of class character
. Used as layer style name(s) for GeoServer action.
Usage
geoflow_data$addStyle(style)
Arguments
style
style
Method addDimension()
Adds a dimension
Usage
geoflow_data$addDimension(name, dimension)
Arguments
name
dimension name
dimension
object of class geoflow_dimension
Method setCloudPath()
Set cloud path
Usage
geoflow_data$setCloudPath(cloud_path)
Arguments
cloud_path
cloud path
Method getAllowedSpatialRepresentationTypes()
Get allowed spatial representation types, typically "vector" and "grid"
Usage
geoflow_data$getAllowedSpatialRepresentationTypes()
Returns
an object of class character
Method setSpatialRepresentationType()
Set spatial representation type for the data considered
Usage
geoflow_data$setSpatialRepresentationType(spatialRepresentationType)
Arguments
spatialRepresentationType
spatial representation type
Method setOgcDimensions()
Set OGC dimensions
Usage
geoflow_data$setOgcDimensions(name, values)
Arguments
name
dimension name
values
dimension values
Method setFeatures()
Set data features
Usage
geoflow_data$setFeatures(features)
Arguments
features
features
Method setParameter()
Set virtual parameter definition for setting virtual SQL view parametized layers in Geoserver, when uploadType
is
set to dbquery
.The arguments here follow the definition of virtual parameters in GeoServer, ie a name (alias),
the corresponding field name in the DBMS, a regular expression for validation of parameter values (required to
prevent SQL injection risks), and a default value.
Usage
geoflow_data$setParameter(name, fieldname, regexp, defaultvalue)
Arguments
name
name
fieldname
fieldname
regexp
regexp
defaultvalue
default value
Method setGeometryField()
Sets the name of the geometry field in the target GeoServer SQL view parametrized layer
Usage
geoflow_data$setGeometryField(geometryField)
Arguments
geometryField
geometry field
Method setGeometryType()
Sets the name of the geometry field in the target GeoServer SQL view parametrized layer
Usage
geoflow_data$setGeometryType(geometryType)
Arguments
geometryType
geometry type
Method setFeatureType()
Sets a feature type (ID) to link data with a dictionnary
Usage
geoflow_data$setFeatureType(featureType)
Arguments
featureType
feature type name
Method setFeatureTypeObj()
Sets a feature type object
Usage
geoflow_data$setFeatureTypeObj(featureTypeObj)
Arguments
featureTypeObj
feature type object of class
geoflow_featuretype
Method setAttributes()
Set attributes, as simple way to describe attributes without binding to a proper geoflow_dictionary.
Usage
geoflow_data$setAttributes(attributes)
Arguments
attributes
attributes
Method setVariables()
Set variables, as simple way to describe variables without binding to a proper geoflow_dictionary.
Usage
geoflow_data$setVariables(variables)
Arguments
variables
variables
Method setCoverages()
Set coverages
Usage
geoflow_data$setCoverages(coverages)
Arguments
coverages
coverages
Method getAllowedEnvelopeCompositionTypes()
Get allowed envelope composition types
Usage
geoflow_data$getAllowedEnvelopeCompositionTypes()
Returns
an object of class character
Method setEnvelopeCompositionType()
Set envelope composition type
Usage
geoflow_data$setEnvelopeCompositionType(envelopeCompositionType)
Arguments
envelopeCompositionType
envelope composition type, either 'UNION' or 'INTERSECTION'
Method setSelectedResolution()
Set selected resolution
Usage
geoflow_data$setSelectedResolution(selectedResolution)
Arguments
selectedResolution
selected resolution
Method setSelectedResolutionIndex()
Set selected resolution index
Usage
geoflow_data$setSelectedResolutionIndex(selectedResolutionIndex)
Arguments
selectedResolutionIndex
selected resolution index
Method setBand()
Set band
Usage
geoflow_data$setBand(name, index)
Arguments
name
band name
index
band index
Method addAction()
Adds a local action
Usage
geoflow_data$addAction(action)
Arguments
action
object of class geoflow_action
Method checkSoftwareProperties()
A function triggered when loading a data object to check eventual software dependent properties, to make sure the corresponding software are declared in the config.
Usage
geoflow_data$checkSoftwareProperties(config)
Arguments
config
geoflow config object
Method clone()
The objects of this class are cloneable with this method.
Usage
geoflow_data$clone(deep = FALSE)
Arguments
deep
Whether to make a deep clone.
Author(s)
Emmanuel Blondel <emmanuel.blondel1@gmail.com>
Geoflow data accessor class
Description
This class models a data accessor to be used by geoflow
Format
R6Class
object.
Details
geoflow_data_accessor
Value
Object of R6Class
for modelling a data accessor
Super class
geoflow::geoflowLogger
-> geoflow_data_accessor
Public fields
id
accessor ID
software_type
accessor software type
definition
accessor definition
packages
list of packages required for the accessor
download
a download function handler
list
a function handler to list resources in case of a data directory
Methods
Public methods
Inherited methods
Method new()
Initializes the data ccessor
Usage
geoflow_data_accessor$new( id = NULL, software_type = NULL, definition, packages = list(), download, list = NULL )
Arguments
id
accessor ID
software_type
accessor software type
definition
accessor definition
packages
list of packages required for the accessor
download
download function handler
list
list function handler
Method setId()
Sets accessor ID
Usage
geoflow_data_accessor$setId(id)
Arguments
id
accessor ID to set
Method setSoftwareType()
Sets software type
Usage
geoflow_data_accessor$setSoftwareType(software_type)
Arguments
software_type
software type
Method setPackages()
Sets list of packages required for the accessor
Usage
geoflow_data_accessor$setPackages(packages)
Arguments
packages
a vecto of package names
Method setDefinition()
Sets accessor definition
Usage
geoflow_data_accessor$setDefinition(definition)
Arguments
definition
accessor definition
Method setDownload()
Set download handler (a function with arguments resource
,
file
, path
, unzip
(TRUE/FALSE) and optional software
)
Usage
geoflow_data_accessor$setDownload(download)
Arguments
download
an object of class
function
Method setList()
Set list handler (a function with no arguments)
Usage
geoflow_data_accessor$setList(list)
Arguments
list
an object of class
function
Method checkPackages()
Check that all packages required for the software are available, if yes,
import them in the R session, and return a data.frame
giving the
packages names and version. If one or more packages are unavailable,
an error is thrown and user informed of the missing packages.
Usage
geoflow_data_accessor$checkPackages()
Method clone()
The objects of this class are cloneable with this method.
Usage
geoflow_data_accessor$clone(deep = FALSE)
Arguments
deep
Whether to make a deep clone.
Author(s)
Emmanuel Blondel <emmanuel.blondel1@gmail.com>
Examples
## Not run:
access <- geoflow_data_accessor$new(
id = "some-id",
software_type = "some-software",
definition = "definition",
packages = list(),
download = function(resource, file, path, software, unzip){},
list = function(resource, software){}
)
## End(Not run)
Geoflow date class
Description
This class models an date
Format
R6Class
object.
Details
geoflow_date
Value
Object of R6Class
for modelling an date
Public fields
key
date key. Default is "creation"
value
date value. Default is generated with
Sys.time()
Methods
Public methods
Method new()
Initializes a geoflow_date
Usage
geoflow_date$new()
Method setKey()
Sets the date key
Usage
geoflow_date$setKey(key)
Arguments
key
date key
Method setValue()
Sets the date value. The method will check validity of date value.
Usage
geoflow_date$setValue(value)
Arguments
value
date value
Method clone()
The objects of this class are cloneable with this method.
Usage
geoflow_date$clone(deep = FALSE)
Arguments
deep
Whether to make a deep clone.
Author(s)
Emmanuel Blondel <emmanuel.blondel1@gmail.com>
Examples
## Not run:
date <- geoflow_date$new()
date$setKey("creation")
date$setValue(Sys.time())
## End(Not run)
Geoflow dictionary class
Description
This class models a dictionary to be executed by geoflow
Format
R6Class
object.
Details
geoflow_dictionary
Value
Object of R6Class
for modelling a dictionary
Public fields
source
dictionary source, object of class
data.frame
featuretypes
list of objects of class
geoflow_featuretype
registers
list of objects of class
geoflow_register
Methods
Public methods
Method new()
Initializes a geoflow_dictionary object
Usage
geoflow_dictionary$new()
Method setSource()
Sets dictionnary source
Usage
geoflow_dictionary$setSource(source)
Arguments
source
object of class
data.frame
Method getFeatureTypes()
Get the list of geoflow_featuretype defined in the dictionary
Usage
geoflow_dictionary$getFeatureTypes()
Returns
a list
of geoflow_featuretype
Method getFeatureTypeById()
Get an object of class geoflow_featuretype given an ID
Usage
geoflow_dictionary$getFeatureTypeById(id)
Arguments
id
id
Returns
an object of class geoflow_featuretype, otherwise NULL
Method addFeatureType()
Adds a feature type to the dictionnary
Usage
geoflow_dictionary$addFeatureType(ft)
Arguments
ft
object of class geoflow_featuretype
Method getRegisters()
Get the list of registers associated with the dictionnary
Usage
geoflow_dictionary$getRegisters()
Returns
a list of geoflow_register objects
Method getRegisterById()
Get register by ID
Usage
geoflow_dictionary$getRegisterById(id)
Arguments
id
id
Returns
an object of class geoflow_register, otherwise NULL
Method addRegister()
Adds a register to the dictionnary
Usage
geoflow_dictionary$addRegister(register)
Arguments
register
object of class geoflow_register
Method clone()
The objects of this class are cloneable with this method.
Usage
geoflow_dictionary$clone(deep = FALSE)
Arguments
deep
Whether to make a deep clone.
Author(s)
Emmanuel Blondel <emmanuel.blondel1@gmail.com>
Geoflow dimension class
Description
This class models a dimension
Format
R6Class
object.
Details
geoflow_dimension
Value
Object of R6Class
for modelling a dimension
Public fields
longName
dimension longName
resolution
dimension resolution
size
dimension size
values
dimension values
minValue
dimension min value
maxValue
dimension max value
Methods
Public methods
Method new()
Initializes the geoflow_dimension
Usage
geoflow_dimension$new()
Method setLongName()
Sets the dimension long name
Usage
geoflow_dimension$setLongName(longName)
Arguments
longName
dimension long name
Method setResolution()
Sets the resolution
Usage
geoflow_dimension$setResolution(uom, value)
Arguments
uom
unit of measure
value
resolution value
Method setSize()
Sets the dimension size
Usage
geoflow_dimension$setSize(size)
Arguments
size
dimension size
Method setValues()
Sets dimension values
Usage
geoflow_dimension$setValues(values)
Arguments
values
dimension values
Method setMinValue()
Sets dimension min value
Usage
geoflow_dimension$setMinValue(minValue)
Arguments
minValue
min value
Method setMaxValue()
Sets dimension max value
Usage
geoflow_dimension$setMaxValue(maxValue)
Arguments
maxValue
max value
Method clone()
The objects of this class are cloneable with this method.
Usage
geoflow_dimension$clone(deep = FALSE)
Arguments
deep
Whether to make a deep clone.
Author(s)
Emmanuel Blondel <emmanuel.blondel1@gmail.com>
Examples
## Not run:
dimension <- geoflow_dimension$new()
dimension$setLongName("longname")
dimension$setResolution(uom="s",value=1)
dimension$setSize(10)
dimension$setValues(c(1,2,3))
dimension$setMinValue(1)
dimension$setMaxValue(3)
## End(Not run)
Geoflow entity class
Description
This class models a entity object
Format
R6Class
object.
Details
geoflow_entity
Value
Object of R6Class
for modelling a entity object
Public fields
identifiers
entity identifiers
dates
entity dates
language
entity language
types
entity types
titles
entity titles
descriptions
entity descriptions
subjects
entity subjects
formats
entity formats
contacts
entity contacts
relations
entity relations
rights
entity rights
spatial_extent
spatial extent
spatial_bbox
spatial bounding box
geo_bbox
geographic bounding box (in EPSG:4326 / WGS 84)
srid
entity srid
temporal_extent
entity temporal extent
provenance
entity provenance
data
entity data
status
entity status
resources
entity resources
locales
entity locales
Methods
Public methods
Method new()
Initializes an object of class geoflow_entity
Usage
geoflow_entity$new()
Method setShinyEditorMode()
Set mode for geoflow-shiny
Usage
geoflow_entity$setShinyEditorMode(mode = c("creation", "edition"))
Arguments
mode
mode
Method getShinyEditorMode()
Get mode for geoflow-shiny
Usage
geoflow_entity$getShinyEditorMode()
Returns
the shiny editor mode
Method getAllowedKeyValuesFor()
Retrieves keys allowed for a given tabular field name. eg. "Identifier"
Usage
geoflow_entity$getAllowedKeyValuesFor(field)
Arguments
field
field name
Returns
the list of valid keys for the field considered
Method addLocalesFromValues()
Adds locales to entity from kvp values
Usage
geoflow_entity$addLocalesFromValues(values)
Arguments
values
values
Method setIdentifier()
Set an identifier given a key. Default key is "id", but others can be specified, eg "doi".
Usage
geoflow_entity$setIdentifier(key = "id", id)
Arguments
key
identifier key. Default is "id"
id
identifier value
Method addDate()
Adds a date
Usage
geoflow_entity$addDate(dateType, date)
Arguments
dateType
date type, object of class
character
date
date, object of class
Date
orPOSIXt
Method setLanguage()
Set the language used for the entity description (metadata). Default is "eng".
Usage
geoflow_entity$setLanguage(language)
Arguments
language
language
Method writeDataResource()
writes a data resource. Deprecrated Note: TODO to review in line with 'writeWorkflowJobDataResource
Usage
geoflow_entity$writeDataResource(obj = NULL, resourcename, type = "shp")
Arguments
obj
object
resourcename
resource name
type
type of resosurce
Method setType()
Set the type of description. By default a generic type (key = "generic") is defined to "dataset", and will be used as default type for actions that perform metadata production / publication.
Usage
geoflow_entity$setType(key = "generic", type)
Arguments
key
type key. Default is "generic"
type
type value
Method setTitle()
Sets title
Usage
geoflow_entity$setTitle(key = "title", title)
Arguments
key
title key. Default is "title"
title
title value
Method setDescription()
Sets description
Usage
geoflow_entity$setDescription(key, description)
Arguments
key
description key. Default is "abstract"
description
description value
Method addSubject()
Adds a subject
Usage
geoflow_entity$addSubject(subject)
Arguments
subject
object of class geoflow_subject
Method addFormat()
Adds a format
Usage
geoflow_entity$addFormat(format)
Arguments
format
object of class geoflow_format
Method addContact()
Adds a contact
Usage
geoflow_entity$addContact(contact)
Arguments
contact
object of class geoflow_contact
Method addRelation()
Adds a relation
Usage
geoflow_entity$addRelation(relation)
Arguments
relation
object of class geoflow_relation
Method addRight()
Adds a right
Usage
geoflow_entity$addRight(right)
Arguments
right
object of class geoflow_right
Method setSpatialExtent()
Set spatial extent. Various ways can be used to set the spatial extent 1) with a WKT string,
2) with a bbox, object of class matrix
, or 3) specifying a data object (from sf).
The crs
(coordinate reference system) should be specified with the crs SRID (number).
The spatial extent is not necessarily a bounding box but can be one or more geometries.
Usage
geoflow_entity$setSpatialExtent(wkt = NULL, bbox = NULL, data = NULL, crs = NA)
Arguments
wkt
a WKT string
bbox
a bbox
data
an object of class sf
crs
crs
Method setSpatialBbox()
Set spatial bbox. Various ways can be used to set the spatial extent 1) with a WKT string,
2) with a bbox, object of class matrix
, or 3) specifying a data object (from sf).
The crs
(coordinate reference system) should be specified with the crs SRID (number).
Usage
geoflow_entity$setSpatialBbox(wkt = NULL, bbox = NULL, data = NULL, crs = NA)
Arguments
wkt
a WKT string
bbox
a bbox
data
an object of class sf
crs
crs
Method setGeographicBbox()
Set geographic bbox (in EPGS:4326 / WGS 84), by converting (if needed) the spatial bbox
Usage
geoflow_entity$setGeographicBbox()
Method setSrid()
Sets entity SRID
Usage
geoflow_entity$setSrid(srid)
Arguments
srid
srid
Method setTemporalExtent()
Sets temporal extent. The temporal extent can be a year, date instant or interval
Usage
geoflow_entity$setTemporalExtent(str)
Arguments
str
object of class
numeric
(case of year) orcharacter
Method setProvenance()
Sets entity provenance
Usage
geoflow_entity$setProvenance(provenance)
Arguments
provenance
object of class geoflow_provenance
Method setData()
Sets entity data object
Usage
geoflow_entity$setData(data)
Arguments
data
object of class geoflow_data
Method addData()
Adds entity data object
Usage
geoflow_entity$addData(data)
Arguments
data
object of class geoflow_data
Method getEntityJobDirname()
Gets entity job directory name. In case entity is identified with a DOI, the '/' (slash) will be replaced by '_' (underscore) to make sure directory is created.
Usage
geoflow_entity$getEntityJobDirname()
Returns
get the name of entity job directory that will be created for the entity
Method getEntityJobDirPath()
Gets entity job directory path. In the job directory, all entities subdirs will be created within a 'entities' directory.
Usage
geoflow_entity$getEntityJobDirPath(config, jobdir = NULL)
Arguments
config
geoflow configuration object
jobdir
relative path of the job directory
Returns
the entity job directory path
Method prepareEntityJobDir()
Function called internally by geoflow that creates the entity directory and relevant sub-directories. The default sub-directories will include 'data' and 'metadata'. Other sub-directories may be created depnding on the actions enabled in the workflow (and if their target directory is different from 'data'/'metadata').
Usage
geoflow_entity$prepareEntityJobDir(config, jobdir = NULL)
Arguments
config
geoflow config object
jobdir
relative path of the job directory
Method copyDataToJobDir()
This function will look at data object(s) associated to the entity (previously set with
setData
or added with addData
), and will try to (download)/copy the data source to the
geoflow job directory.
Usage
geoflow_entity$copyDataToJobDir(config, jobdir = NULL)
Arguments
config
geoflow config object
jobdir
relative path of the job directory
Method copyStylesToJobDir()
This function checks for the availability of layer styles (set as entity resource) that would have been added with DBI handlers from a special DB 'layer_styles' table
Usage
geoflow_entity$copyStylesToJobDir(config)
Arguments
config
geoflow config object
Method enrichWithDatatypes()
Function that will scan zip data files and resolve data objects sourceType and uploadType
Usage
geoflow_entity$enrichWithDatatypes(config, jobdir = NULL)
Arguments
config
geoflow config object
jobdir
relative path of the job directory
Method enrichWithData()
This function will enrich the entity data objects with data features (vector data) or coverages (grid data). This method will overwrite
spatial metadata such as the bounding box (unless global option skipDynamicBbox
is enabled). Note that the user spatial extent is not overwriten
since it may contain finer geometries than a bounding box.
Usage
geoflow_entity$enrichWithData(config, jobdir = NULL)
Arguments
config
geoflow config object
jobdir
relative path of the job directory
Method enrichSpatialCoverageFromDB()
This function computes spatial coverage from DB (table, view or query)
without having to deal with a full data download. It is triggered when the global option
skipDataDownload
is enabled.
Usage
geoflow_entity$enrichSpatialCoverageFromDB(config)
Arguments
config
geoflow config object
Method enrichWithFeatures()
This function will enrich the entity data objects with data features (vector data). This method will overwrite
spatial metadata such as the bounding box (unless global option skipDynamicBbox
is enabled). Note that the user spatial extent is not overwriten
since it may contain finer geometries than a bounding box.
Usage
geoflow_entity$enrichWithFeatures(config, jobdir = NULL)
Arguments
config
geoflow config object
jobdir
relative path of the job directory
Method enrichWithCoverages()
This function will enrich the entity data objects with data coverages (grid data). This method will overwrite
spatial metadata such as the bounding box (unless global option skipDynamicBbox
is enabled). Note that the user spatial extent is not overwriten
since it may contain finer geometries than a bounding box.
Usage
geoflow_entity$enrichWithCoverages(config, jobdir = NULL)
Arguments
config
geoflow config object
jobdir
relative path of the job directory
Method prepareFeaturesToUpload()
This function will 1) check (in case of upload is requested) if the type of source and upload are both different on files formats(eg. csv,shp,gpkg) and 2) process automatically to conversion from source to upload type.
Usage
geoflow_entity$prepareFeaturesToUpload(config)
Arguments
config
geoflow config object
Method enrichWithIdentifiers()
Function that will enrich entity with identifiers needed across multiple actions
Usage
geoflow_entity$enrichWithIdentifiers(config)
Arguments
config
geoflow config object
Method enrichWithRelations()
This function that will enrich the entity with relations. At now this is essentially related to adding
relations if a Geoserver (geosapi) publishing action is enabled. Relations added will depend on the
enrich_with_relation_*
options set in a) the geosapi action, ie.
1) add WMS auto-generated thumbnail (if option enrich_with_relation_wms_thumbnail
is TRUE
)
2) add WMS base URL relation (if option enrich_with_relation_wms
is TRUE
)
3) for vector spatial representation type:
- add WFS base URL relation (if option enrich_with_relation_wfs
is TRUE
)
- add WFS auto-generated links as convenience for data download links (if option enrich_with_relation_wfs_download_links
is TRUE
)
4) for grid spatial representation type:
- add WCS base URL relation (if option enrich_with_relation_wcs
is TRUE
)
b) in the geonapi action (for adding a CSW metadata URL)
b) in the ows4R action (for adding a CSW metadata URL)
Usage
geoflow_entity$enrichWithRelations(config)
Arguments
config
geoflow config object
Method enrichWithSubjects()
Enrichs the entity with subjects. If no subject specify in Subjects, automatically add keyword from dictionary to 'theme' category
Usage
geoflow_entity$enrichWithSubjects(config, exclusions = c())
Arguments
config
geoflow config object
exclusions
exclusions
Method enrichWithVocabularies()
Enrichs the entity with vocabularies
Usage
geoflow_entity$enrichWithVocabularies(config)
Arguments
config
geoflow config object
Method enrichWithFormats()
Enrichs the entity with formats
Usage
geoflow_entity$enrichWithFormats(config)
Arguments
config
geoflow config object
Method enrichWithMetadata()
Enrichs the entity properties with entity metadata from other properties.
Usage
geoflow_entity$enrichWithMetadata(config)
Arguments
config
geoflow config object
Method getContacts()
Get the entity contacts
Usage
geoflow_entity$getContacts(pretty = FALSE)
Arguments
pretty
to prettify the output as
data.frame
Returns
a list of geoflow_contact
or a data.frame
Method getSubjects()
Get the entity subjects
Usage
geoflow_entity$getSubjects(pretty = FALSE, keywords = FALSE)
Arguments
pretty
to prettify the output as
data.frame
keywords
to add keywords to the output or not. Default is
FALSE
Returns
a list of geoflow_subject
or a data.frame
Method getRelations()
Get the entity relations
Usage
geoflow_entity$getRelations(pretty = FALSE)
Arguments
pretty
to prettify the output as
data.frame
Returns
a list of geoflow_relation
or a data.frame
Method setStatus()
Set a simple status either "draft" or "published". This method is required to deal with systems that manage DOIs, such as Zenodo (with zen4R) or Dataverse (with atom4R) publishing actions (Used internally by geoflow).
Usage
geoflow_entity$setStatus(system, status)
Arguments
system
a system name eg. "zenodo", "dataverse"
status
a status for entity resource "draft" or "published"
Method getJobResource()
Get an entity job resource path
Usage
geoflow_entity$getJobResource(config, resourceType, filename)
Arguments
config
a geoflow config object
resourceType
type of resource, matching a sub-directory within the entity job directory
filename
filename
Returns
the file path of the job resource
Method getJobDataResource()
Get an entity job data resource path
Usage
geoflow_entity$getJobDataResource(config, filename)
Arguments
config
a geoflow config object
filename
filename
Returns
the file path of the job data resource
Method getJobMetadataResource()
Get an entity job metadata resource path
Usage
geoflow_entity$getJobMetadataResource(config, filename)
Arguments
config
a geoflow config object
filename
filename
Returns
the file path of the job metadata resource
Method addResource()
Adds a resource to the entity
Usage
geoflow_entity$addResource(id, resource)
Arguments
id
id of the resource
resource
resource
Method asDataFrame()
Methods to export the geoflow_entity as data.frame
using key-based syntax.
Usage
geoflow_entity$asDataFrame(line_separator = NULL)
Arguments
line_separator
a line separator. By default, the default line separator will be used.
Returns
an object of class data.frame
giving the entities using key-based syntax
Method clone()
The objects of this class are cloneable with this method.
Usage
geoflow_entity$clone(deep = FALSE)
Arguments
deep
Whether to make a deep clone.
Author(s)
Emmanuel Blondel <emmanuel.blondel1@gmail.com>
Geoflow feature type class
Description
This class models a feature type to be executed by geoflow
Format
R6Class
object.
Details
geoflow_featuremember
Value
Object of R6Class
for modelling a dictionary feature type member
Public fields
id
feature member ID
type
feature member type
code
feature member code
name
feature member name
def
feature member definition
defSource
feature member definition source
minOccurs
feature member minOccurs
maxOccurs
feature member maxOccurs
uom
feature member unit of measure (uom)
registerId
feature member register ID
registerScript
feature member register script
Methods
Public methods
Method new()
Initializes a geoflow_featuremember
Usage
geoflow_featuremember$new( type = "attribute", code = NULL, name = NULL, def = NULL, defSource = NULL, minOccurs = NULL, maxOccurs = NULL, uom = NULL, registerId = NULL, registerScript = NULL )
Arguments
type
type
code
code
name
name
def
definition
defSource
definition source. Default is
NULL
minOccurs
minOccurs. Default is
NULL
maxOccurs
maxOccurs. Default is
NULL
uom
unit of measure. Default is
NULL
registerId
ID of the register associated to the feature type. Default is
NULL
registerScript
source script providing the register functions. Default is
NULL
Method asDataFrame()
Converts as data.frame
Usage
geoflow_featuremember$asDataFrame()
Returns
an object of class data.frame
Method clone()
The objects of this class are cloneable with this method.
Usage
geoflow_featuremember$clone(deep = FALSE)
Arguments
deep
Whether to make a deep clone.
Author(s)
Emmanuel Blondel <emmanuel.blondel1@gmail.com>
Geoflow feature type class
Description
This class models a feature type to be executed by geoflow
Format
R6Class
object.
Details
geoflow_featuretype
Value
Object of R6Class
for modelling a dictionary feature type
Public fields
id
feature type ID
members
feature type members
Methods
Public methods
Method new()
Initializes a geoflow_featuretype
Usage
geoflow_featuretype$new(id = NULL)
Arguments
id
id
Method addMember()
Adds a member
Usage
geoflow_featuretype$addMember(fm)
Arguments
fm
object of class geoflow_featuremember
Method getMembers()
Get members
Usage
geoflow_featuretype$getMembers()
Returns
the list of members, as objects of class geoflow_featuremember
Method getMemberById()
Get member by ID
Usage
geoflow_featuretype$getMemberById(id)
Arguments
id
id
Returns
an object of class geoflow_featuremember, NULL
otherwise
Method asDataFrame()
Converts to data frame
Usage
geoflow_featuretype$asDataFrame()
Returns
an object of class data.frame
Method clone()
The objects of this class are cloneable with this method.
Usage
geoflow_featuretype$clone(deep = FALSE)
Arguments
deep
Whether to make a deep clone.
Author(s)
Emmanuel Blondel <emmanuel.blondel1@gmail.com>
Geoflow format class
Description
This class models a format
Format
R6Class
object.
Details
geoflow_format
Value
Object of R6Class
for modelling a format
Public fields
key
format key
name
key name
uri
key URI
description
key description
Methods
Public methods
Method new()
Initializes a geoflow_format
Usage
geoflow_format$new(str = NULL)
Arguments
str
character string to initialize object using key-based syntax
Method setKey()
Sets format key
Usage
geoflow_format$setKey(key)
Arguments
key
key
Method setName()
Sets format name
Usage
geoflow_format$setName(name)
Arguments
name
name
Method setUri()
Sets format URI
Usage
geoflow_format$setUri(uri)
Arguments
uri
URI
Method setDescription()
Sets format description
Usage
geoflow_format$setDescription(description)
Arguments
description
description
Method clone()
The objects of this class are cloneable with this method.
Usage
geoflow_format$clone(deep = FALSE)
Arguments
deep
Whether to make a deep clone.
Author(s)
Emmanuel Blondel <emmanuel.blondel1@gmail.com>
Examples
## Not run:
format <- geoflow_format$new()
format$setKey("distribution")
format$setName("text/csv")
format$setUri("https://www.iana.org/assignments/media-types/text/csv")
format$setDescription("CSV format")
## End(Not run)
Geoflow handler class
Description
This class models a content handler. An handler is a method to handle
some content (eg entity or contact). It is mainly driven by a function that takes
as argument the handler
considered (as self accessible object), a source
which identifiers the source to be handled, that can be of a different type (eg a URL, a file path)
depending on the handler, and a config
object, as the overall configuration created by geoflow
initWorkflow
function.
Format
R6Class
object.
Details
geoflow_handler
Value
Object of R6Class
for modelling a handler
Public fields
id
handler id
type
handler type (entity,contact,dictionary)
funders
funders
authors
authors
maintainer
maintainer
def
handler definition
packages
handler packages
fun
handler function
script
handler script
options
options
available_options
available options
status
status
notes
notes
Methods
Public methods
Method new()
Initializes a geoflow_handler
Usage
geoflow_handler$new( yaml = NULL, id = NULL, type = c("entity", "contact", "dictionary"), funders = list(), authors = list(), maintainer = NULL, def = "", packages = list(), fun = NULL, script = NULL, options = list(), available_options = list(), status = "stable", notes = "" )
Arguments
yaml
a YAML file
id
id
type
type
funders
funders
authors
authors
maintainer
maintainer
def
def
packages
list of packages required for the handler
fun
the handler
function
having 2 argumentsconfig
andsource
script
a handler script
options
action options
available_options
available options for the action
status
status (experimental/stable/deprecated/superseded)
notes
notes
Method fromYAML()
Reads handler properties from YAML file
Usage
geoflow_handler$fromYAML(file)
Arguments
file
file
Method checkPackages()
Check that all packages required for the handler are available, if yes,
import them in the R session, and return a data.frame
giving the
packages names and version. If one or more packages are unavailable,
an error is thrown and user informed of the missing packages.
Usage
geoflow_handler$checkPackages()
Method getOption()
Get handler option value
Usage
geoflow_handler$getOption(option)
Arguments
option
option id
Returns
the option value, either specified through a workflow, or the default value
Method clone()
The objects of this class are cloneable with this method.
Usage
geoflow_handler$clone(deep = FALSE)
Arguments
deep
Whether to make a deep clone.
Note
This class is essentially called internally by geoflow to register default handlers for entities and contacts.
Author(s)
Emmanuel Blondel <emmanuel.blondel1@gmail.com>
Examples
## Not run:
handler <- geoflow_handler$new(
id = "some-id",
def = "some definition",
packages = list(),
fun = function(handler, source, config){},
available_options = list()
)
## End(Not run)
Geoflow keyword class
Description
This class models a keyword
Format
R6Class
object.
Details
geoflow_keyword
Value
Object of R6Class
for modelling a keyword
Public fields
name
keyword
uri
keyword uri
Methods
Public methods
Method new()
Initializes a geoflow_keyword
Usage
geoflow_keyword$new(name = NULL, uri = NULL)
Arguments
name
keyword name
uri
keyword URI
Method setName()
Sets keyword
Usage
geoflow_keyword$setName(name)
Arguments
name
keyword name
Method setUri()
Sets keyword URI
Usage
geoflow_keyword$setUri(uri)
Arguments
uri
keyword URI
Method clone()
The objects of this class are cloneable with this method.
Usage
geoflow_keyword$clone(deep = FALSE)
Arguments
deep
Whether to make a deep clone.
Author(s)
Emmanuel Blondel <emmanuel.blondel1@gmail.com>
Examples
## Not run:
kwd <- geoflow_keyword$new()
kwd$setName("keyword")
kwd$setUri("http://somelink/keyword")
## End(Not run)
Geoflow kvp (Key Values pair) class
Description
This class models an kvp (Key Values pair)
Format
R6Class
object.
Details
geoflow_kvp
Value
Object of R6Class
for modelling an kvp (Key Values pair)
Public fields
key
the KVP key
values
the KVP values
locale
a locale definition for the KVP
Methods
Public methods
Method new()
Initializes a Key-Value pair (KVP)
Usage
geoflow_kvp$new(key = NULL, values = NULL, locale = NULL)
Arguments
key
key
values
values
locale
locale
Method setKey()
Set KVP key
Usage
geoflow_kvp$setKey(key)
Arguments
key
the key
Method setValues()
Set KVP values
Usage
geoflow_kvp$setValues(values)
Arguments
values
the values
Method setLocale()
Set KVP locale
Usage
geoflow_kvp$setLocale(locale)
Arguments
locale
locale
Method clone()
The objects of this class are cloneable with this method.
Usage
geoflow_kvp$clone(deep = FALSE)
Arguments
deep
Whether to make a deep clone.
Author(s)
Emmanuel Blondel <emmanuel.blondel1@gmail.com>
Geoflow process class
Description
This class models an process
Format
R6Class
object.
Details
geoflow_process
Value
Object of R6Class
for modelling an process
Public fields
rationale
process rationale
description
process description
processors
object of class
list
Methods
Public methods
Method new()
Initializes the geoflow_process
Usage
geoflow_process$new()
Method setRationale()
Set process rationale
Usage
geoflow_process$setRationale(rationale)
Arguments
rationale
the process rationale
Method setDescription()
Set process description
Usage
geoflow_process$setDescription(description)
Arguments
description
Set the process description
Method addProcessor()
Adds processor
Usage
geoflow_process$addProcessor(processor)
Arguments
processor,
object of class geoflow_contact
Method clone()
The objects of this class are cloneable with this method.
Usage
geoflow_process$clone(deep = FALSE)
Arguments
deep
Whether to make a deep clone.
Author(s)
Emmanuel Blondel <emmanuel.blondel1@gmail.com>
Examples
## Not run:
process <- geoflow_process$new()
process$setRationale("rationale")
process$setDescription("description")
processor <- geoflow_contact$new()
process$addProcessor(processor)
## End(Not run)
Geoflow profile class
Description
This class models an profile
Format
R6Class
object.
Details
geoflow_profile
Value
Object of R6Class
for modelling an profile
Public fields
id
profile id
name
profile name
project
profile project
organization
profile organization
logos
profile logo(s)
mode
mode of execution (Default is "raw")
options
global config options
Methods
Public methods
Method new()
Initializes an object of class geoflow_profile
Usage
geoflow_profile$new()
Method setId()
Sets profile ID
Usage
geoflow_profile$setId(id)
Arguments
id
id
Method setName()
Sets profile name
Usage
geoflow_profile$setName(name)
Arguments
name
name
Method setProject()
Sets profile project
Usage
geoflow_profile$setProject(project)
Arguments
project
project
Method setOrganization()
Sets profile organization
Usage
geoflow_profile$setOrganization(organization)
Arguments
organization
organization
Method addLogo()
Adds a profile organization
Usage
geoflow_profile$addLogo(logo)
Arguments
logo
logo
Method setMode()
Sets profile mode
Usage
geoflow_profile$setMode(mode)
Arguments
mode
profile mode
Method setOption()
Set global config option
Usage
geoflow_profile$setOption(name, value)
Arguments
name
option name
value
option value
Method clone()
The objects of this class are cloneable with this method.
Usage
geoflow_profile$clone(deep = FALSE)
Arguments
deep
Whether to make a deep clone.
Author(s)
Emmanuel Blondel <emmanuel.blondel1@gmail.com>
Examples
## Not run:
profile <- geoflow_profile$new()
profile$setId("workflow1")
profile$setName("Workflow 1")
profile$setProject("My project")
profile$setOrganization("My organization")
provfile$addLogo("https://via.placeholder.com/300x150.png/09f/fff?text=geoflow")
## End(Not run)
Geoflow provenance class
Description
This class models an provenance
Format
R6Class
object.
Details
geoflow_provenance
Value
Object of R6Class
for modelling an provenance
Public fields
statement
provenance statement
processes
list of processes, as objects of class geoflow_process
Methods
Public methods
Method new()
Initializes a geoflow_provenance
Usage
geoflow_provenance$new(str = NULL)
Arguments
str
character string to initialize a provenance using key-based syntax
Method setStatement()
Set process statement
Usage
geoflow_provenance$setStatement(statement)
Arguments
statement
process statement
Method addProcess()
Adds process
Usage
geoflow_provenance$addProcess(process)
Arguments
process,
object of class geoflow_process
Method clone()
The objects of this class are cloneable with this method.
Usage
geoflow_provenance$clone(deep = FALSE)
Arguments
deep
Whether to make a deep clone.
Author(s)
Emmanuel Blondel <emmanuel.blondel1@gmail.com>
Examples
## Not run:
provenance <- geoflow_provenance$new()
provenance$setStatement("statement")
process1 <- geoflow_process$new()
process1$setRationale("task 1")
process1$setDescription("Performs task 1")
provenance$addProcess(process1)
process2 <- geoflow_process$new()
process2$setRationale("task 2")
process2$setDescription("Performs task 2")
provenance$addProcess(process2)
## End(Not run)
Geoflow register class
Description
This class models a register to be used by geoflow
Format
R6Class
object.
Details
geoflow_register
Value
Object of R6Class
for modelling a register
Public fields
id
register id
def
register def
fun
register function
data
register data
Methods
Public methods
Method new()
Initializes an object of class geoflow_register
Usage
geoflow_register$new(id, def, fun)
Arguments
id
id
def
def
fun
fun
Method fetch()
Fetchs the register data using the register function
Usage
geoflow_register$fetch(config = NULL)
Arguments
config
a geoflow config object
Method check()
Checks the register data structure. The structure of the data.frame
returned
by the register function should be of 4 columns including "code", "uri", "label", "definition".
In case the data structure is not valid, the function throws an error.
Usage
geoflow_register$check(data)
Arguments
data
a register data structure
Method clone()
The objects of this class are cloneable with this method.
Usage
geoflow_register$clone(deep = FALSE)
Arguments
deep
Whether to make a deep clone.
Author(s)
Emmanuel Blondel <emmanuel.blondel1@gmail.com>
Examples
## Not run:
register <- geoflow_register$new(
id = "some-id",
def = "definition",
fun = function(){}
)
## End(Not run)
Geoflow relation class
Description
This class models an relation
Format
R6Class
object.
Details
geoflow_relation
Value
Object of R6Class
for modelling an relation
Public fields
key
relation key
link
relation link
mimeType
relation mime
name
relation name
description
relation name
Methods
Public methods
Method new()
Initializes an object of class geoflow_relation
Usage
geoflow_relation$new(str = NULL)
Arguments
str
character string to initialize from using key-based syntax
Method setKey()
Set key
Usage
geoflow_relation$setKey(key)
Arguments
key
key
Method setLink()
Set link
Usage
geoflow_relation$setLink(link)
Arguments
link
link
Method setMimeType()
Set mime type
Usage
geoflow_relation$setMimeType(mimeType)
Arguments
mimeType
mime type
Method setName()
Set name
Usage
geoflow_relation$setName(name)
Arguments
name
name
Method setDescription()
Set description
Usage
geoflow_relation$setDescription(description)
Arguments
description
description
Method clone()
The objects of this class are cloneable with this method.
Usage
geoflow_relation$clone(deep = FALSE)
Arguments
deep
Whether to make a deep clone.
Author(s)
Emmanuel Blondel <emmanuel.blondel1@gmail.com>
Examples
## Not run:
relation <- geoflow_relation$new()
relation$setKey("wms")
relation$setLink("http://somelink/wms")
relation$setMimeType("application/xml")
relation$setName("layername")
relation$setDescription("layer description")
## End(Not run)
Geoflow right class
Description
This class models an right
Format
R6Class
object.
Details
geoflow_right
Value
Object of R6Class
for modelling an right
Public fields
key
right key
values
right values
Methods
Public methods
Method new()
Initializes an object of class geoflow_right
Usage
geoflow_right$new(str = NULL, kvp = NULL)
Arguments
str
character string to initialize from using key-based syntax
kvp
an object of class geoflow_kvp
Method setKey()
Sets key
Usage
geoflow_right$setKey(key)
Arguments
key
key
Method setValues()
Sets values
Usage
geoflow_right$setValues(values)
Arguments
values
values
Method clone()
The objects of this class are cloneable with this method.
Usage
geoflow_right$clone(deep = FALSE)
Arguments
deep
Whether to make a deep clone.
Author(s)
Emmanuel Blondel <emmanuel.blondel1@gmail.com>
Examples
## Not run:
right <- geoflow_right$new()
right$setKey("use")
right$setValues("No restrictions")
## End(Not run)
Geoflow SKOS vocabulary class
Description
This class models a SKOS vocabulary
Format
R6Class
object.
Details
geoflow_skos_vocabulary
Value
Object of R6Class
for modelling a SKOS vocabulary
Super class
geoflow::geoflow_vocabulary
-> geoflow_skos_vocabulary
Public fields
rdf
rdf
rdf_data
rdf_data
endpoint
endpoint
Methods
Public methods
Inherited methods
Method new()
Initializes a vocabulary
Usage
geoflow_skos_vocabulary$new(id, def, uri, endpoint = NULL, file = NULL)
Arguments
id
id
def
def
uri
uri
endpoint
A Sparql endpoint
file
a RDF file
Method query()
query
Usage
geoflow_skos_vocabulary$query(str, graphUri = NULL, mimetype = "text/csv")
Arguments
str
str
graphUri
graphUri
mimetype
mimetype
Returns
the response of the SPARQL query
Method query_full_dataset()
Queries full dataset
Usage
geoflow_skos_vocabulary$query_full_dataset()
Returns
an object of class tibble
Method ping()
Ping query
Usage
geoflow_skos_vocabulary$ping()
Method list_collections()
list_collections
Usage
geoflow_skos_vocabulary$list_collections( mimetype = "text/csv", count_sub_collections = TRUE, count_concepts = TRUE )
Arguments
mimetype
mimetype
count_sub_collections
count_sub_collections. Default is TRUE
count_concepts
count_concepts. Default is TRUE
Returns
the response of the SPARQL query
Method get_concepts_hierarchy()
list_concepts
Usage
geoflow_skos_vocabulary$get_concepts_hierarchy( lang = "en", method = c("SPARQL", "R"), out_format = c("tibble", "list") )
Arguments
lang
lang
method
method used to build the hierarchy, either "SPARQL" or "R"
out_format
output format (tibble or list). Default is "tibble"
Returns
the response of the SPARQL query
Method list_concepts()
list_concepts
Usage
geoflow_skos_vocabulary$list_concepts(lang = "en", mimetype = "text/csv")
Arguments
lang
lang
mimetype
mimetype
Returns
the response of the SPARQL query
Method query_from_uri()
query_from_uri
Usage
geoflow_skos_vocabulary$query_from_uri( uri, graphUri = NULL, mimetype = "text/csv" )
Arguments
uri
uri
graphUri
graphUri
mimetype
mimetype
Returns
an object of class tibble
Method query_from_term()
query_from_term
Usage
geoflow_skos_vocabulary$query_from_term( term, graphUri = NULL, mimetype = "text/csv" )
Arguments
term
term
graphUri
graphUri
mimetype
mimetype
Returns
an object of class tibble
Method clone()
The objects of this class are cloneable with this method.
Usage
geoflow_skos_vocabulary$clone(deep = FALSE)
Arguments
deep
Whether to make a deep clone.
Geoflow software class
Description
This class models a software to be used by geoflow
Format
R6Class
object.
Details
geoflow_software
Value
Object of R6Class
for modelling a software
Super class
geoflow::geoflowLogger
-> geoflow_software
Public fields
id
software id
type
software I/O type ("input" or "output")
software_type
type of software
definition
definition
packages
list of packages required for the software functioning
handler
software handler function
arguments
software arguments
parameters
software parameters
attributes
software attributes
properties
software properties
actions
actions associated with the software
Methods
Public methods
Inherited methods
Method new()
Initializes a software
Usage
geoflow_software$new( id = NULL, type = NULL, software_type, packages = list(), definition, handler, arguments, attributes = list(), actions = list() )
Arguments
id
id
type
type "input" or "output"
software_type
software type
packages
list of packages required for the software functioning
definition
software definition
handler
software handler
function
arguments
software handler arguments
attributes
software attributes
actions
software actions
Method setId()
Sets software ID
Usage
geoflow_software$setId(id)
Arguments
id
id
Method setType()
Set type. Either "input" or "output"
Usage
geoflow_software$setType(type)
Arguments
type
software I/O type
Method setSoftwareType()
Set software type
Usage
geoflow_software$setSoftwareType(software_type)
Arguments
software_type
software type
Method setPackages()
Set software required packages
Usage
geoflow_software$setPackages(packages)
Arguments
packages
list of package names
Method setDefinition()
Set software definition
Usage
geoflow_software$setDefinition(definition)
Arguments
definition
software definition
Method setAttributes()
Set attributes. Function to call when creating an instance of geoflow_software
Usage
geoflow_software$setAttributes(attributes)
Arguments
attributes
named list of attributes
Method setProperties()
Set properties. Function to call to pass argument values for a given geoflow_software
Usage
geoflow_software$setProperties(props)
Arguments
props
named list of properties
Method setArguments()
Set software arguments. Function to call when creating an instance of geoflow_software
Usage
geoflow_software$setArguments(arguments)
Arguments
arguments
list of software arguments
Method setParameters()
Set parameters. Function to call to pass argument values for a given geoflow_software
Usage
geoflow_software$setParameters(params)
Arguments
params
named list of parameters
Method setActions()
Set software actions
Usage
geoflow_software$setActions(actions)
Arguments
actions
a list of
geoflow_action
Method setHandler()
Set the software handler function
Usage
geoflow_software$setHandler(handler)
Arguments
handler
object of class
function
Method checkPackages()
Check that all packages required for the software are available, if yes,
import them in the R session, and return a data.frame
giving the
packages names and version. If one or more packages are unavailable,
an error is thrown and user informed of the missing packages.
Usage
geoflow_software$checkPackages()
Method getHandlerInstance()
Get the software handler instance
Usage
geoflow_software$getHandlerInstance()
Returns
an object instance of the software handler
Method clone()
The objects of this class are cloneable with this method.
Usage
geoflow_software$clone(deep = FALSE)
Arguments
deep
Whether to make a deep clone.
Author(s)
Emmanuel Blondel <emmanuel.blondel1@gmail.com>
Examples
## Not run:
software<- geoflow_software$new(
id = "some-id",
type = "output",
software_type = "software",
definition = "definition",
packages = list(),
handler = function(){},
arguments = list(
url = list(def = "the software url")
),
attributes = list(
workspace = list(def = "a workspace name in the software")
)
)
## End(Not run)
Geoflow subject class
Description
This class models a subject
Format
R6Class
object.
Details
geoflow_subject
Value
Object of R6Class
for modelling a subject
Public fields
key
subject key
name
subject name
uri
subject URI
dates
subject date(s)
keywords
subject keywords
Methods
Public methods
Method new()
Initializes an object of class geoflow_subject
Usage
geoflow_subject$new(str = NULL, kvp = NULL)
Arguments
str
a character string to initialize from, using key-based syntax
kvp
an object of class geoflow_kvp
Method setKey()
Sets subject key
Usage
geoflow_subject$setKey(key)
Arguments
key
key
Method setName()
Sets subject name
Usage
geoflow_subject$setName(name)
Arguments
name
name
Method setUri()
Sets subject URI
Usage
geoflow_subject$setUri(uri)
Arguments
uri
uri
Method setDate()
Sets date
Usage
geoflow_subject$setDate(dateType, date)
Arguments
dateType
type of date
date
date
Method addKeyword()
Adds a keyword
Usage
geoflow_subject$addKeyword(keyword, uri = NULL)
Arguments
keyword
keyword
uri
keyword URI. Default is
NULL
Method getKeywords()
Get keywords associated with the subject
Usage
geoflow_subject$getKeywords(pretty = FALSE)
Arguments
pretty
whether the output has to prettyfied as
data.frame
Returns
the list of keywords as list
of geoflow_keyword
objects or data.frame
Method clone()
The objects of this class are cloneable with this method.
Usage
geoflow_subject$clone(deep = FALSE)
Arguments
deep
Whether to make a deep clone.
Author(s)
Emmanuel Blondel <emmanuel.blondel1@gmail.com>
Examples
## Not run:
subject <- geoflow_subject$new()
subject$setKey("theme")
subject$setName("General")
subject$setUri("http://somelink/general")
subject$addKeyword("keyword1", "http://somelink/keyword1")
subject$addKeyword("keyword2", "http://somelink/keyword2")
subject$addKeyword("keyword3", "http://somelink/keyword3")
## End(Not run)
geoflow_validator
Description
geoflow_validator
geoflow_validator
Public fields
source
object of class
data.frame
handling metadata objects to validate
Methods
Public methods
Method new()
Initializes a table validator for a given metadata model
Usage
geoflow_validator$new(model, valid_columns, source)
Arguments
model
the data model name, eg. "entity", "contact"
valid_columns
a vector of valid columns for the data model
source
an object of class
data.frame
handling the contacts
Method validate_structure()
Validates a source table against a data model structure
Usage
geoflow_validator$validate_structure()
Returns
TRUE
if valid, FALSE
otherwise.
Method validate_content()
Validates a source table using syntactic and content validation rules
Usage
geoflow_validator$validate_content(raw = FALSE)
Arguments
raw
indicates whether to return a
list
ofgeoflow_validator_cell
objects or adata.frame
debug
debug validation
Returns
a list
of geoflow_validator_cell
objects, or data.frame
Method clone()
The objects of this class are cloneable with this method.
Usage
geoflow_validator$clone(deep = FALSE)
Arguments
deep
Whether to make a deep clone.
geoflow_validator_cell
Description
geoflow_validator_cell
geoflow_validator_cell
Public fields
i
row index (internal index to be used for graphical geoflow validation handlers)
j
col index (internal index to be used for graphical geoflow validation handlers)
Methods
Public methods
Method new()
Initializes a geoflow_validator_cell
Usage
geoflow_validator_cell$new( na_authorized, use_key_syntax, key_required, valid_keys, default_key, error_if_invalid_key, exclude_http_keys, multiple, i, j, str )
Arguments
na_authorized
if validator cell authorizes NAs or empty strings. Default is
FALSE
use_key_syntax
if validator cell uses key-based syntax. Default is
TRUE
key_required
if validator cell has a key required. Default is
TRUE
valid_keys
valid keys for the validator cell. Default is an empty list
default_key
default_key to use if key is omitted. Default is
NULL
error_if_invalid_key
raise an error if key is invalid. Default is
TRUE
exclude_http_keys
if 'http' keys have to be excluded from validation checks. Default is
TRUE
multiple
if cell may contain multiple values. Deprecated
i
row index (internal index to be used for graphical geoflow validation handlers)
j
col index (internal index to be used for graphical geoflow validation handlers)
str
character string to validate
Method isNaAuthorized()
Indicates if the validator cell authorizes NAs and empty strings
Usage
geoflow_validator_cell$isNaAuthorized()
Returns
TRUE
if authorizes NAs and empty strings, FALSE
otherwise
Method isKeySynthaxUser()
Indicates if the validator cell makes use of key-based syntax
Usage
geoflow_validator_cell$isKeySynthaxUser()
Returns
TRUE
if using key-based syntax, FALSE
otherwise
Method isKeyRequired()
Indicates if a key is required for the validator cell
Usage
geoflow_validator_cell$isKeyRequired()
Returns
TRUE
if requires a key, FALSE
otherwise
Method getValidKeys()
Gives the list of valid keys for the validator cell
Usage
geoflow_validator_cell$getValidKeys()
Returns
the list of valid keys
Method isErrorIfInvalidKey()
Indicates if a report error will be given in case of invalid key
Usage
geoflow_validator_cell$isErrorIfInvalidKey()
Returns
TRUE
if a report error will be given in case of invalid key, FALSE
otherwise
Method getDefaultKey()
Gets the default key
Usage
geoflow_validator_cell$getDefaultKey()
Returns
the default key
Method isExcludeHttpKeys()
Indicates if 'http' keys are excluded from the validation
Usage
geoflow_validator_cell$isExcludeHttpKeys()
Returns
TRUE
if 'http' keys are excluded from the validation, FALSE
otherwise
Method isMultiple()
indicates if multiple key-based components can be used within a same cell
Usage
geoflow_validator_cell$isMultiple()
Returns
TRUE
if supporting multiple key-based components by cell, FALSE
otherwise
Method validate()
Proceeds with syntactic validation for the cell considered
Usage
geoflow_validator_cell$validate()
Returns
an object of class data.frame
including possible errors/warnings
Method clone()
The objects of this class are cloneable with this method.
Usage
geoflow_validator_cell$clone(deep = FALSE)
Arguments
deep
Whether to make a deep clone.
geoflow_validator_contact_Identifier
Description
geoflow_validator_contact_Identifier
geoflow_validator_contact_Identifier
Super class
geoflow::geoflow_validator_cell
-> geoflow_validator_contact_Identifier
Methods
Public methods
Inherited methods
geoflow::geoflow_validator_cell$getDefaultKey()
geoflow::geoflow_validator_cell$getValidKeys()
geoflow::geoflow_validator_cell$isErrorIfInvalidKey()
geoflow::geoflow_validator_cell$isExcludeHttpKeys()
geoflow::geoflow_validator_cell$isKeyRequired()
geoflow::geoflow_validator_cell$isKeySynthaxUser()
geoflow::geoflow_validator_cell$isMultiple()
geoflow::geoflow_validator_cell$isNaAuthorized()
Method new()
Initializes a contact 'Identifier' cell
Usage
geoflow_validator_contact_Identifier$new(i, j, str)
Arguments
i
row index (internal index to be used for graphical geoflow validation handlers)
j
col index (internal index to be used for graphical geoflow validation handlers)
str
string to validate
Method validate()
Validates a contact identifier. Proceeds with syntactic validation and content (ORCID) validation.
Usage
geoflow_validator_contact_Identifier$validate()
Returns
an validation report, as object of class data.frame
Method clone()
The objects of this class are cloneable with this method.
Usage
geoflow_validator_contact_Identifier$clone(deep = FALSE)
Arguments
deep
Whether to make a deep clone.
geoflow_validator_contacts
Description
geoflow_validator_contacts
geoflow_validator_contacts
Super class
geoflow::geoflow_validator
-> geoflow_validator_contacts
Methods
Public methods
Inherited methods
Method new()
Initializes a contacts table validator
Usage
geoflow_validator_contacts$new(source)
Arguments
source
an object of class
data.frame
handling the contacts
Method clone()
The objects of this class are cloneable with this method.
Usage
geoflow_validator_contacts$clone(deep = FALSE)
Arguments
deep
Whether to make a deep clone.
geoflow_validator_entities
Description
geoflow_validator_entities
geoflow_validator_entities
Super class
geoflow::geoflow_validator
-> geoflow_validator_entities
Methods
Public methods
Inherited methods
Method new()
Initializes an entities table validator
Usage
geoflow_validator_entities$new(source)
Arguments
source
an object of class
data.frame
handling the entities
Method clone()
The objects of this class are cloneable with this method.
Usage
geoflow_validator_entities$clone(deep = FALSE)
Arguments
deep
Whether to make a deep clone.
geoflow_validator_entity_Creator
Description
geoflow_validator_entity_Creator
geoflow_validator_entity_Creator
Super class
geoflow::geoflow_validator_cell
-> geoflow_validator_entity_Creator
Methods
Public methods
Inherited methods
geoflow::geoflow_validator_cell$getDefaultKey()
geoflow::geoflow_validator_cell$getValidKeys()
geoflow::geoflow_validator_cell$isErrorIfInvalidKey()
geoflow::geoflow_validator_cell$isExcludeHttpKeys()
geoflow::geoflow_validator_cell$isKeyRequired()
geoflow::geoflow_validator_cell$isKeySynthaxUser()
geoflow::geoflow_validator_cell$isMultiple()
geoflow::geoflow_validator_cell$isNaAuthorized()
geoflow::geoflow_validator_cell$validate()
Method new()
Initializes an entity 'Creator' cell
Usage
geoflow_validator_entity_Creator$new(i, j, str)
Arguments
i
row index (internal index to be used for graphical geoflow validation handlers)
j
col index (internal index to be used for graphical geoflow validation handlers)
str
string to validate
Method clone()
The objects of this class are cloneable with this method.
Usage
geoflow_validator_entity_Creator$clone(deep = FALSE)
Arguments
deep
Whether to make a deep clone.
geoflow_validator_entity_Data
Description
geoflow_validator_entity_Data
geoflow_validator_entity_Data
Super class
geoflow::geoflow_validator_cell
-> geoflow_validator_entity_Data
Methods
Public methods
Inherited methods
geoflow::geoflow_validator_cell$getDefaultKey()
geoflow::geoflow_validator_cell$getValidKeys()
geoflow::geoflow_validator_cell$isErrorIfInvalidKey()
geoflow::geoflow_validator_cell$isExcludeHttpKeys()
geoflow::geoflow_validator_cell$isKeyRequired()
geoflow::geoflow_validator_cell$isKeySynthaxUser()
geoflow::geoflow_validator_cell$isMultiple()
geoflow::geoflow_validator_cell$isNaAuthorized()
geoflow::geoflow_validator_cell$validate()
Method new()
Initializes an entity 'Data' cell
Usage
geoflow_validator_entity_Data$new(i, j, str)
Arguments
i
row index (internal index to be used for graphical geoflow validation handlers)
j
col index (internal index to be used for graphical geoflow validation handlers)
str
string to validate
Method clone()
The objects of this class are cloneable with this method.
Usage
geoflow_validator_entity_Data$clone(deep = FALSE)
Arguments
deep
Whether to make a deep clone.
geoflow_validator_entity_Date
Description
geoflow_validator_entity_Date
geoflow_validator_entity_Date
Super class
geoflow::geoflow_validator_cell
-> geoflow_validator_entity_Date
Methods
Public methods
Inherited methods
geoflow::geoflow_validator_cell$getDefaultKey()
geoflow::geoflow_validator_cell$getValidKeys()
geoflow::geoflow_validator_cell$isErrorIfInvalidKey()
geoflow::geoflow_validator_cell$isExcludeHttpKeys()
geoflow::geoflow_validator_cell$isKeyRequired()
geoflow::geoflow_validator_cell$isKeySynthaxUser()
geoflow::geoflow_validator_cell$isMultiple()
geoflow::geoflow_validator_cell$isNaAuthorized()
Method new()
Initializes an entity 'Date' cell
Usage
geoflow_validator_entity_Date$new(i, j, str)
Arguments
i
row index (internal index to be used for graphical geoflow validation handlers)
j
col index (internal index to be used for graphical geoflow validation handlers)
str
string to validate
Method validate()
Validates a date. Proceeds with syntactic validation and content validation.
Usage
geoflow_validator_entity_Date$validate()
Returns
an validation report, as object of class data.frame
Method clone()
The objects of this class are cloneable with this method.
Usage
geoflow_validator_entity_Date$clone(deep = FALSE)
Arguments
deep
Whether to make a deep clone.
geoflow_validator_entity_Description
Description
geoflow_validator_entity_Description
geoflow_validator_entity_Description
Super class
geoflow::geoflow_validator_cell
-> geoflow_validator_entity_Description
Methods
Public methods
Inherited methods
geoflow::geoflow_validator_cell$getDefaultKey()
geoflow::geoflow_validator_cell$getValidKeys()
geoflow::geoflow_validator_cell$isErrorIfInvalidKey()
geoflow::geoflow_validator_cell$isExcludeHttpKeys()
geoflow::geoflow_validator_cell$isKeyRequired()
geoflow::geoflow_validator_cell$isKeySynthaxUser()
geoflow::geoflow_validator_cell$isMultiple()
geoflow::geoflow_validator_cell$isNaAuthorized()
geoflow::geoflow_validator_cell$validate()
Method new()
Initializes an entity 'Description' cell
Usage
geoflow_validator_entity_Description$new(i, j, str)
Arguments
i
row index (internal index to be used for graphical geoflow validation handlers)
j
col index (internal index to be used for graphical geoflow validation handlers)
str
string to validate
Method clone()
The objects of this class are cloneable with this method.
Usage
geoflow_validator_entity_Description$clone(deep = FALSE)
Arguments
deep
Whether to make a deep clone.
geoflow_validator_entity_Format
Description
geoflow_validator_entity_Format
geoflow_validator_entity_Format
Super class
geoflow::geoflow_validator_cell
-> geoflow_validator_entity_Format
Methods
Public methods
Inherited methods
geoflow::geoflow_validator_cell$getDefaultKey()
geoflow::geoflow_validator_cell$getValidKeys()
geoflow::geoflow_validator_cell$isErrorIfInvalidKey()
geoflow::geoflow_validator_cell$isExcludeHttpKeys()
geoflow::geoflow_validator_cell$isKeyRequired()
geoflow::geoflow_validator_cell$isKeySynthaxUser()
geoflow::geoflow_validator_cell$isMultiple()
geoflow::geoflow_validator_cell$isNaAuthorized()
geoflow::geoflow_validator_cell$validate()
Method new()
Initializes an entity 'Format' cell
Usage
geoflow_validator_entity_Format$new(i, j, str)
Arguments
i
row index (internal index to be used for graphical geoflow validation handlers)
j
col index (internal index to be used for graphical geoflow validation handlers)
str
string to validate
Method clone()
The objects of this class are cloneable with this method.
Usage
geoflow_validator_entity_Format$clone(deep = FALSE)
Arguments
deep
Whether to make a deep clone.
geoflow_validator_entity_Identifier
Description
geoflow_validator_entity_Identifier
geoflow_validator_entity_Identifier
Super class
geoflow::geoflow_validator_cell
-> geoflow_validator_entity_Identifier
Methods
Public methods
Inherited methods
geoflow::geoflow_validator_cell$getDefaultKey()
geoflow::geoflow_validator_cell$getValidKeys()
geoflow::geoflow_validator_cell$isErrorIfInvalidKey()
geoflow::geoflow_validator_cell$isExcludeHttpKeys()
geoflow::geoflow_validator_cell$isKeyRequired()
geoflow::geoflow_validator_cell$isKeySynthaxUser()
geoflow::geoflow_validator_cell$isMultiple()
geoflow::geoflow_validator_cell$isNaAuthorized()
Method new()
Initializes an entity 'Identifier' cell
Usage
geoflow_validator_entity_Identifier$new(i, j, str)
Arguments
i
row index (internal index to be used for graphical geoflow validation handlers)
j
col index (internal index to be used for graphical geoflow validation handlers)
str
string to validate
Method validate()
Validates an entity identifier. Proceeds with syntactic validation and content validation for DOIs and UUIDs.
Usage
geoflow_validator_entity_Identifier$validate()
Returns
an validation report, as object of class data.frame
Method clone()
The objects of this class are cloneable with this method.
Usage
geoflow_validator_entity_Identifier$clone(deep = FALSE)
Arguments
deep
Whether to make a deep clone.
geoflow_validator_entity_Language
Description
geoflow_validator_entity_Language
geoflow_validator_entity_Language
Super class
geoflow::geoflow_validator_cell
-> geoflow_validator_entity_Language
Methods
Public methods
Inherited methods
geoflow::geoflow_validator_cell$getDefaultKey()
geoflow::geoflow_validator_cell$getValidKeys()
geoflow::geoflow_validator_cell$isErrorIfInvalidKey()
geoflow::geoflow_validator_cell$isExcludeHttpKeys()
geoflow::geoflow_validator_cell$isKeyRequired()
geoflow::geoflow_validator_cell$isKeySynthaxUser()
geoflow::geoflow_validator_cell$isMultiple()
geoflow::geoflow_validator_cell$isNaAuthorized()
Method new()
Initializes an entity 'Language' cell
Usage
geoflow_validator_entity_Language$new(i, j, str)
Arguments
i
row index (internal index to be used for graphical geoflow validation handlers)
j
col index (internal index to be used for graphical geoflow validation handlers)
str
string to validate
Method validate()
Validates a language. Proceeds with syntactic validation and language validation.
Usage
geoflow_validator_entity_Language$validate()
Returns
an validation report, as object of class data.frame
Method clone()
The objects of this class are cloneable with this method.
Usage
geoflow_validator_entity_Language$clone(deep = FALSE)
Arguments
deep
Whether to make a deep clone.
geoflow_validator_entity_Provenance
Description
geoflow_validator_entity_Provenance
geoflow_validator_entity_Provenance
Super class
geoflow::geoflow_validator_cell
-> geoflow_validator_entity_Provenance
Methods
Public methods
Inherited methods
geoflow::geoflow_validator_cell$getDefaultKey()
geoflow::geoflow_validator_cell$getValidKeys()
geoflow::geoflow_validator_cell$isErrorIfInvalidKey()
geoflow::geoflow_validator_cell$isExcludeHttpKeys()
geoflow::geoflow_validator_cell$isKeyRequired()
geoflow::geoflow_validator_cell$isKeySynthaxUser()
geoflow::geoflow_validator_cell$isMultiple()
geoflow::geoflow_validator_cell$isNaAuthorized()
Method new()
Initializes an entity 'Provenance' cell
Usage
geoflow_validator_entity_Provenance$new(i, j, str)
Arguments
i
row index (internal index to be used for graphical geoflow validation handlers)
j
col index (internal index to be used for graphical geoflow validation handlers)
str
string to validate
Method validate()
Validates a Provenance. Proceeds with syntactic validation and content validation.
Usage
geoflow_validator_entity_Provenance$validate()
Returns
an validation report, as object of class data.frame
Method clone()
The objects of this class are cloneable with this method.
Usage
geoflow_validator_entity_Provenance$clone(deep = FALSE)
Arguments
deep
Whether to make a deep clone.
geoflow_validator_entity_Relation
Description
geoflow_validator_entity_Relation
geoflow_validator_entity_Relation
Super class
geoflow::geoflow_validator_cell
-> geoflow_validator_entity_Relation
Methods
Public methods
Inherited methods
geoflow::geoflow_validator_cell$getDefaultKey()
geoflow::geoflow_validator_cell$getValidKeys()
geoflow::geoflow_validator_cell$isErrorIfInvalidKey()
geoflow::geoflow_validator_cell$isExcludeHttpKeys()
geoflow::geoflow_validator_cell$isKeyRequired()
geoflow::geoflow_validator_cell$isKeySynthaxUser()
geoflow::geoflow_validator_cell$isMultiple()
geoflow::geoflow_validator_cell$isNaAuthorized()
geoflow::geoflow_validator_cell$validate()
Method new()
Initializes an entity 'Relation' cell
Usage
geoflow_validator_entity_Relation$new(i, j, str)
Arguments
i
row index (internal index to be used for graphical geoflow validation handlers)
j
col index (internal index to be used for graphical geoflow validation handlers)
str
string to validate
Method clone()
The objects of this class are cloneable with this method.
Usage
geoflow_validator_entity_Relation$clone(deep = FALSE)
Arguments
deep
Whether to make a deep clone.
geoflow_validator_entity_Rights
Description
geoflow_validator_entity_Rights
geoflow_validator_entity_Rights
Super class
geoflow::geoflow_validator_cell
-> geoflow_validator_entity_Rights
Methods
Public methods
Inherited methods
geoflow::geoflow_validator_cell$getDefaultKey()
geoflow::geoflow_validator_cell$getValidKeys()
geoflow::geoflow_validator_cell$isErrorIfInvalidKey()
geoflow::geoflow_validator_cell$isExcludeHttpKeys()
geoflow::geoflow_validator_cell$isKeyRequired()
geoflow::geoflow_validator_cell$isKeySynthaxUser()
geoflow::geoflow_validator_cell$isMultiple()
geoflow::geoflow_validator_cell$isNaAuthorized()
geoflow::geoflow_validator_cell$validate()
Method new()
Initializes an entity 'Rights' cell
Usage
geoflow_validator_entity_Rights$new(i, j, str)
Arguments
i
row index (internal index to be used for graphical geoflow validation handlers)
j
col index (internal index to be used for graphical geoflow validation handlers)
str
string to validate
Method clone()
The objects of this class are cloneable with this method.
Usage
geoflow_validator_entity_Rights$clone(deep = FALSE)
Arguments
deep
Whether to make a deep clone.
geoflow_validator_entity_SpatialCoverage
Description
geoflow_validator_entity_SpatialCoverage
geoflow_validator_entity_SpatialCoverage
Super class
geoflow::geoflow_validator_cell
-> geoflow_validator_entity_SpatialCoverage
Methods
Public methods
Inherited methods
geoflow::geoflow_validator_cell$getDefaultKey()
geoflow::geoflow_validator_cell$getValidKeys()
geoflow::geoflow_validator_cell$isErrorIfInvalidKey()
geoflow::geoflow_validator_cell$isExcludeHttpKeys()
geoflow::geoflow_validator_cell$isKeyRequired()
geoflow::geoflow_validator_cell$isKeySynthaxUser()
geoflow::geoflow_validator_cell$isMultiple()
geoflow::geoflow_validator_cell$isNaAuthorized()
Method new()
Initializes an entity 'SpatialCoverage' cell
Usage
geoflow_validator_entity_SpatialCoverage$new(i, j, str)
Arguments
i
row index (internal index to be used for graphical geoflow validation handlers)
j
col index (internal index to be used for graphical geoflow validation handlers)
str
string to validate
Method validate()
Validates a spatial coverage. Proceeds with syntactic validation and spatial coverage validation (including EWKT, WKT and SRID).
Usage
geoflow_validator_entity_SpatialCoverage$validate()
Returns
an validation report, as object of class data.frame
Method clone()
The objects of this class are cloneable with this method.
Usage
geoflow_validator_entity_SpatialCoverage$clone(deep = FALSE)
Arguments
deep
Whether to make a deep clone.
geoflow_validator_entity_Subject
Description
geoflow_validator_entity_Subject
geoflow_validator_entity_Subject
Super class
geoflow::geoflow_validator_cell
-> geoflow_validator_entity_Subject
Methods
Public methods
Inherited methods
geoflow::geoflow_validator_cell$getDefaultKey()
geoflow::geoflow_validator_cell$getValidKeys()
geoflow::geoflow_validator_cell$isErrorIfInvalidKey()
geoflow::geoflow_validator_cell$isExcludeHttpKeys()
geoflow::geoflow_validator_cell$isKeyRequired()
geoflow::geoflow_validator_cell$isKeySynthaxUser()
geoflow::geoflow_validator_cell$isMultiple()
geoflow::geoflow_validator_cell$isNaAuthorized()
Method new()
Initializes an entity 'Subject' cell
Usage
geoflow_validator_entity_Subject$new(i, j, str)
Arguments
i
row index (internal index to be used for graphical geoflow validation handlers)
j
col index (internal index to be used for graphical geoflow validation handlers)
str
string to validate
Method validate()
Validates a Subject. Proceeds with syntactic validation and content validation.
Usage
geoflow_validator_entity_Subject$validate()
Returns
an validation report, as object of class data.frame
Method clone()
The objects of this class are cloneable with this method.
Usage
geoflow_validator_entity_Subject$clone(deep = FALSE)
Arguments
deep
Whether to make a deep clone.
geoflow_validator_entity_TemporalCoverage
Description
geoflow_validator_entity_TemporalCoverage
geoflow_validator_entity_TemporalCoverage
Super class
geoflow::geoflow_validator_cell
-> geoflow_validator_entity_TemporalCoverage
Methods
Public methods
Inherited methods
geoflow::geoflow_validator_cell$getDefaultKey()
geoflow::geoflow_validator_cell$getValidKeys()
geoflow::geoflow_validator_cell$isErrorIfInvalidKey()
geoflow::geoflow_validator_cell$isExcludeHttpKeys()
geoflow::geoflow_validator_cell$isKeyRequired()
geoflow::geoflow_validator_cell$isKeySynthaxUser()
geoflow::geoflow_validator_cell$isMultiple()
geoflow::geoflow_validator_cell$isNaAuthorized()
Method new()
Initializes an entity 'TemporalCoverage' cell
Usage
geoflow_validator_entity_TemporalCoverage$new(i, j, str)
Arguments
i
row index (internal index to be used for graphical geoflow validation handlers)
j
col index (internal index to be used for graphical geoflow validation handlers)
str
string to validate
Method validate()
Validates temporal coverage. Proceeds with syntactic validation and temporal coverage validation.
Usage
geoflow_validator_entity_TemporalCoverage$validate()
Returns
an validation report, as object of class data.frame
Method clone()
The objects of this class are cloneable with this method.
Usage
geoflow_validator_entity_TemporalCoverage$clone(deep = FALSE)
Arguments
deep
Whether to make a deep clone.
geoflow_validator_entity_Title
Description
geoflow_validator_entity_Title
geoflow_validator_entity_Title
Super class
geoflow::geoflow_validator_cell
-> geoflow_validator_entity_Title
Methods
Public methods
Inherited methods
geoflow::geoflow_validator_cell$getDefaultKey()
geoflow::geoflow_validator_cell$getValidKeys()
geoflow::geoflow_validator_cell$isErrorIfInvalidKey()
geoflow::geoflow_validator_cell$isExcludeHttpKeys()
geoflow::geoflow_validator_cell$isKeyRequired()
geoflow::geoflow_validator_cell$isKeySynthaxUser()
geoflow::geoflow_validator_cell$isMultiple()
geoflow::geoflow_validator_cell$isNaAuthorized()
geoflow::geoflow_validator_cell$validate()
Method new()
Initializes an entity 'Title' cell
Usage
geoflow_validator_entity_Title$new(i, j, str)
Arguments
i
row index (internal index to be used for graphical geoflow validation handlers)
j
col index (internal index to be used for graphical geoflow validation handlers)
str
string to validate
Method clone()
The objects of this class are cloneable with this method.
Usage
geoflow_validator_entity_Title$clone(deep = FALSE)
Arguments
deep
Whether to make a deep clone.
geoflow_validator_entity_Type
Description
geoflow_validator_entity_Type
geoflow_validator_entity_Type
Super class
geoflow::geoflow_validator_cell
-> geoflow_validator_entity_Type
Methods
Public methods
Inherited methods
geoflow::geoflow_validator_cell$getDefaultKey()
geoflow::geoflow_validator_cell$getValidKeys()
geoflow::geoflow_validator_cell$isErrorIfInvalidKey()
geoflow::geoflow_validator_cell$isExcludeHttpKeys()
geoflow::geoflow_validator_cell$isKeyRequired()
geoflow::geoflow_validator_cell$isKeySynthaxUser()
geoflow::geoflow_validator_cell$isMultiple()
geoflow::geoflow_validator_cell$isNaAuthorized()
geoflow::geoflow_validator_cell$validate()
Method new()
Initializes an entity 'Type' cell
Usage
geoflow_validator_entity_Type$new(i, j, str)
Arguments
i
row index (internal index to be used for graphical geoflow validation handlers)
j
col index (internal index to be used for graphical geoflow validation handlers)
str
string to validate
Method clone()
The objects of this class are cloneable with this method.
Usage
geoflow_validator_entity_Type$clone(deep = FALSE)
Arguments
deep
Whether to make a deep clone.
Geoflow vocabulary class
Description
This class models a vocabulary
Format
R6Class
object.
Details
geoflow_vocabulary
Value
Object of R6Class
for modelling a vocabulary
Public fields
id
id
def
def
uri
uri
software_type
software_type
software
software
Methods
Public methods
Method new()
Initializes a vocabulary
Usage
geoflow_vocabulary$new(id, def, uri, software_type)
Arguments
id
id
def
def
uri
uri
software_type
software type
Method setSoftware()
Set software
Usage
geoflow_vocabulary$setSoftware(software)
Arguments
software
software
Method clone()
The objects of this class are cloneable with this method.
Usage
geoflow_vocabulary$clone(deep = FALSE)
Arguments
deep
Whether to make a deep clone.
getDBTableColumnComment
Description
getDBTableColumnComment
Usage
getDBTableColumnComment(dbi, schema, table, column_index)
Arguments
dbi |
a dbi connection |
schema |
schema |
table |
table |
column_index |
table column index |
Value
the table comment
Author(s)
Emmanuel Blondel, emmanuel.blondel1@gmail.com
getDBTableComment
Description
getDBTableComment
Usage
getDBTableComment(dbi, schema, table)
Arguments
dbi |
a dbi connection |
schema |
schema |
table |
table |
Value
the table comment
Author(s)
Emmanuel Blondel, emmanuel.blondel1@gmail.com
get_config_resource_path
Description
get_config_resource_path
Usage
get_config_resource_path(config, path)
Arguments
config |
a geoflow config |
path |
a resource path to resolve vs. the config root dir |
Author(s)
Emmanuel Blondel, emmanuel.blondel1@gmail.com
get_epsg_code
Description
get_epsg_code
is a consolidated method to get EPSG code (srid) from a CRS
Usage
get_epsg_code(x)
Arguments
x |
an object of class 'sf' |
Author(s)
Emmanuel Blondel, emmanuel.blondel1@gmail.com
get_line_separator
Description
get_line_separator
get the line separator used by geoflow
when extracting cell components for tabular data content handling. Default is
set to an underscore followed by a line break.
Usage
get_line_separator()
Author(s)
Emmanuel Blondel, emmanuel.blondel1@gmail.com
get_locales_from
Description
Get locales from a property values set
Usage
get_locales_from(values)
Arguments
values |
values |
get_union_bbox
Description
get_union_bbox
will build a unified bounding box from a list of geoflow_data
objects
Usage
get_union_bbox(data_objects)
Arguments
data_objects |
list of |
Author(s)
Emmanuel Blondel, emmanuel.blondel1@gmail.com
initWorkflow
Description
initWorkflow
allows to init a workflow
Usage
initWorkflow(file, dir, jobDirPath, handleMetadata, session)
Arguments
file |
a JSON or YAML configuration file |
dir |
a directory where to execute the workflow. |
jobDirPath |
a directory set-up for the job. Default is |
handleMetadata |
Default is |
session |
a shiny session object (optional) to run geoflow in a shiny context |
Author(s)
Emmanuel Blondel, emmanuel.blondel1@gmail.com
initWorkflowJob
Description
initWorkflowJob
allows to init a workflow job
Usage
initWorkflowJob(dir)
Arguments
dir |
a directory where to initialize/execute the workflow |
Value
the job directory path
Author(s)
Emmanuel Blondel, emmanuel.blondel1@gmail.com
is_absolute_path
Description
is_absolute_path
evaluate if a ${{path}}
expression is an absolute path,
the function will return a boolean argument.
Usage
is_absolute_path(path)
Arguments
path |
a path in character string |
Author(s)
Emmanuel Blondel, emmanuel.blondel1@gmail.com
list_action_options
Description
list_action_options
lists the options available for a given action supported by geoflow.
Usage
list_action_options(id, raw)
Arguments
id |
An action identifier |
raw |
if raw list should be returned |
Value
an object of class data.frame
(or list
if raw is TRUE) listing the available action options.
Author(s)
Emmanuel Blondel, emmanuel.blondel1@gmail.com
list_actions
Description
list_actions
lists the actions supported by geoflow.
Usage
list_actions(raw)
Arguments
raw |
Default value is |
Value
an object of class data.frame
(or list
of geoflow_action if raw = FALSE)
Author(s)
Emmanuel Blondel, emmanuel.blondel1@gmail.com
list_contact_handler_options
Description
list_contact_handler_options
lists the options available for a given contact handler supported by geoflow.
Usage
list_contact_handler_options(id, raw)
Arguments
id |
An contact handler identifier |
raw |
if raw list should be returned |
Value
an object of class data.frame
(or list
if raw is TRUE) listing the available handler options.
Author(s)
Emmanuel Blondel, emmanuel.blondel1@gmail.com
list_contact_handlers
Description
list_contact_handlers
lists the contact handlers supported by geoflow.
Usage
list_contact_handlers(raw)
Arguments
raw |
Default value is |
Value
an object of class data.frame
(or list
of geoflow_handler if raw = FALSE)
Author(s)
Emmanuel Blondel, emmanuel.blondel1@gmail.com
list_data_accessors
Description
list_data_accessors
lists the data accessors supported by geoflow.
Usage
list_data_accessors(raw)
Arguments
raw |
Default value is |
Value
an object of class data.frame
(or list
of geoflow_data_accessor if raw = FALSE)
Author(s)
Emmanuel Blondel, emmanuel.blondel1@gmail.com
list_dictionary_handler_options
Description
list_dictionary_handler_options
lists the options available for a given dictionary handler supported by geoflow.
Usage
list_dictionary_handler_options(id, raw)
Arguments
id |
An dictionary handler identifier |
raw |
if raw list should be returned |
Value
an object of class data.frame
(or list
if raw is TRUE) listing the available handler options.
Author(s)
Emmanuel Blondel, emmanuel.blondel1@gmail.com
list_dictionary_handlers
Description
list_dictionary_handlers
lists the dictionary handlers supported by geoflow.
Usage
list_dictionary_handlers(raw)
Arguments
raw |
Default value is |
Value
an object of class data.frame
(or list
of geoflow_handler if raw = FALSE)
Author(s)
Emmanuel Blondel, emmanuel.blondel1@gmail.com
list_entity_handler_options
Description
list_entity_handler_options
lists the options available for a given entity handler supported by geoflow.
Usage
list_entity_handler_options(id, raw)
Arguments
id |
An entity handler identifier |
raw |
if raw list should be returned |
Value
an object of class data.frame
(or list
if raw is TRUE) listing the available handler options.
Author(s)
Emmanuel Blondel, emmanuel.blondel1@gmail.com
list_entity_handlers
Description
list_entity_handlers
lists the entity handlers supported by geoflow.
Usage
list_entity_handlers(raw)
Arguments
raw |
Default value is |
Value
an object of class data.frame
(or list
of geoflow_handler if raw = FALSE)
Author(s)
Emmanuel Blondel, emmanuel.blondel1@gmail.com
list_registers
Description
list_registers
lists the registers supported by geoflow.
Usage
list_registers(raw)
Arguments
raw |
Default value is |
Value
an object of class data.frame
(or list
of geoflow_register if raw = FALSE)
Author(s)
Emmanuel Blondel, emmanuel.blondel1@gmail.com
list_software
Description
list_software
lists the software supported by geoflow.
Usage
list_software(raw)
Arguments
raw |
Default value is |
Value
an object of class data.frame
(or list
of geoflow_software if raw = FALSE)
Author(s)
Emmanuel Blondel, emmanuel.blondel1@gmail.com
list_software_parameters
Description
list_software_parameters
lists the parameters of a given software supported by geoflow.
Usage
list_software_parameters(software_type, raw)
Arguments
software_type |
A software type |
raw |
if raw list should be returned |
Value
an object of class data.frame
(or list
if raw is TRUE) listing the software parameters
Author(s)
Emmanuel Blondel, emmanuel.blondel1@gmail.com
list_software_properties
Description
list_software_properties
lists the properties of a given software supported by geoflow.
Usage
list_software_properties(software_type, raw)
Arguments
software_type |
A software type |
raw |
if raw list should be returned |
Value
an object of class data.frame
listing the software properties
Author(s)
Emmanuel Blondel, emmanuel.blondel1@gmail.com
list_vocabularies
Description
list_vocabularies
lists the vocabularies supported by geoflow.
Usage
list_vocabularies(raw)
Arguments
raw |
Default value is |
Value
an object of class data.frame
(or list
of geoflow_vocabulary if raw = FALSE)
loadMetadataHandler
Description
loadMetadataHandler
allows to load a metadata handler
Usage
loadMetadataHandler(config, element, type)
Arguments
config |
a geoflow configuration (as list). Only used to write logs, can be NULL. |
element |
a geoflow configuration metadata list element |
type |
either 'contacts', 'entities' or 'dictionnary' |
Value
an object of class geoflow_handler
Author(s)
Emmanuel Blondel, emmanuel.blondel1@gmail.com
load_workflow_environment
Description
load_workflow_environment
loads a workflow environment by evaluating variable expressions in the
form ${{variable}}
. If no variable expression pattern is identified in the string,
the function will return the original string.
Usage
load_workflow_environment(config, session)
Arguments
config |
object of class list |
session |
a shiny session object (optional) to run geoflow in a shiny context. |
Author(s)
Emmanuel Blondel, emmanuel.blondel1@gmail.com
posix_to_str
Description
posix_to_str
converts a POSIX
object to ISO string
Usage
posix_to_str(posix)
Arguments
posix |
a |
Author(s)
Emmanuel Blondel, emmanuel.blondel1@gmail.com
precompute_relationships
Description
precompute_relationships
Usage
precompute_relationships(data, parent_key, child_key, child_label)
Arguments
data |
data |
parent_key |
parent_key |
child_key |
child_key |
child_label |
child_label |
Value
a list of relationships
register_actions
Description
register_actions
registers default geoflow actions
Usage
register_actions()
Note
Function called on load by geoflow
Author(s)
Emmanuel Blondel, emmanuel.blondel1@gmail.com
register_contact_handlers
Description
register_contact_handlers
registers the default contact handlers for geoflow
Usage
register_contact_handlers()
Note
Internal function called on load by geoflow
Author(s)
Emmanuel Blondel, emmanuel.blondel1@gmail.com
register_data_accessors
Description
register_data_accessors
registers default geoflow data accessors
Usage
register_data_accessors()
Note
Function called on load by geoflow
Author(s)
Emmanuel Blondel, emmanuel.blondel1@gmail.com
register_dictionary_handlers
Description
register_dictionary_handlers
registers the default dictionary handlers for geoflow
Usage
register_dictionary_handlers()
Note
Internal function called on load by geoflow
Author(s)
Emmanuel Blondel, emmanuel.blondel1@gmail.com
register_entity_handlers
Description
register_entity_handlers
registers the default entity handlers for geoflow
Usage
register_entity_handlers()
Note
Internal function called on load by geoflow
Author(s)
Emmanuel Blondel, emmanuel.blondel1@gmail.com
register_registers
Description
register_registers
registers default geoflow registers
Usage
register_registers()
Note
Function called on load by geoflow
Author(s)
Emmanuel Blondel, emmanuel.blondel1@gmail.com
register_software
Description
register_software
registers default geoflow software
Usage
register_software()
Note
Function called on load by geoflow
Author(s)
Emmanuel Blondel, emmanuel.blondel1@gmail.com
register_vocabularies
Description
register_vocabularies
registers default geoflow vocabularies
Usage
register_vocabularies()
Note
Function called on load by geoflow
sanitize_date
Description
sanitize_date
sanitizes a date in geoflow
Usage
sanitize_date(date)
Arguments
date |
an object o class |
Author(s)
Emmanuel Blondel, emmanuel.blondel1@gmail.com
sanitize_str
Description
sanitize_str
sanitizes a string definition in geoflow
Usage
sanitize_str(str)
Arguments
str |
a string as object of class |
Author(s)
Emmanuel Blondel, emmanuel.blondel1@gmail.com
set_i18n
Description
Set default locales to a property values set
Usage
set_i18n(term_key, default, expr, ...)
Arguments
term_key |
term key |
default |
default |
expr |
expr |
... |
named values to be passed to expr |
set_line_separator
Description
set_line_separator
set the line separator to be used by geoflow
when extracting cell components for tabular data content handling.
Usage
set_line_separator(x)
Arguments
x |
a string as object of class |
Author(s)
Emmanuel Blondel, emmanuel.blondel1@gmail.com
set_locales_to
Description
Set locales to a property values set
Usage
set_locales_to(values,locales)
Arguments
values |
values |
locales |
locales |
str_to_posix
Description
str_to_posix
parses a string into a POSIX
object
Usage
str_to_posix(str)
Arguments
str |
a string as object of class |
Author(s)
Emmanuel Blondel, emmanuel.blondel1@gmail.com
unload_workflow_environment
Description
unload_workflow_environment
unloads a workflow environment, in the case environment
was provided by means of a dotenv file, and loaded using dotenv by geoflow. The function will
recover the session environment variables values (useful in case an environment variable was overwriten for
the workflow execution).
Usage
unload_workflow_environment(config)
Arguments
config |
object of class list |
Author(s)
Emmanuel Blondel, emmanuel.blondel1@gmail.com
writeWorkflowJobDataResource
Description
writeWorkflowJobDataResource
allows to transform datasource into different formats
Usage
writeWorkflowJobDataResource(entity, config, obj,
useFeatures, resourcename, useUploadSource,
createIndexes, overwrite, append, chunk.size,
type)
Arguments
entity |
a entity object as read by |
config |
a configuration object as read by |
obj |
a sf file |
useFeatures |
a boolean condition to define if features must be attach to obj file |
resourcename |
name of data input |
useUploadSource |
a boolean condition to define if resourcename is same as uploadSource information |
createIndexes |
a boolean condition for possibility to create indexes for each column |
overwrite |
a boolean condition for writing to DB. Default is |
append |
a boolean condition for appending to DB existing table. Default is |
chunk.size |
an object of class |
type |
format to convert into. Formats supported: shp, csv, gpkg, parquet, dbtable |
Author(s)
Alexandre Bennici, bennicialexandre@gmail.com