ISOSRVServiceIdentification
ISOSRVServiceIdentification
R6Class
object.
Object of R6Class
for modelling an ISO ServiceIdentification
ISO 19119:2005 - Geographic information – Services
geometa::geometaLogger
-> geometa::ISOAbstractObject
-> geometa::ISOIdentification
-> geometa::ISOServiceIdentification
-> ISOSRVServiceIdentification
serviceType
serviceType [1..1]: ISOGenericName
serviceTypeVersion
serviceTypeVersion [0..*]: character
accessProperties
accessProperties [0..1]: ISOStandardOrderProcess
restrictions
restrictions [0..1]: ISOConstraints
keywords
keywords [0..*]: ISOKeywords
extent
extent [0..*]: ISOExtent
coupledResource
coupledResource [0..*]: ISOCoupledResource
couplingType
couplingType [1..1]: ISOCouplingType
containsOperations
containsOperations [1..*]: ISOOperationMetadata
operatesOn
operatesOn [0..*]: ISODataIdentification
Inherited methods
geometa::geometaLogger$ERROR()
geometa::geometaLogger$INFO()
geometa::geometaLogger$WARN()
geometa::ISOAbstractObject$addFieldAttrs()
geometa::ISOAbstractObject$addListElement()
geometa::ISOAbstractObject$checkMetadataStandardCompliance()
geometa::ISOAbstractObject$contains()
geometa::ISOAbstractObject$createLocalisedProperty()
geometa::ISOAbstractObject$decode()
geometa::ISOAbstractObject$delListElement()
geometa::ISOAbstractObject$encode()
geometa::ISOAbstractObject$getClass()
geometa::ISOAbstractObject$getClassName()
geometa::ISOAbstractObject$getNamespaceDefinition()
geometa::ISOAbstractObject$isDocument()
geometa::ISOAbstractObject$isFieldInheritedFrom()
geometa::ISOAbstractObject$print()
geometa::ISOAbstractObject$save()
geometa::ISOAbstractObject$setAttr()
geometa::ISOAbstractObject$setCodeList()
geometa::ISOAbstractObject$setCodeListValue()
geometa::ISOAbstractObject$setCodeSpace()
geometa::ISOAbstractObject$setHref()
geometa::ISOAbstractObject$setId()
geometa::ISOAbstractObject$setIsNull()
geometa::ISOAbstractObject$setValue()
geometa::ISOAbstractObject$stopIfMetadataStandardIsNot()
geometa::ISOAbstractObject$validate()
geometa::ISOAbstractObject$wrapBaseElement()
geometa::ISOIdentification$addAggregateInformation()
geometa::ISOIdentification$addCredit()
geometa::ISOIdentification$addFormat()
geometa::ISOIdentification$addGraphicOverview()
geometa::ISOIdentification$addPointOfContact()
geometa::ISOIdentification$addResourceConstraints()
geometa::ISOIdentification$addResourceMaintenance()
geometa::ISOIdentification$addResourceSpecificUsage()
geometa::ISOIdentification$addStatus()
geometa::ISOIdentification$delAggregateInformation()
geometa::ISOIdentification$delCredit()
geometa::ISOIdentification$delFormat()
geometa::ISOIdentification$delGraphicOverview()
geometa::ISOIdentification$delPointOfContact()
geometa::ISOIdentification$delResourceConstraints()
geometa::ISOIdentification$delResourceMaintenance()
geometa::ISOIdentification$delResourceSpecificUsage()
geometa::ISOIdentification$delStatus()
geometa::ISOIdentification$setAbstract()
geometa::ISOIdentification$setCitation()
geometa::ISOIdentification$setGraphicOverview()
geometa::ISOIdentification$setKeywords()
geometa::ISOIdentification$setPurpose()
geometa::ISOIdentification$setResourceConstraints()
geometa::ISOIdentification$setResourceMaintenance()
new()
Initializes object
ISOSRVServiceIdentification$new(xml = NULL)
xml
object of class XMLInternalNode-class
setServiceType()
Set service type
serviceType
object of class ISOLocalName, ISOScopedName or character
setAccessProperties()
Set access properties
accessProperties
object of class ISOStandardOrderProcess
addCoupledResource()
Adds coupled resource
resource
object of class ISOCoupledResource
delCoupledResource()
Deletes coupled resource
resource
object of class ISOCoupledResource
setCouplingType()
Set coupling type
couplingType
object of class ISOCouplingType or any character
among values returned by ISOCouplingType$values()
addOperationMetadata()
Adds operation metadata
operationMetadata
object of class ISOOperationMetadata
delOperationMetadata()
Deletes operation metadata
operationMetadata
object of class ISOOperationMetadata
addOperatesOn()
Adds operates on
dataIdentification
object of class ISODataIdentification
delOperatesOn()
Deletes operates on
dataIdentification
object of class ISODataIdentification
#encoding
md <- ISOSRVServiceIdentification$new()
md$setAbstract("abstract")
md$setPurpose("purpose")
#adding a point of contact
rp <- ISOResponsibleParty$new()
rp$setIndividualName("someone")
rp$setOrganisationName("somewhere")
rp$setPositionName("someposition")
rp$setRole("pointOfContact")
contact <- ISOContact$new()
phone <- ISOTelephone$new()
phone$setVoice("myphonenumber")
phone$setFacsimile("myfacsimile")
contact$setPhone(phone)
address <- ISOAddress$new()
address$setDeliveryPoint("theaddress")
address$setCity("thecity")
address$setPostalCode("111")
address$setCountry("France")
address$setEmail("someone@theorg.org")
contact$setAddress(address)
res <- ISOOnlineResource$new()
res$setLinkage("http://www.somewhereovertheweb.org")
res$setName("somename")
contact$setOnlineResource(res)
rp$setContactInfo(contact)
md$addPointOfContact(rp)
#> [1] TRUE
#citation
ct <- ISOCitation$new()
ct$setTitle("sometitle")
d <- ISODate$new()
d$setDate(ISOdate(2015, 1, 1, 1))
d$setDateType("publication")
ct$addDate(d)
ct$setEdition("1.0")
ct$setEditionDate(ISOdate(2015,1,1))
ct$addIdentifier(ISOMetaIdentifier$new(code = "identifier"))
#> [1] TRUE
ct$addPresentationForm("mapDigital")
#> [1] TRUE
ct$addCitedResponsibleParty(rp)
#> [1] TRUE
md$setCitation(ct)
#graphic overview
go <- ISOBrowseGraphic$new(
fileName = "http://wwww.somefile.org/png",
fileDescription = "Map Overview",
fileType = "image/png"
)
md$addGraphicOverview(go)
#> [1] TRUE
#maintenance information
mi <- ISOMaintenanceInformation$new()
mi$setMaintenanceFrequency("daily")
md$addResourceMaintenance(mi)
#> [1] TRUE
#adding legal constraints
lc <- ISOLegalConstraints$new()
lc$addUseLimitation("limitation1")
#> [1] TRUE
lc$addUseLimitation("limitation2")
#> [1] TRUE
lc$addUseLimitation("limitation3")
#> [1] TRUE
lc$addAccessConstraint("copyright")
#> [1] TRUE
lc$addAccessConstraint("license")
#> [1] TRUE
lc$addUseConstraint("copyright")
#> [1] TRUE
lc$addUseConstraint("license")
#> [1] TRUE
md$addResourceConstraints(lc)
#> [1] TRUE
#specific elements to service identification
md$setServiceType("Fishery data harmonization process")
md$addServiceTypeVersion("1.0")
#> [1] TRUE
orderProcess <- ISOStandardOrderProcess$new()
orderProcess$setFees("fees")
orderProcess$setPlannedAvailableDateTime(ISOdate(2017,7,5,12,0,0))
orderProcess$setOrderingInstructions("instructions")
orderProcess$setTurnaround("turnaround")
md$setAccessProperties(orderProcess)
md$setRestrictions(lc)
kwds <- ISOKeywords$new()
kwds$addKeyword("keyword1")
#> [1] TRUE
kwds$addKeyword("keyword2")
#> [1] TRUE
kwds$setKeywordType("theme")
th <- ISOCitation$new()
th$setTitle("General")
th$addDate(d)
kwds$setThesaurusName(th)
md$addKeywords(kwds)
#> [1] TRUE
#adding extent
extent <- ISOExtent$new()
bbox <- ISOGeographicBoundingBox$new(minx = -180, miny = -90, maxx = 180, maxy = 90)
extent$addGeographicElement(bbox)
#> [1] TRUE
md$addExtent(extent)
#> [1] TRUE
#coupling type
#(here "tight" associated with a particular dataset "my-dataset-identifier")
#see ISOCouplingType$values(labels = T) for other values
md$setCouplingType("tight")
coupledDataset1 <- ISOCoupledResource$new()
coupledDataset1$setOperationName("Rscript")
coupledDataset1$setIdentifier("my-dataset-identifier")
coupledDataset2 <- ISOCoupledResource$new()
coupledDataset2$setOperationName("WPS:Execute")
coupledDataset2$setIdentifier("my-dataset-identifier")
md$addCoupledResource(coupledDataset1)
#> [1] TRUE
md$addCoupledResource(coupledDataset2)
#> [1] TRUE
#add operation metadata 1 (Rscript)
scriptOp <- ISOOperationMetadata$new()
scriptOp$setOperationName("Rscript")
scriptOp$addDCP("WebServices")
#> [1] TRUE
scriptOp$setOperationDescription("WPS Execute")
scriptOp$setInvocationName("identifier")
for(i in 1:3){
param <- ISOParameter$new()
param$setName(sprintf("name%s",i), "xs:string")
param$setDirection("in")
param$setDescription(sprintf("description%s",i))
param$setOptionality(FALSE)
param$setRepeatability(FALSE)
param$setValueType("xs:string")
scriptOp$addParameter(param)
}
#> Error: object 'ISOParameter' not found
outParam <-ISOParameter$new()
#> Error: object 'ISOParameter' not found
outParam$setName("outputname", "xs:string")
#> Error: object 'outParam' not found
outParam$setDirection("out")
#> Error: object 'outParam' not found
outParam$setDescription("outputdescription")
#> Error: object 'outParam' not found
outParam$setOptionality(FALSE)
#> Error: object 'outParam' not found
outParam$setRepeatability(FALSE)
#> Error: object 'outParam' not found
outParam$setValueType("xs:string")
#> Error: object 'outParam' not found
scriptOp$addParameter(outParam)
#> Error: object 'outParam' not found
or <- ISOOnlineResource$new()
or$setLinkage("http://somelink/myrscript.R")
or$setName("R script name")
or$setDescription("R script description")
or$setProtocol("protocol")
scriptOp$addConnectPoint(or)
#> [1] TRUE
md$addOperationMetadata(scriptOp)
#> [1] TRUE
#add operation metadata 1 (WPS)
wpsOp <- ISOOperationMetadata$new()
wpsOp$setOperationName("WPS:Execute")
wpsOp$addDCP("WebServices")
#> [1] TRUE
wpsOp$setOperationDescription("WPS Execute")
invocationName <- "mywpsidentifier"
wpsOp$setInvocationName(invocationName)
for(i in 1:3){
param <- ISOParameter$new()
param$setName(sprintf("name%s",i), "xs:string")
param$setDirection("in")
param$setDescription(sprintf("description%s",i))
param$setOptionality(FALSE)
param$setRepeatability(FALSE)
param$setValueType("xs:string")
wpsOp$addParameter(param)
}
#> Error: object 'ISOParameter' not found
outParam <-ISOParameter$new()
#> Error: object 'ISOParameter' not found
outParam$setName("outputname", "xs:string")
#> Error: object 'outParam' not found
outParam$setDirection("out")
#> Error: object 'outParam' not found
outParam$setDescription("outputdescription")
#> Error: object 'outParam' not found
outParam$setOptionality(FALSE)
#> Error: object 'outParam' not found
outParam$setRepeatability(FALSE)
#> Error: object 'outParam' not found
outParam$setValueType("xs:string")
#> Error: object 'outParam' not found
wpsOp$addParameter(outParam)
#> Error: object 'outParam' not found
or1 <- ISOOnlineResource$new()
or1$setLinkage(
sprintf("http://somelink/wps?request=Execute&version=1.0.0&Identifier=%s",
invocationName)
)
or1$setName("WPS process name")
or1$setDescription("WPS process description")
or1$setProtocol("protocol")
wpsOp$addConnectPoint(or1)
#> [1] TRUE
or2 <- ISOOnlineResource$new()
or2$setLinkage("http://somelink/myrscript.R")
or2$setName("Source R script name")
or2$setDescription("Source R script description")
or2$setProtocol("protocol")
wpsOp$addConnectPoint(or2)
#> [1] TRUE
md$addOperationMetadata(wpsOp)
#> [1] TRUE
xml <- md$encode()
#> [geometa][WARN] Element '{http://www.isotc211.org/2005/srv}SV_ServiceIdentification': No matching global declaration available for the validation root at line 1.
#> [geometa][WARN] Object 'ISOSRVServiceIdentification' is INVALID according to ISO 19139 XML schemas!