ISOSRVServiceIdentification: ISOSRVServiceIdentification

ISOSRVServiceIdentificationR Documentation

ISOSRVServiceIdentification

Description

ISOSRVServiceIdentification

ISOSRVServiceIdentification

Format

R6Class object.

Value

Object of R6Class for modelling an ISO ServiceIdentification

Super classes

geometa::geometaLogger -> geometa::ISOAbstractObject -> geometa::ISOIdentification -> geometa::ISOServiceIdentification -> ISOSRVServiceIdentification

Public fields

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

Methods

Public methods

Inherited methods

Method new()

Initializes object

Usage
ISOSRVServiceIdentification$new(xml = NULL)
Arguments
xml

object of class XMLInternalNode-class


Method setServiceType()

Set service type

Usage
ISOSRVServiceIdentification$setServiceType(serviceType)
Arguments
serviceType

object of class ISOLocalName, ISOScopedName or character


Method addServiceTypeVersion()

Adds service type version

Usage
ISOSRVServiceIdentification$addServiceTypeVersion(version)
Arguments
version

version

Returns

TRUE if added, FALSE otherwise


Method delServiceTypeVersion()

Deletes service type version

Usage
ISOSRVServiceIdentification$delServiceTypeVersion(version)
Arguments
version

version

Returns

TRUE if deleted, FALSE otherwise


Method setAccessProperties()

Set access properties

Usage
ISOSRVServiceIdentification$setAccessProperties(accessProperties)
Arguments
accessProperties

object of class ISOStandardOrderProcess


Method setRestrictions()

Set restrictions

Usage
ISOSRVServiceIdentification$setRestrictions(restrictions)
Arguments
restrictions

object of class ISOConstraints


Method addKeywords()

Adds keywords

Usage
ISOSRVServiceIdentification$addKeywords(keywords)
Arguments
keywords

object of class ISOKeywords

Returns

TRUE if added, FALSE otherwise


Method delKeywords()

Deletes keywords

Usage
ISOSRVServiceIdentification$delKeywords(keywords)
Arguments
keywords

object of class ISOKeywords

Returns

TRUE if deleted, FALSE otherwise


Method addExtent()

Adds extent

Usage
ISOSRVServiceIdentification$addExtent(extent)
Arguments
extent

object of class ISOExtent

Returns

TRUE if added, FALSE otherwise


Method delExtent()

Deletes extent

Usage
ISOSRVServiceIdentification$delExtent(extent)
Arguments
extent

object of class ISOExtent

Returns

TRUE if deleted, FALSE otherwise


Method addCoupledResource()

Adds coupled resource

Usage
ISOSRVServiceIdentification$addCoupledResource(resource)
Arguments
resource

object of class ISOCoupledResource

Returns

TRUE if added, FALSE otherwise


Method delCoupledResource()

Deletes coupled resource

Usage
ISOSRVServiceIdentification$delCoupledResource(resource)
Arguments
resource

object of class ISOCoupledResource

Returns

TRUE if deleted, FALSE otherwise


Method setCouplingType()

Set coupling type

Usage
ISOSRVServiceIdentification$setCouplingType(couplingType)
Arguments
couplingType

object of class ISOCouplingType or any character among values returned by ISOCouplingType$values()


Method addOperationMetadata()

Adds operation metadata

Usage
ISOSRVServiceIdentification$addOperationMetadata(operationMetadata)
Arguments
operationMetadata

object of class ISOOperationMetadata

Returns

TRUE if added, FALSE otherwise


Method delOperationMetadata()

Deletes operation metadata

Usage
ISOSRVServiceIdentification$delOperationMetadata(operationMetadata)
Arguments
operationMetadata

object of class ISOOperationMetadata

Returns

TRUE if deleted, FALSE otherwise


Method addOperatesOn()

Adds operates on

Usage
ISOSRVServiceIdentification$addOperatesOn(dataIdentification)
Arguments
dataIdentification

object of class ISODataIdentification

Returns

TRUE if added, FALSE otherwise


Method delOperatesOn()

Deletes operates on

Usage
ISOSRVServiceIdentification$delOperatesOn(dataIdentification)
Arguments
dataIdentification

object of class ISODataIdentification

Returns

TRUE if deleted, FALSE otherwise


Method clone()

The objects of this class are cloneable with this method.

Usage
ISOSRVServiceIdentification$clone(deep = FALSE)
Arguments
deep

Whether to make a deep clone.

Author(s)

Emmanuel Blondel <emmanuel.blondel1@gmail.com>

References

ISO 19119:2005 - Geographic information – Services

Examples

  #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)

  #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"))
  ct$addPresentationForm("mapDigital")
  ct$addCitedResponsibleParty(rp)
  md$setCitation(ct)

  #graphic overview
  go <- ISOBrowseGraphic$new(
    fileName = "http://wwww.somefile.org/png",
    fileDescription = "Map Overview",
    fileType = "image/png"
  )
  md$addGraphicOverview(go)

  #maintenance information
  mi <- ISOMaintenanceInformation$new()
  mi$setMaintenanceFrequency("daily")
  md$addResourceMaintenance(mi)

  #adding legal constraints
  lc <- ISOLegalConstraints$new()
  lc$addUseLimitation("limitation1")
  lc$addUseLimitation("limitation2")
  lc$addUseLimitation("limitation3")
  lc$addAccessConstraint("copyright")
  lc$addAccessConstraint("license")
  lc$addUseConstraint("copyright")
  lc$addUseConstraint("license")
  md$addResourceConstraints(lc)

  #specific elements to service identification
  md$setServiceType("Fishery data harmonization process")
  md$addServiceTypeVersion("1.0")
  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")
  kwds$addKeyword("keyword2")
  kwds$setKeywordType("theme")
  th <- ISOCitation$new()
  th$setTitle("General")
  th$addDate(d)
  kwds$setThesaurusName(th)
  md$addKeywords(kwds)

  #adding extent
  extent <- ISOExtent$new()
  bbox <- ISOGeographicBoundingBox$new(minx = -180, miny = -90, maxx = 180, maxy = 90)
  extent$addGeographicElement(bbox)
  md$addExtent(extent)

  #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)
  md$addCoupledResource(coupledDataset2)

  #add operation metadata 1 (Rscript)
  scriptOp <- ISOOperationMetadata$new()
  scriptOp$setOperationName("Rscript")
  scriptOp$addDCP("WebServices")
  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)
  }
  outParam <-ISOParameter$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)
  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)
  md$addOperationMetadata(scriptOp)
  #add operation metadata 1 (WPS)
  wpsOp <- ISOOperationMetadata$new()
  wpsOp$setOperationName("WPS:Execute")
  wpsOp$addDCP("WebServices")
  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)
  }
  outParam <-ISOParameter$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)
  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)
  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)
  md$addOperationMetadata(wpsOp)
  xml <- md$encode()
   

eblondel/geometa documentation built on Sept. 8, 2023, 8:19 p.m.