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
serviceTypeserviceType [1..1]: ISOGenericName
serviceTypeVersionserviceTypeVersion [0..*]: character
accessPropertiesaccessProperties [0..1]: ISOStandardOrderProcess
restrictionsrestrictions [0..1]: ISOConstraints
keywordskeywords [0..*]: ISOKeywords
extentextent [0..*]: ISOExtent
coupledResourcecoupledResource [0..*]: ISOCoupledResource
couplingTypecouplingType [1..1]: ISOCouplingType
containsOperationscontainsOperations [1..*]: ISOOperationMetadata
operatesOnoperatesOn [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)xmlobject of class XMLInternalNode-class
setServiceType()Set service type
serviceTypeobject of class ISOLocalName, ISOScopedName or character
setAccessProperties()Set access properties
accessPropertiesobject of class ISOStandardOrderProcess
addCoupledResource()Adds coupled resource
resourceobject of class ISOCoupledResource
delCoupledResource()Deletes coupled resource
resourceobject of class ISOCoupledResource
setCouplingType()Set coupling type
couplingTypeobject of class ISOCouplingType or any character
among values returned by ISOCouplingType$values()
addOperationMetadata()Adds operation metadata
operationMetadataobject of class ISOOperationMetadata
delOperationMetadata()Deletes operation metadata
operationMetadataobject of class ISOOperationMetadata
addOperatesOn()Adds operates on
dataIdentificationobject of class ISODataIdentification
delOperatesOn()Deletes operates on
dataIdentificationobject 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!