ISOSRVServiceIdentification
ISOSRVServiceIdentification
R6Class
object.
Object of R6Class
for modelling an ISO ServiceIdentification
- ISO 19119 https://schemas.isotc211.org/19119/srv/srv/#element_SV_ServiceIdentification - ISO 19115-3 https://schemas.isotc211.org/19115/-3/srv/2.0/srv/#element_SV_ServiceIdentification
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()
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 <- ISOSRVParameter$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)
}
outParam <-ISOSRVParameter$new()
outParam$setName("outputname", "xs:string")
outParam$setDirection("out")
outParam$setDescription("outputdescription")
outParam$setOptionality(FALSE)
outParam$setRepeatability(FALSE)
outParam$setValueType("xs:string")
scriptOp$addParameter(outParam)
#> [1] TRUE
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 <- ISOSRVParameter$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)
}
outParam <-ISOSRVParameter$new()
outParam$setName("outputname", "xs:string")
outParam$setDirection("out")
outParam$setDescription("outputdescription")
outParam$setOptionality(FALSE)
outParam$setRepeatability(FALSE)
outParam$setValueType("xs:string")
wpsOp$addParameter(outParam)
#> [1] TRUE
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/gco}MemberName': This element is not expected. Expected is ( {http://www.isotc211.org/2005/gco}TypeName ) at line 345.
#> [geometa][WARN] Element '{http://www.isotc211.org/2005/gco}MemberName': This element is not expected. Expected is ( {http://www.isotc211.org/2005/gco}TypeName ) at line 383.
#> [geometa][WARN] Element '{http://www.isotc211.org/2005/gco}MemberName': This element is not expected. Expected is ( {http://www.isotc211.org/2005/gco}TypeName ) at line 421.
#> [geometa][WARN] Element '{http://www.isotc211.org/2005/gco}MemberName': This element is not expected. Expected is ( {http://www.isotc211.org/2005/gco}TypeName ) at line 459.
#> [geometa][WARN] Element '{http://www.isotc211.org/2005/gco}MemberName': This element is not expected. Expected is ( {http://www.isotc211.org/2005/gco}TypeName ) at line 529.
#> [geometa][WARN] Element '{http://www.isotc211.org/2005/gco}MemberName': This element is not expected. Expected is ( {http://www.isotc211.org/2005/gco}TypeName ) at line 567.
#> [geometa][WARN] Element '{http://www.isotc211.org/2005/gco}MemberName': This element is not expected. Expected is ( {http://www.isotc211.org/2005/gco}TypeName ) at line 605.
#> [geometa][WARN] Element '{http://www.isotc211.org/2005/gco}MemberName': This element is not expected. Expected is ( {http://www.isotc211.org/2005/gco}TypeName ) at line 643.
#> [geometa][WARN] Object 'ISOSRVServiceIdentification19139' is INVALID according to ISO 19139 XML schemas!