ISOFeatureCatalogue

ISOFeatureCatalogue

Format

R6Class object.

Value

Object of R6Class for modelling an ISO FeatureCatalogue

References

ISO 19110:2005 Methodology for Feature cataloguing

Author

Emmanuel Blondel <emmanuel.blondel1@gmail.com>

Public fields

attrs

attrs

producer

producer [1..1]: ISOResponsibleParty

functionalLanguage

functionalLanguage [0..1]: character

featureType

featureType [1..*]: ISOFeatureType

definitionSource

definitionSource [0..*]: ISODefinitionSource

Methods

Inherited methods


Method new()

Initializes object

Usage

ISOFeatureCatalogue$new(xml = NULL, uuid = NULL)

Arguments

xml

object of class XMLInternalNode-class

uuid

uuid


Method setProducer()

Set producer

Usage

ISOFeatureCatalogue$setProducer(producer)

Arguments

producer

object of class ISOResponsibleParty


Method setFunctionalLanguage()

Set functional language

Usage

ISOFeatureCatalogue$setFunctionalLanguage(functionalLanguage)

Arguments

functionalLanguage

functional language


Method addFeatureType()

Adds feature type

Usage

ISOFeatureCatalogue$addFeatureType(featureType)

Arguments

featureType

object of class ISOFeatureType

Returns

TRUE if added, FALSE otherwise


Method delFeatureType()

Deletes feature type

Usage

ISOFeatureCatalogue$delFeatureType(featureType)

Arguments

featureType

object of class ISOFeatureType

Returns

TRUE if deleted, FALSE otherwise


Method addDefinitionSource()

Adds definition source

Usage

ISOFeatureCatalogue$addDefinitionSource(source)

Arguments

source

object of class ISODefinitionSource or ISOCitation

Returns

TRUE if added, FALSE otherwise


Method delDefinitionSource()

Deletes definition source

Usage

ISOFeatureCatalogue$delDefinitionSource(source)

Arguments

source

object of class ISODefinitionSource or ISOCitation

Returns

TRUE if deleted, FALSE otherwise


Method clone()

The objects of this class are cloneable with this method.

Usage

ISOFeatureCatalogue$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.

Examples

 fc <- ISOFeatureCatalogue$new(uuid = "my-fc-identifier")
 fc$setName("name")
 fc$addScope("scope1")
#> [1] TRUE
 fc$addScope("scope2")
#> [1] TRUE
 fc$addFieldOfApplication("field1")
#> [1] TRUE
 fc$addFieldOfApplication("field2")
#> [1] TRUE
 fc$setVersionNumber("1.0")
 fc$setVersionDate(ISOdate(2015, 1, 1, 1))
 
 producer <- ISOResponsibleParty$new()
 producer$setIndividualName("someone")
 fc$setProducer(producer)
 fc$setFunctionalLanguage("eng")
 
 cit <- ISOCitation$new()
 cit$setTitle("some citation title")
 fc$addDefinitionSource(cit)
#> [1] TRUE
 #'  #add featureType
 ft <- ISOFeatureType$new()
 ft$setTypeName("typeName")
 ft$setDefinition("definition")
 ft$setCode("code")
 ft$setIsAbstract(FALSE)
 ft$addAlias("alias1")
#> [1] TRUE
 ft$addAlias("alias2")
#> [1] TRUE
 
 #add feature attributes
 for(i in 1:3){
   #create attribute
   fat <- ISOFeatureAttribute$new()
   fat$setMemberName(sprintf("name %s",i))
   fat$setDefinition(sprintf("definition %s",i))
   fat$setCardinality(lower=1,upper=1)
   fat$setCode(sprintf("code %s",i))
   
   gml <- GMLBaseUnit$new(id = sprintf("ID%s",i))
   gml$setDescriptionReference("someref")
   gml$setIdentifier("identifier", "codespace")
   gml$addName("name1", "codespace")
   gml$addName("name2", "codespace")
   gml$setQuantityTypeReference("someref")
   gml$setCatalogSymbol("symbol")
   gml$setUnitsSystem("somelink")
   fat$setValueMeasurementUnit(gml)
   
   #add listed values
   val1 <- ISOListedValue$new()
   val1$setCode("code1")
   val1$setLabel("label1")
   val1$setDefinition("definition1")
   fat$addListedValue(val1)
   val2 <- ISOListedValue$new()
   val2$setCode("code2")
   val2$setLabel("label2")
   val2$setDefinition("definition2")
   fat$addListedValue(val2)
   fat$setValueType("typeName")
   
   #add feature attribute as carrierOfCharacteristic
   ft$addCharacteristic(fat)
 }
 #add featureType to catalogue
 fc$addFeatureType(ft)
#> [1] TRUE
 
 xml <- fc$encode()
#> [geometa][WARN] Element '{http://www.isotc211.org/2005/gfc}FC_FeatureCatalogue': No matching global declaration available for the validation root at line 1. 
#> [geometa][WARN] Object 'ISOFeatureCatalogue' is INVALID according to ISO 19139 XML schemas!