The DescribeSensor operation 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.

The method describeSensor(..) sends a DescribeSensor request for a description of the given procedure to the given Sensor Observation Service instance. If the procedure is a vector, the method will send multiple requests and combine the results in a list.

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.

describeSensor(sos, procedure, outputFormat, validTime, verbose, inspect, saveOriginal)

# internal constructors:
# exactly one of outputFormat or procedureDescriptionFormat must be used
SosDescribeSensor(service, version, procedure, outputFormat = NA_character_,
                  procedureDescriptionFormat = NA_character_, validTime = NULL)

Arguments

service

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

sos

The SOS connection to use.

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".

procedureDescriptionFormat

The desired description format for the procedure, e.g. http://www.opengis.net/sensorML/1.0.1. For using facing function describeSensor(..) the value of outputFormat is used.

validTime

An object of class GmlTimeObject, either a time instant or time period for which the returned description shall be valid; use functions sosCreateTimePeriod(..) and sosCreateTimeInstant(..) to create this parameter.

verbose

A boolean value indicating whether debug information is printed out to the console during the execution.

inspect

A boolean value to enable printing of the sent request and received response to the console.

saveOriginal

Save the received document to the current working directory. If TRUE a filename is automatically generated, if a character string is given it is used as the filename.

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.

Methods

signature(sos = "SOS", procedure = "character")

Method requests a description of the given procedure(s) from the given SOS.

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.

procedureDescriptionFormat:

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

validTime:

Object of class "GmlTimeObject", the time instant or period for which the description shall be valid.

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

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 #> Class: character character #> #> Name: procedureDescriptionFormat validTime #> Class: character GmlTimeObjectOrNULL #> #> Name: service request #> Class: character character #> #> Name: version #> Class: 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 #> procedureDescriptionFormat: NA #> validTime:
# 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"
if (FALSE) { # request a sensor description mySOS <- SOS(url = "http://sensorweb.demo.52north.org/sensorwebtestbed/service/kvp", binding = "KVP") mySensor <- describeSensor(sos = mySOS, procedure = sosProcedures(mySOS)[[1]], outputFormat = 'text/xml; subtype="sensorML/1.0.1"', # space is needed! ) }