I am a student and currently developing a web application using Sensor Observation Service. In my Web-Client, I am sending request to SOS Server per sensor and getting back the observations. The main functionality of Web-Client is to perform Spatial Selection on map and see the Observations of the selected region.

In this scenario, the region selected gives street/sensor Id's(which is fetched using WFS), and the client sends request to SOS for each street/sensor Id. So, it means if I select 1000 street Id's, I have to send 1000 request to SOS, which will obviously slow down my application.

My question:

Is there any way, I can send filter request to SOS ? Like, I send all my sensor Id's to SOS and get the observations of all at once? Or any other suggestion to improve my application behavior a part from SOS Filter Request?


You are currently probably using the GetObservationByID operation. What you want to do is call the GetObservation operation instead. The GetObservation operation will take in a featureOfInterest which can be a spatial constrain.

So by calling GetObservation in your scenario with the spatial contrain of the region selected, GetObservation will return an O&M Observation, an element in the Observation substitution group, or an ObservationCollection. Which will be all your observations for the selected area. All in one request. You can't get any more efficient than that.

Here's the documentation. And here is the schema.

  • Thank you very much for your reply. I completely agree with your answer. – Rajat Arora Apr 3 '12 at 13:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.