These example links demonstrate how to access OpenSensorHub (OSH) web services directly from a browser or through apps. One should examine the structure of the URL request as well as the response. These web services are conformant with the Open Geospatial Consortium (OGC) Sensor Web Enablement (SWE 2.0) encoding and web service interface standards.
or perhaps this browser client showing streaming results from a simulated weather station.
Other example clients are showcased on the following page:
If you desire to directly interact with the OSH web services or if YOU are the developer of one of these browser clients or apps, then you will need to learn to "speak SWE" or use one of the libraries designed to hide these details from you. Examples of the most used web request ("speaking SWE") include:
The same SWE protocols can be used to stream real-time or archived video. The following requests allow you to query the video codec used in the stream
and then request the video stream in exactly the same way it was done before for other types of data. Notice that the data description indicates that the
stream is binary encoded with JPEG (MJPEG) codec this time.
(*) Video streamed from raw GetResult will only show in Firefox and Safari
The concept of features of interest (FOI) is used in SOS to identify a particular member of a sensor network. You can filter measurements using the ID of one more several FOIs. The following examples illustrate this with Automated Vehicle Location (AVL) data that was acquired for several emergency vehicles. One can first retrieve the list of vehicles (FOIs) available and then retrieve GPS data either for a single vehicle or for several vehicles at once. Notice that the vehicle ID is present in the output stream so that the data can be properly demultiplexed.
JSON format is supported since v1.2 of OpenSensorHub. It is now possible to retrieve both metadata and data streams as JSON. This is an extension to the SOS standard that is pending approval at OGC.
The SOS interface allows one to retrieve data as compact record streams or as complete observation objects. Although it is much more bandwidth intensive and verbose, in some use cases, retrieving complete observations is useful because it allows attaching advanced metadata with each observation. When advanced observation metadata is not used/needed, we clearly encourage you to use the GetResult operation at it is much more efficient on the wire and much faster/easier to parse.