Support for different SOS dialects
The SOS standard is quite generic so that SOS provides may organize their data provision differently. Furthermore, the organization of so called ObservationOfferings does not guarantee to get valid query parameters for each constellation within an offering. For this reason the Sensor Web Client provides an interface to support different kinds of SOS dialects. Besides a default SOS handler an SOS provider can implement a custom handler to support different kinds of SOS dialects or profile respectively.
During startup and for each configured
SensorObservationService the Sensor Web Client requests the service's capabilities file to get general service metadata and all parameters known to by the SOS. This may take some time depending on how many stations the service provides (during that time the UI cannot be used and a message will be shown to the user). Each configured SOS instance is associated to a specific metadata handler implementation which assembles all valid parameter constellation and relates them to a geographic location on earch (a station).
Default Handler
As default the Sensor Web Client assumes that all parameters resulting in a measured timeseries are linked within the Sensor description file. For each procedure a link to the feature of interest has to be provided. You can create such a reference by adding a 'FeatureOfInterestId' field in the SensorML's capabilities element:
<sml:capabilities>
<swe:field name="FeatureOfInterestID">
<swe:Text definition="FeatureOfInterest identifier">
<swe:value>Affoldern_42800502</swe:value>
</swe:Text>
</swe:field>
<sml:capabilities>
This
DescribeSensor request for procedure 'Wasserstand-Affoldern_42800502' gives you an example how to do this. If the FeatureOfInterest link is missing the handler links the procedure with all features found in the same observation offering.
Furthermore, each procedure listed should provide a valid link to the observedProperties within the SensorML's
OutputList
(use the
definition
attribute as reference link):
<sml:outputs>
<sml:OutputList>
<sml:output name="Wasserstand">
<swe:Quantity definition="Wasserstand">
<swe:uom code="cm"/>
</swe:Quantity>
</sml:output>
</sml:OutputList>
</sml:outputs>
If the ObservedProperty link is missing the handler links each procedure/FOI constellation with each observed properties found in the same observation offering.
Hydrology Profile Handler
TODO
ArcGIS Server SOS Extension Handler
TODO
GRDC Handler
TODO