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)
The service attribute of the request, e.g. SOS.
The SOS connection to use.
The version attribute of the request, e.g. 1.0.0.
The value of the procedure elements in the request, e.g. urn:procedure:42.
The value of the output format element in the request, e.g. text/xml;subtype="sensorML/1.0.1".
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.
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.
A boolean value indicating whether debug information is printed out to the console during the execution.
A boolean value to enable printing of the sent request and received response to the console.
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.
The value of the construction function is an object of class SosDescribeSensor-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.
signature(sos = "SOS", procedure = "character")
Method requests a description of the given procedure(s) from the given SOS.
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"
signature(obj = "DescribeSensor")
: Encode the information in the request as key-value-pairs for HTTP GET connections, see encodeRequestKVP-methods
.
signature(obj = "DescribeSensor")
: Encode the information in the request as XML for SOAP connections, see encodeRequestSOAP-methods
.
signature(obj = "DescribeSensor")
: Encode the information in the request as XML for HTTP POST connections, see encodeRequestXML-methods
.
signature(object = "DescribeSensor")
: Show a human readable excerpt of the contents of the object.
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 SensorML
and describeSensor.
# NOT RUN {
showClass("SosDescribeSensor")
# example for construction function
describeSensorRequest <- SosDescribeSensor(service = "SOS", version = "1.0.0",
procedure = "urn:procedure:42", outputFormat = "text/xml")
print(describeSensorRequest)
# encode the request in XML
sos <- SOS_Test()
encodeRequestXML(describeSensorRequest, sos)
toString(encodeRequestXML(describeSensorRequest, sos))
# }
# NOT RUN {
# 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!
)
# }
# NOT RUN {
# }
Run the code above in your browser using DataLab