| 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
verboseverbose
debugdebug
Methods
Public methods
Method separator()
Util to separate chunks of logs of different natures
Usage
geoflowLogger$separator(char)
Arguments
charA character to be used, eg '='
Method INFO()
Prints an INFO logger message
Usage
geoflowLogger$INFO(txt, ...)
Arguments
txtlogger message
...values to be passed into txt. See sprintf
Method WARN()
Prints an WARN logger message
Usage
geoflowLogger$WARN(txt, ...)
Arguments
txtlogger message
...values to be passed into txt. See sprintf
Method ERROR()
Prints an ERROR logger message
Usage
geoflowLogger$ERROR(txt, ...)
Arguments
txtlogger message
...values to be passed into txt. See sprintf
Method DEBUG()
Prints an DEBUG logger message
Usage
geoflowLogger$DEBUG(txt, ...)
Arguments
txtlogger 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
verboseTRUEif the logger is enabled,FALSEotherwise. Default isTRUEdebugTRUEif the debugger is enabled,FALSEotherwise. Default isFALSE
Method clone()
The objects of this class are cloneable with this method.
Usage
geoflowLogger$clone(deep = FALSE)
Arguments
deepWhether 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
idaction ID
enabledenabled
fundersfunders
authorsauthors
maintainermaintainer
scopeaction scope
typestypes of action
defthe action definition
targetthe action target
target_dirthe action target directory
packageslist of packages required to perform the action
pid_generatora name referencing the PID generator (if existing)
pid_typestypes of PIDs to generate
generic_uploaderwhether the action is a generic uploader or not.
funa function for the action
scripta script for the action
optionsaction options
available_optionsa list of available options for the actions
statusstatus
notesnotes
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
yamla yaml file
idaction id
enabledenabled
fundersfunders
authorsauthors
maintainermaintainer
scopeaction scope "global" or "local"
typesaction types
defaction definition
targetthe action target, e.g. "entity"
target_dirthe action target directory
packageslist of packages required to perform the action
pid_generatora name referencing the PID generator (if existing)
pid_typestypes of PIDs to generate by the action
generic_uploaderwhether the action is a generic uploader or not.
funaction function
scriptaction script
optionsaction options
available_optionsavailable options for the action
statusstatus of the action (experimental, stable, deprecated, superseded)
notesnotes
Method fromYAML()
Reads action properties from YAML file
Usage
geoflow_action$fromYAML(file)
Arguments
filefile
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
entityentity
configconfig
Method getOption()
Get action option value
Usage
geoflow_action$getOption(option)
Arguments
optionoption 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
configa geoflow configuration
entitiesone 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
deepWhether 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
idcontact identifier
firstNamecontact first name
lastNamecontact lastname
organizationNamecontact organization
positionNamecontact position
rolecontact role
voicecontact phone number
facsimilecontact facsimile
emailcontact email
websiteUrlcontact website URL
websiteNamecontact website name
postalAddresscontact postal address
postalCodecontact postal code
citycontact city
countrycontact country
identifierscontact 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
modemode
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
fieldfield 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
keyan identifier key. Default is "id"
idthe identifier
Method setId()
Sets an "id" identifier
Usage
geoflow_contact$setId(id)
Arguments
idthe identifier
Method setFirstName()
Sets contact first name
Usage
geoflow_contact$setFirstName(firstName)
Arguments
firstNamecontact first name
Method setLastName()
Sets contact last name
Usage
geoflow_contact$setLastName(lastName)
Arguments
lastNamecontact last name
Method setOrganizationName()
Sets contact organization name
Usage
geoflow_contact$setOrganizationName(organizationName)
Arguments
organizationNamecontact organization name
Method setPositionName()
Sets contact position name
Usage
geoflow_contact$setPositionName(positionName)
Arguments
positionNamecontact position name
Method setRole()
Sets contact role
Usage
geoflow_contact$setRole(role)
Arguments
rolethe contact role
Method setVoice()
Sets contact voice (phone number)
Usage
geoflow_contact$setVoice(voice)
Arguments
voicecontact voice (phone number)
Method setFacsimile()
Sets contact facsimile
Usage
geoflow_contact$setFacsimile(facsimile)
Arguments
facsimilecontact facsimile
Method setEmail()
Sets contact email
Usage
geoflow_contact$setEmail(email)
Arguments
emailcontact email
Method setWebsiteUrl()
Sets contact website URL
Usage
geoflow_contact$setWebsiteUrl(websiteUrl)
Arguments
websiteUrlcontact website URL
Method setWebsiteName()
Sets contact website name
Usage
geoflow_contact$setWebsiteName(websiteName)
Arguments
websiteNamecontact website name
Method setPostalAddress()
Sets the contact postal address
Usage
geoflow_contact$setPostalAddress(postalAddress)
Arguments
postalAddresscontact postal address
Method setPostalCode()
Sets the contact postal code
Usage
geoflow_contact$setPostalCode(postalCode)
Arguments
postalCodecontact postalCode
Method setCity()
Sets the contact city
Usage
geoflow_contact$setCity(city)
Arguments
citycontact city
Method setCountry()
Sets the contact country
Usage
geoflow_contact$setCountry(country)
Arguments
countrycontact 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_separatora 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
deepWhether 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
diran object of class
charactergiving a data directorydatalist of object of class geoflow_data in case we point to a data directory
accessaccessor key for accessing sources. Default is 'default'
sourcesource
sourceSqlsourceSql
sourceTypesource type
sourceZipcreate a zip for the sources (DEPRECATED with #344)
sourceZipOnlycreate a zip only for the sources, remove source files (DEPRECATED with #344)
sqlsql
uploadupload
uploadSourceupload source name
uploadTypeupload type
cqlfilterCQL filter for filtering data
workspacesworkspaces
storestore
layernamelayer name
layertitlelayer title
layerdesclayer description
layerurilayer URI layeruri layer URI
stylesstyles
styleUploadupload styles
dimensionsdimensions
cloud_patha relative path in a cloud storage (e.g., OCS)
spatialRepresentationTypespatial representation type eg. "vector", "grid"
ogc_dimensionsOGC dimensions
featuresfeatures
parametersparameters
geometryFieldgeometry field
geometryTypegeometry type
featureTypefeature type name
featureTypeObjfeature type object
attributesattributes
variablesvariables
coveragescoverages
envelopeCompositionTypeenvelope composition type (for coverages)
selectedResolutionselected resolution (for coverages)
selectedResolutionIndexselected resolution index (for coverages)
bandslist of bands
actionslocal actions
runwhether 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
strcharacter string to initialize from, using key-based syntax
configa 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
accessa 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
sourceTypesource type
Method getAllowedGeomPossibleNames()
Get allowed Geometry possible names for coercing data to sf objects
Usage
geoflow_data$getAllowedGeomPossibleNames()
Arguments
listof geom possible names
Method getAllowedXPossibleNames()
Get allowed X possible names for coercing data to sf objects
Usage
geoflow_data$getAllowedXPossibleNames()
Arguments
listof X possible names
Method getAllowedYPossibleNames()
Get allowed Y possible names for coercing data to sf objects
Usage
geoflow_data$getAllowedYPossibleNames()
Arguments
listof Y possible names
Method addSource()
Add source, object of class "character" (single source)
Usage
geoflow_data$addSource(source)
Arguments
sourcesource
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
sourcesource
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
sourceSqla 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
sourceZipzip 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
sourceZipOnlyzip 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
uploadSourceupload 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
uploadTypeupload 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
uploadupload
Method setStyleUpload()
Set whether styles in source data should be uploaded, by default TRUE
Usage
geoflow_data$setStyleUpload(styleUpload)
Arguments
styleUploadstyle upload
Method setSql()
Sets SQL for publication purpose.
Usage
geoflow_data$setSql(sql)
Arguments
sqlsql
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
cqlfilterCQL 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_typesotware type where the workspace is identifier
workspaceworkspace 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
storestore
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
datastoredatastore
Method setLayername()
Sets a layername, object of class character. Used as target layer name for Geoserver action.
Usage
geoflow_data$setLayername(layername)
Arguments
layernamelayername
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
layertitlelayertitle
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
layerdesclayerdesc
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
layerurilayeruri
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
stylestyle
Method addDimension()
Adds a dimension
Usage
geoflow_data$addDimension(name, dimension)
Arguments
namedimension name
dimensionobject of class geoflow_dimension
Method setCloudPath()
Set cloud path
Usage
geoflow_data$setCloudPath(cloud_path)
Arguments
cloud_pathcloud 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
spatialRepresentationTypespatial representation type
Method setOgcDimensions()
Set OGC dimensions
Usage
geoflow_data$setOgcDimensions(name, values)
Arguments
namedimension name
valuesdimension values
Method setFeatures()
Set data features
Usage
geoflow_data$setFeatures(features)
Arguments
featuresfeatures
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
namename
fieldnamefieldname
regexpregexp
defaultvaluedefault value
Method setGeometryField()
Sets the name of the geometry field in the target GeoServer SQL view parametrized layer
Usage
geoflow_data$setGeometryField(geometryField)
Arguments
geometryFieldgeometry field
Method setGeometryType()
Sets the name of the geometry field in the target GeoServer SQL view parametrized layer
Usage
geoflow_data$setGeometryType(geometryType)
Arguments
geometryTypegeometry type
Method setFeatureType()
Sets a feature type (ID) to link data with a dictionnary
Usage
geoflow_data$setFeatureType(featureType)
Arguments
featureTypefeature type name
Method setFeatureTypeObj()
Sets a feature type object
Usage
geoflow_data$setFeatureTypeObj(featureTypeObj)
Arguments
featureTypeObjfeature 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
attributesattributes
Method setVariables()
Set variables, as simple way to describe variables without binding to a proper geoflow_dictionary.
Usage
geoflow_data$setVariables(variables)
Arguments
variablesvariables
Method setCoverages()
Set coverages
Usage
geoflow_data$setCoverages(coverages)
Arguments
coveragescoverages
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
envelopeCompositionTypeenvelope composition type, either 'UNION' or 'INTERSECTION'
Method setSelectedResolution()
Set selected resolution
Usage
geoflow_data$setSelectedResolution(selectedResolution)
Arguments
selectedResolutionselected resolution
Method setSelectedResolutionIndex()
Set selected resolution index
Usage
geoflow_data$setSelectedResolutionIndex(selectedResolutionIndex)
Arguments
selectedResolutionIndexselected resolution index
Method setBand()
Set band
Usage
geoflow_data$setBand(name, index)
Arguments
nameband name
indexband index
Method addAction()
Adds a local action
Usage
geoflow_data$addAction(action)
Arguments
actionobject 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
configgeoflow config object
Method clone()
The objects of this class are cloneable with this method.
Usage
geoflow_data$clone(deep = FALSE)
Arguments
deepWhether 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
idaccessor ID
software_typeaccessor software type
definitionaccessor definition
packageslist of packages required for the accessor
downloada download function handler
lista 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
idaccessor ID
software_typeaccessor software type
definitionaccessor definition
packageslist of packages required for the accessor
downloaddownload function handler
listlist function handler
Method setId()
Sets accessor ID
Usage
geoflow_data_accessor$setId(id)
Arguments
idaccessor ID to set
Method setSoftwareType()
Sets software type
Usage
geoflow_data_accessor$setSoftwareType(software_type)
Arguments
software_typesoftware type
Method setPackages()
Sets list of packages required for the accessor
Usage
geoflow_data_accessor$setPackages(packages)
Arguments
packagesa vecto of package names
Method setDefinition()
Sets accessor definition
Usage
geoflow_data_accessor$setDefinition(definition)
Arguments
definitionaccessor 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
downloadan object of class
function
Method setList()
Set list handler (a function with no arguments)
Usage
geoflow_data_accessor$setList(list)
Arguments
listan 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
deepWhether 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
keydate key. Default is "creation"
valuedate 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
keydate key
Method setValue()
Sets the date value. The method will check validity of date value.
Usage
geoflow_date$setValue(value)
Arguments
valuedate value
Method clone()
The objects of this class are cloneable with this method.
Usage
geoflow_date$clone(deep = FALSE)
Arguments
deepWhether 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
sourcedictionary source, object of class
data.framefeaturetypeslist of objects of class
geoflow_featuretyperegisterslist 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
sourceobject 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
idid
Returns
an object of class geoflow_featuretype, otherwise NULL
Method addFeatureType()
Adds a feature type to the dictionnary
Usage
geoflow_dictionary$addFeatureType(ft)
Arguments
ftobject 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
idid
Returns
an object of class geoflow_register, otherwise NULL
Method addRegister()
Adds a register to the dictionnary
Usage
geoflow_dictionary$addRegister(register)
Arguments
registerobject of class geoflow_register
Method clone()
The objects of this class are cloneable with this method.
Usage
geoflow_dictionary$clone(deep = FALSE)
Arguments
deepWhether 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
longNamedimension longName
resolutiondimension resolution
sizedimension size
valuesdimension values
minValuedimension min value
maxValuedimension 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
longNamedimension long name
Method setResolution()
Sets the resolution
Usage
geoflow_dimension$setResolution(uom, value)
Arguments
uomunit of measure
valueresolution value
Method setSize()
Sets the dimension size
Usage
geoflow_dimension$setSize(size)
Arguments
sizedimension size
Method setValues()
Sets dimension values
Usage
geoflow_dimension$setValues(values)
Arguments
valuesdimension values
Method setMinValue()
Sets dimension min value
Usage
geoflow_dimension$setMinValue(minValue)
Arguments
minValuemin value
Method setMaxValue()
Sets dimension max value
Usage
geoflow_dimension$setMaxValue(maxValue)
Arguments
maxValuemax value
Method clone()
The objects of this class are cloneable with this method.
Usage
geoflow_dimension$clone(deep = FALSE)
Arguments
deepWhether 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
identifiersentity identifiers
datesentity dates
languageentity language
typesentity types
titlesentity titles
descriptionsentity descriptions
subjectsentity subjects
formatsentity formats
contactsentity contacts
relationsentity relations
rightsentity rights
spatial_extentspatial extent
spatial_bboxspatial bounding box
geo_bboxgeographic bounding box (in EPSG:4326 / WGS 84)
sridentity srid
temporal_extententity temporal extent
provenanceentity provenance
dataentity data
statusentity status
resourcesentity resources
localesentity 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
modemode
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
fieldfield 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
valuesvalues
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
keyidentifier key. Default is "id"
ididentifier value
Method addDate()
Adds a date
Usage
geoflow_entity$addDate(dateType, date)
Arguments
dateTypedate type, object of class
characterdatedate, object of class
DateorPOSIXt
Method setLanguage()
Set the language used for the entity description (metadata). Default is "eng".
Usage
geoflow_entity$setLanguage(language)
Arguments
languagelanguage
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
objobject
resourcenameresource name
typetype 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
keytype key. Default is "generic"
typetype value
Method setTitle()
Sets title
Usage
geoflow_entity$setTitle(key = "title", title)
Arguments
keytitle key. Default is "title"
titletitle value
Method setDescription()
Sets description
Usage
geoflow_entity$setDescription(key, description)
Arguments
keydescription key. Default is "abstract"
descriptiondescription value
Method addSubject()
Adds a subject
Usage
geoflow_entity$addSubject(subject)
Arguments
subjectobject of class geoflow_subject
Method addFormat()
Adds a format
Usage
geoflow_entity$addFormat(format)
Arguments
formatobject of class geoflow_format
Method addContact()
Adds a contact
Usage
geoflow_entity$addContact(contact)
Arguments
contactobject of class geoflow_contact
Method addRelation()
Adds a relation
Usage
geoflow_entity$addRelation(relation)
Arguments
relationobject of class geoflow_relation
Method addRight()
Adds a right
Usage
geoflow_entity$addRight(right)
Arguments
rightobject 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
wkta WKT string
bboxa bbox
dataan object of class sf
crscrs
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
wkta WKT string
bboxa bbox
dataan object of class sf
crscrs
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
sridsrid
Method setTemporalExtent()
Sets temporal extent. The temporal extent can be a year, date instant or interval
Usage
geoflow_entity$setTemporalExtent(str)
Arguments
strobject of class
numeric(case of year) orcharacter
Method setProvenance()
Sets entity provenance
Usage
geoflow_entity$setProvenance(provenance)
Arguments
provenanceobject of class geoflow_provenance
Method setData()
Sets entity data object
Usage
geoflow_entity$setData(data)
Arguments
dataobject of class geoflow_data
Method addData()
Adds entity data object
Usage
geoflow_entity$addData(data)
Arguments
dataobject 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
configgeoflow configuration object
jobdirrelative 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
configgeoflow config object
jobdirrelative 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
configgeoflow config object
jobdirrelative 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
configgeoflow 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
configgeoflow config object
jobdirrelative 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
configgeoflow config object
jobdirrelative 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
configgeoflow 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
configgeoflow config object
jobdirrelative 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
configgeoflow config object
jobdirrelative 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
configgeoflow config object
Method enrichWithIdentifiers()
Function that will enrich entity with identifiers needed across multiple actions
Usage
geoflow_entity$enrichWithIdentifiers(config)
Arguments
configgeoflow 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
configgeoflow 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
configgeoflow config object
exclusionsexclusions
Method enrichWithVocabularies()
Enrichs the entity with vocabularies
Usage
geoflow_entity$enrichWithVocabularies(config)
Arguments
configgeoflow config object
Method enrichWithFormats()
Enrichs the entity with formats
Usage
geoflow_entity$enrichWithFormats(config)
Arguments
configgeoflow config object
Method enrichWithMetadata()
Enrichs the entity properties with entity metadata from other properties.
Usage
geoflow_entity$enrichWithMetadata(config)
Arguments
configgeoflow config object
Method getContacts()
Get the entity contacts
Usage
geoflow_entity$getContacts(pretty = FALSE)
Arguments
prettyto 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
prettyto prettify the output as
data.framekeywordsto 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
prettyto 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
systema system name eg. "zenodo", "dataverse"
statusa status for entity resource "draft" or "published"
Method getJobResource()
Get an entity job resource path
Usage
geoflow_entity$getJobResource(config, resourceType, filename)
Arguments
configa geoflow config object
resourceTypetype of resource, matching a sub-directory within the entity job directory
filenamefilename
Returns
the file path of the job resource
Method getJobDataResource()
Get an entity job data resource path
Usage
geoflow_entity$getJobDataResource(config, filename)
Arguments
configa geoflow config object
filenamefilename
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
configa geoflow config object
filenamefilename
Returns
the file path of the job metadata resource
Method addResource()
Adds a resource to the entity
Usage
geoflow_entity$addResource(id, resource)
Arguments
idid of the resource
resourceresource
Method asDataFrame()
Methods to export the geoflow_entity as data.frame using key-based syntax.
Usage
geoflow_entity$asDataFrame(line_separator = NULL)
Arguments
line_separatora 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
deepWhether 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
idfeature member ID
typefeature member type
codefeature member code
namefeature member name
deffeature member definition
defSourcefeature member definition source
minOccursfeature member minOccurs
maxOccursfeature member maxOccurs
uomfeature member unit of measure (uom)
registerIdfeature member register ID
registerScriptfeature 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
typetype
codecode
namename
defdefinition
defSourcedefinition source. Default is
NULLminOccursminOccurs. Default is
NULLmaxOccursmaxOccurs. Default is
NULLuomunit of measure. Default is
NULLregisterIdID of the register associated to the feature type. Default is
NULLregisterScriptsource 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
deepWhether 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
idfeature type ID
membersfeature type members
Methods
Public methods
Method new()
Initializes a geoflow_featuretype
Usage
geoflow_featuretype$new(id = NULL)
Arguments
idid
Method addMember()
Adds a member
Usage
geoflow_featuretype$addMember(fm)
Arguments
fmobject 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
idid
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
deepWhether 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
keyformat key
namekey name
urikey URI
descriptionkey description
Methods
Public methods
Method new()
Initializes a geoflow_format
Usage
geoflow_format$new(str = NULL)
Arguments
strcharacter string to initialize object using key-based syntax
Method setKey()
Sets format key
Usage
geoflow_format$setKey(key)
Arguments
keykey
Method setName()
Sets format name
Usage
geoflow_format$setName(name)
Arguments
namename
Method setUri()
Sets format URI
Usage
geoflow_format$setUri(uri)
Arguments
uriURI
Method setDescription()
Sets format description
Usage
geoflow_format$setDescription(description)
Arguments
descriptiondescription
Method clone()
The objects of this class are cloneable with this method.
Usage
geoflow_format$clone(deep = FALSE)
Arguments
deepWhether 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
idhandler id
typehandler type (entity,contact,dictionary)
fundersfunders
authorsauthors
maintainermaintainer
defhandler definition
packageshandler packages
funhandler function
scripthandler script
optionsoptions
available_optionsavailable options
statusstatus
notesnotes
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
yamla YAML file
idid
typetype
fundersfunders
authorsauthors
maintainermaintainer
defdef
packageslist of packages required for the handler
funthe handler
functionhaving 2 argumentsconfigandsourcescripta handler script
optionsaction options
available_optionsavailable options for the action
statusstatus (experimental/stable/deprecated/superseded)
notesnotes
Method fromYAML()
Reads handler properties from YAML file
Usage
geoflow_handler$fromYAML(file)
Arguments
filefile
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
optionoption 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
deepWhether 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
namekeyword
urikeyword uri
Methods
Public methods
Method new()
Initializes a geoflow_keyword
Usage
geoflow_keyword$new(name = NULL, uri = NULL)
Arguments
namekeyword name
urikeyword URI
Method setName()
Sets keyword
Usage
geoflow_keyword$setName(name)
Arguments
namekeyword name
Method setUri()
Sets keyword URI
Usage
geoflow_keyword$setUri(uri)
Arguments
urikeyword URI
Method clone()
The objects of this class are cloneable with this method.
Usage
geoflow_keyword$clone(deep = FALSE)
Arguments
deepWhether 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
keythe KVP key
valuesthe KVP values
localea 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
keykey
valuesvalues
localelocale
Method setKey()
Set KVP key
Usage
geoflow_kvp$setKey(key)
Arguments
keythe key
Method setValues()
Set KVP values
Usage
geoflow_kvp$setValues(values)
Arguments
valuesthe values
Method setLocale()
Set KVP locale
Usage
geoflow_kvp$setLocale(locale)
Arguments
localelocale
Method clone()
The objects of this class are cloneable with this method.
Usage
geoflow_kvp$clone(deep = FALSE)
Arguments
deepWhether 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
rationaleprocess rationale
descriptionprocess description
processorsobject 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
rationalethe process rationale
Method setDescription()
Set process description
Usage
geoflow_process$setDescription(description)
Arguments
descriptionSet 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
deepWhether 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
idprofile id
nameprofile name
projectprofile project
organizationprofile organization
logosprofile logo(s)
modemode of execution (Default is "raw")
optionsglobal 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
idid
Method setName()
Sets profile name
Usage
geoflow_profile$setName(name)
Arguments
namename
Method setProject()
Sets profile project
Usage
geoflow_profile$setProject(project)
Arguments
projectproject
Method setOrganization()
Sets profile organization
Usage
geoflow_profile$setOrganization(organization)
Arguments
organizationorganization
Method addLogo()
Adds a profile organization
Usage
geoflow_profile$addLogo(logo)
Arguments
logologo
Method setMode()
Sets profile mode
Usage
geoflow_profile$setMode(mode)
Arguments
modeprofile mode
Method setOption()
Set global config option
Usage
geoflow_profile$setOption(name, value)
Arguments
nameoption name
valueoption value
Method clone()
The objects of this class are cloneable with this method.
Usage
geoflow_profile$clone(deep = FALSE)
Arguments
deepWhether 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
statementprovenance statement
processeslist of processes, as objects of class geoflow_process
Methods
Public methods
Method new()
Initializes a geoflow_provenance
Usage
geoflow_provenance$new(str = NULL)
Arguments
strcharacter string to initialize a provenance using key-based syntax
Method setStatement()
Set process statement
Usage
geoflow_provenance$setStatement(statement)
Arguments
statementprocess 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
deepWhether 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
idregister id
defregister def
funregister function
dataregister data
Methods
Public methods
Method new()
Initializes an object of class geoflow_register
Usage
geoflow_register$new(id, def, fun)
Arguments
idid
defdef
funfun
Method fetch()
Fetchs the register data using the register function
Usage
geoflow_register$fetch(config = NULL)
Arguments
configa 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
dataa register data structure
Method clone()
The objects of this class are cloneable with this method.
Usage
geoflow_register$clone(deep = FALSE)
Arguments
deepWhether 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
keyrelation key
linkrelation link
mimeTyperelation mime
namerelation name
descriptionrelation name
Methods
Public methods
Method new()
Initializes an object of class geoflow_relation
Usage
geoflow_relation$new(str = NULL)
Arguments
strcharacter string to initialize from using key-based syntax
Method setKey()
Set key
Usage
geoflow_relation$setKey(key)
Arguments
keykey
Method setLink()
Set link
Usage
geoflow_relation$setLink(link)
Arguments
linklink
Method setMimeType()
Set mime type
Usage
geoflow_relation$setMimeType(mimeType)
Arguments
mimeTypemime type
Method setName()
Set name
Usage
geoflow_relation$setName(name)
Arguments
namename
Method setDescription()
Set description
Usage
geoflow_relation$setDescription(description)
Arguments
descriptiondescription
Method clone()
The objects of this class are cloneable with this method.
Usage
geoflow_relation$clone(deep = FALSE)
Arguments
deepWhether 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
keyright key
valuesright values
Methods
Public methods
Method new()
Initializes an object of class geoflow_right
Usage
geoflow_right$new(str = NULL, kvp = NULL)
Arguments
strcharacter string to initialize from using key-based syntax
kvpan object of class geoflow_kvp
Method setKey()
Sets key
Usage
geoflow_right$setKey(key)
Arguments
keykey
Method setValues()
Sets values
Usage
geoflow_right$setValues(values)
Arguments
valuesvalues
Method clone()
The objects of this class are cloneable with this method.
Usage
geoflow_right$clone(deep = FALSE)
Arguments
deepWhether 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
rdfrdf
rdf_datardf_data
endpointendpoint
Methods
Public methods
Inherited methods
Method new()
Initializes a vocabulary
Usage
geoflow_skos_vocabulary$new(id, def, uri, endpoint = NULL, file = NULL)
Arguments
idid
defdef
uriuri
endpointA Sparql endpoint
filea RDF file
Method query()
query
Usage
geoflow_skos_vocabulary$query(str, graphUri = NULL, mimetype = "text/csv")
Arguments
strstr
graphUrigraphUri
mimetypemimetype
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
mimetypemimetype
count_sub_collectionscount_sub_collections. Default is TRUE
count_conceptscount_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
langlang
methodmethod used to build the hierarchy, either "SPARQL" or "R"
out_formatoutput 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
langlang
mimetypemimetype
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
uriuri
graphUrigraphUri
mimetypemimetype
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
termterm
graphUrigraphUri
mimetypemimetype
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
deepWhether 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
idsoftware id
typesoftware I/O type ("input" or "output")
software_typetype of software
definitiondefinition
packageslist of packages required for the software functioning
handlersoftware handler function
argumentssoftware arguments
parameterssoftware parameters
attributessoftware attributes
propertiessoftware properties
actionsactions 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
idid
typetype "input" or "output"
software_typesoftware type
packageslist of packages required for the software functioning
definitionsoftware definition
handlersoftware handler
functionargumentssoftware handler arguments
attributessoftware attributes
actionssoftware actions
Method setId()
Sets software ID
Usage
geoflow_software$setId(id)
Arguments
idid
Method setType()
Set type. Either "input" or "output"
Usage
geoflow_software$setType(type)
Arguments
typesoftware I/O type
Method setSoftwareType()
Set software type
Usage
geoflow_software$setSoftwareType(software_type)
Arguments
software_typesoftware type
Method setPackages()
Set software required packages
Usage
geoflow_software$setPackages(packages)
Arguments
packageslist of package names
Method setDefinition()
Set software definition
Usage
geoflow_software$setDefinition(definition)
Arguments
definitionsoftware definition
Method setAttributes()
Set attributes. Function to call when creating an instance of geoflow_software
Usage
geoflow_software$setAttributes(attributes)
Arguments
attributesnamed 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
propsnamed list of properties
Method setArguments()
Set software arguments. Function to call when creating an instance of geoflow_software
Usage
geoflow_software$setArguments(arguments)
Arguments
argumentslist 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
paramsnamed list of parameters
Method setActions()
Set software actions
Usage
geoflow_software$setActions(actions)
Arguments
actionsa list of
geoflow_action
Method setHandler()
Set the software handler function
Usage
geoflow_software$setHandler(handler)
Arguments
handlerobject 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
deepWhether 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
keysubject key
namesubject name
urisubject URI
datessubject date(s)
keywordssubject keywords
Methods
Public methods
Method new()
Initializes an object of class geoflow_subject
Usage
geoflow_subject$new(str = NULL, kvp = NULL)
Arguments
stra character string to initialize from, using key-based syntax
kvpan object of class geoflow_kvp
Method setKey()
Sets subject key
Usage
geoflow_subject$setKey(key)
Arguments
keykey
Method setName()
Sets subject name
Usage
geoflow_subject$setName(name)
Arguments
namename
Method setUri()
Sets subject URI
Usage
geoflow_subject$setUri(uri)
Arguments
uriuri
Method setDate()
Sets date
Usage
geoflow_subject$setDate(dateType, date)
Arguments
dateTypetype of date
datedate
Method addKeyword()
Adds a keyword
Usage
geoflow_subject$addKeyword(keyword, uri = NULL)
Arguments
keywordkeyword
urikeyword URI. Default is
NULL
Method getKeywords()
Get keywords associated with the subject
Usage
geoflow_subject$getKeywords(pretty = FALSE)
Arguments
prettywhether 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
deepWhether 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
sourceobject of class
data.framehandling 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
modelthe data model name, eg. "entity", "contact"
valid_columnsa vector of valid columns for the data model
sourcean object of class
data.framehandling 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
rawindicates whether to return a
listofgeoflow_validator_cellobjects or adata.framedebugdebug 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
deepWhether to make a deep clone.
geoflow_validator_cell
Description
geoflow_validator_cell
geoflow_validator_cell
Public fields
irow index (internal index to be used for graphical geoflow validation handlers)
jcol 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_authorizedif validator cell authorizes NAs or empty strings. Default is
FALSEuse_key_syntaxif validator cell uses key-based syntax. Default is
TRUEkey_requiredif validator cell has a key required. Default is
TRUEvalid_keysvalid keys for the validator cell. Default is an empty list
default_keydefault_key to use if key is omitted. Default is
NULLerror_if_invalid_keyraise an error if key is invalid. Default is
TRUEexclude_http_keysif 'http' keys have to be excluded from validation checks. Default is
TRUEmultipleif cell may contain multiple values. Deprecated
irow index (internal index to be used for graphical geoflow validation handlers)
jcol index (internal index to be used for graphical geoflow validation handlers)
strcharacter 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
deepWhether 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
irow index (internal index to be used for graphical geoflow validation handlers)
jcol index (internal index to be used for graphical geoflow validation handlers)
strstring 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
deepWhether 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
sourcean object of class
data.framehandling the contacts
Method clone()
The objects of this class are cloneable with this method.
Usage
geoflow_validator_contacts$clone(deep = FALSE)
Arguments
deepWhether 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
sourcean object of class
data.framehandling the entities
Method clone()
The objects of this class are cloneable with this method.
Usage
geoflow_validator_entities$clone(deep = FALSE)
Arguments
deepWhether 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
irow index (internal index to be used for graphical geoflow validation handlers)
jcol index (internal index to be used for graphical geoflow validation handlers)
strstring to validate
Method clone()
The objects of this class are cloneable with this method.
Usage
geoflow_validator_entity_Creator$clone(deep = FALSE)
Arguments
deepWhether 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
irow index (internal index to be used for graphical geoflow validation handlers)
jcol index (internal index to be used for graphical geoflow validation handlers)
strstring to validate
Method clone()
The objects of this class are cloneable with this method.
Usage
geoflow_validator_entity_Data$clone(deep = FALSE)
Arguments
deepWhether 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
irow index (internal index to be used for graphical geoflow validation handlers)
jcol index (internal index to be used for graphical geoflow validation handlers)
strstring 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
deepWhether 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
irow index (internal index to be used for graphical geoflow validation handlers)
jcol index (internal index to be used for graphical geoflow validation handlers)
strstring to validate
Method clone()
The objects of this class are cloneable with this method.
Usage
geoflow_validator_entity_Description$clone(deep = FALSE)
Arguments
deepWhether 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
irow index (internal index to be used for graphical geoflow validation handlers)
jcol index (internal index to be used for graphical geoflow validation handlers)
strstring to validate
Method clone()
The objects of this class are cloneable with this method.
Usage
geoflow_validator_entity_Format$clone(deep = FALSE)
Arguments
deepWhether 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
irow index (internal index to be used for graphical geoflow validation handlers)
jcol index (internal index to be used for graphical geoflow validation handlers)
strstring 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
deepWhether 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
irow index (internal index to be used for graphical geoflow validation handlers)
jcol index (internal index to be used for graphical geoflow validation handlers)
strstring 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
deepWhether 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
irow index (internal index to be used for graphical geoflow validation handlers)
jcol index (internal index to be used for graphical geoflow validation handlers)
strstring 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
deepWhether 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
irow index (internal index to be used for graphical geoflow validation handlers)
jcol index (internal index to be used for graphical geoflow validation handlers)
strstring to validate
Method clone()
The objects of this class are cloneable with this method.
Usage
geoflow_validator_entity_Relation$clone(deep = FALSE)
Arguments
deepWhether 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
irow index (internal index to be used for graphical geoflow validation handlers)
jcol index (internal index to be used for graphical geoflow validation handlers)
strstring to validate
Method clone()
The objects of this class are cloneable with this method.
Usage
geoflow_validator_entity_Rights$clone(deep = FALSE)
Arguments
deepWhether 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
irow index (internal index to be used for graphical geoflow validation handlers)
jcol index (internal index to be used for graphical geoflow validation handlers)
strstring 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
deepWhether 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
irow index (internal index to be used for graphical geoflow validation handlers)
jcol index (internal index to be used for graphical geoflow validation handlers)
strstring 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
deepWhether 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
irow index (internal index to be used for graphical geoflow validation handlers)
jcol index (internal index to be used for graphical geoflow validation handlers)
strstring 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
deepWhether 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
irow index (internal index to be used for graphical geoflow validation handlers)
jcol index (internal index to be used for graphical geoflow validation handlers)
strstring to validate
Method clone()
The objects of this class are cloneable with this method.
Usage
geoflow_validator_entity_Title$clone(deep = FALSE)
Arguments
deepWhether 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
irow index (internal index to be used for graphical geoflow validation handlers)
jcol index (internal index to be used for graphical geoflow validation handlers)
strstring to validate
Method clone()
The objects of this class are cloneable with this method.
Usage
geoflow_validator_entity_Type$clone(deep = FALSE)
Arguments
deepWhether 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
idid
defdef
uriuri
software_typesoftware_type
softwaresoftware
Methods
Public methods
Method new()
Initializes a vocabulary
Usage
geoflow_vocabulary$new(id, def, uri, software_type)
Arguments
idid
defdef
uriuri
software_typesoftware type
Method setSoftware()
Set software
Usage
geoflow_vocabulary$setSoftware(software)
Arguments
softwaresoftware
Method clone()
The objects of this class are cloneable with this method.
Usage
geoflow_vocabulary$clone(deep = FALSE)
Arguments
deepWhether 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