The DescribeSensor Operatiosn of a Sensor Observation Service can be used to retrieve metadata of procedures that are available from a SOS. This sensor description is normally encoded in SensorML.

Please also consult the specification for details on possible contents of the request.

This functions should not be called directly, but instead using the function describeSensor.

SosDescribeSensor(service, version, procedure, outputFormat)

Arguments

service

The service attribute of the request, e.g. SOS.

version

The version attribute of the request, e.g. 1.0.0.

procedure

The value of the procedure elements in the request, e.g. urn:procedure:42.

outputFormat

The value of the output format element in the request, e.g. text/xml;subtype="sensorML/1.0.1"

Objects from the Class

Objects can be created by calling the construction function of the form DescribeSensor(...). The contain the procedure identifier that is to be described by a service.

Value

The value of the construction function is an object of class SosDescribeSensor-class

Slots

procedure:

Object of class "character", the identifier of the procedure.

outputFormat:

Object of class "character", the requested output format.

service:

Object of class "character", the service type, e.g. "SOS".

request:

Object of class "character", the name of the request, "DescribeSensor".

version:

Object of class "character", the service version, e.g. "1.0.0"

Extends

Class "OwsServiceOperation", directly.

Methods

checkRequest

signature(service = "SOS", operation = "DescribeSensor", verbose = "logical"): Checks the contents of the request before sending it.

encodeRequestKVP

signature(obj = "DescribeSensor"): Encode the information in the request as key-value-pairs for HTTP GET connections, see encodeRequestKVP-methods.

encodeRequestSOAP

signature(obj = "DescribeSensor"): Encode the information in the request as XML for SOAP connections, see encodeRequestSOAP-methods.

encodeRequestXML

signature(obj = "DescribeSensor"): Encode the information in the request as XML for HTTP POST connections, see encodeRequestXML-methods.

show

signature(object = "DescribeSensor"): Show a human readable excerpt of the contents of the object.

References

See OGC 06-009r6 section 8.4, or the XSD schema file at http://schemas.opengis.net/sos/1.0.0/sosDescribeSensor.xsd.

See also

See Also SensorML and describeSensor.

Examples

showClass("SosDescribeSensor")
#> Class "SosDescribeSensor" [package "sos4R"] #> #> Slots: #> #> Name: procedure outputFormat service request version #> Class: character character character character character #> #> Extends: "OwsServiceOperation"
# example for construction function describeSensorRequest <- SosDescribeSensor(service = "SOS", version = "1.0.0", procedure = "urn:procedure:42", outputFormat = "text/xml") print(describeSensorRequest)
#> Object of class SosDescribeSensor: service: SOS , version: 1.0.0 , outputFormat: text/xml #> Procedure: urn:procedure:42
# encode the request in XML sos <- SOS_Test() encodeRequestXML(describeSensorRequest, sos)
#> {xml_document} #> <DescribeSensor service="SOS" outputFormat="text/xml" version="1.0.0" xmlns="http://www.opengis.net/sos/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> #> [1] <procedure>urn:procedure:42</procedure>
toString(encodeRequestXML(describeSensorRequest, sos))
#> [1] "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<DescribeSensor xmlns=\"http://www.opengis.net/sos/1.0\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" service=\"SOS\" outputFormat=\"text/xml\" version=\"1.0.0\">\n <procedure>urn:procedure:42</procedure>\n</DescribeSensor>\n"
# request a sensor description mySOS <- SOS(url = "http://sensorweb.demo.52north.org/sensorwebtestbed/service/kvp", binding = "KVP")
#> [sos4R] Created SOS for URL http://sensorweb.demo.52north.org/sensorwebtestbed/service/kvp
mySensor <- describeSensor(sos = mySOS, procedure = sosProcedures(mySOS)[[1]], outputFormat = 'text/xml; subtype="sensorML/1.0.1"', # space is needed! )