ISODataQuality

ISODataQuality

Format

R6Class object.

Value

Object of R6Class for modelling an ISO DataQuality

References

ISO 19115:2003 - Geographic information – Metadata

Author

Emmanuel Blondel <emmanuel.blondel1@gmail.com>

Super classes

geometa::geometaLogger -> geometa::ISOAbstractObject -> ISODataQuality

Public fields

scope

scope

report

list of reports

lineage

lineage

Methods

Inherited methods


Method new()

Initializes object

Usage

ISODataQuality$new(xml = NULL)

Arguments

xml

object of class XMLInternalNode-class


Method setScope()

Set scope

Usage

ISODataQuality$setScope(scope)

Arguments

scope

scope


Method addReport()

Adds report

Usage

ISODataQuality$addReport(report)

Arguments

report

report, object of class ISODomainConsistency

Returns

TRUE if added, FALSE otherwise


Method setLineage()

Set lineage

Usage

ISODataQuality$setLineage(lineage)

Arguments

lineage

lineage, object of class ISOLineage


Method clone()

The objects of this class are cloneable with this method.

Usage

ISODataQuality$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.

Examples

  #create dataQuality object with a 'dataset' scope
  dq <- ISODataQuality$new()
  scope <- ISODataQualityScope$new()
  scope$setLevel("dataset")
  dq$setScope(scope)
  
  #add data quality reports...
  
  #add a report the data quality
  dc <- ISODomainConsistency$new()
  result <- ISOConformanceResult$new()
  spec <- ISOCitation$new()
  spec$setTitle("Data Quality check")
  spec$addAlternateTitle("This is is some data quality check report")
#> [1] TRUE
  d <- ISODate$new()
  d$setDate(ISOdate(2015, 1, 1, 1))
  d$setDateType("publication")
  spec$addDate(d)
  result$setSpecification(spec)
  result$setExplanation("some explanation about the conformance")
  result$setPass(TRUE)
  dc$addResult(result)
#> [1] TRUE
  dq$addReport(dc)
  
  #add INSPIRE reports?
  #INSPIRE - interoperability of spatial data sets and services
  dc_inspire1 <- ISODomainConsistency$new()
  cr_inspire1 <- ISOConformanceResult$new()
  cr_inspire_spec1 <- ISOCitation$new()
  cr_title <- paste(
    "Commission Regulation (EU) No 1089/2010 of 23 November 2010 implementing Directive 2007/2/EC",
    "of the European Parliament and of the Council as regards interoperability of spatial data",
    "sets and services"
  )
  cr_inspire_spec1$setTitle(cr_title)
  cr_inspire1$setExplanation("See the referenced specification")
  cr_inspire_date1 <- ISODate$new()
  cr_inspire_date1$setDate(ISOdate(2010,12,8))
  cr_inspire_date1$setDateType("publication")
  cr_inspire_spec1$addDate(cr_inspire_date1)
  cr_inspire1$setSpecification(cr_inspire_spec1)
  cr_inspire1$setPass(TRUE)
  dc_inspire1$addResult(cr_inspire1)
#> [1] TRUE
  dq$addReport(dc_inspire1)
  #INSPIRE - metadata
  dc_inspire2 <- ISODomainConsistency$new()
  cr_inspire2 <- ISOConformanceResult$new()
  cr_inspire_spec2 <- ISOCitation$new()
  cr_title2 <- paste(
    "COMMISSION REGULATION (EC) No 1205/2008 of 3 December 2008 implementing Directive 2007/2/EC",
    "of the European Parliament and of the Council as regards metadata"
  )
  cr_inspire_spec2$setTitle(cr_title2)
  cr_inspire2$setExplanation("See the referenced specification")
  cr_inspire_date2 <- ISODate$new()
  cr_inspire_date2$setDate(ISOdate(2008,12,4))
  cr_inspire_date2$setDateType("publication")
  cr_inspire_spec2$addDate(cr_inspire_date2)
  cr_inspire2$setSpecification(cr_inspire_spec2)
  cr_inspire2$setPass(TRUE)
  dc_inspire2$addResult(cr_inspire2)
#> [1] TRUE
  dq$addReport(dc_inspire2)
  
  #add lineage (more example of lineages in ISOLineage documentation)
  lineage <- ISOLineage$new()
  lineage$setStatement("statement")
  dq$setLineage(lineage)
  
  #xml
  xml <- dq$encode()
#> [geometa][INFO] Object 'ISODataQuality' is VALID according to ISO 19139 XML schemas!