SOS WebClient Interface is a lightweight browser app for viewing and querying sensor data from istSOS. It supports map-based sensor selection, time/spatial filtering, and displays observations using charts, tables, and formatted XML - all via OGC SOS 1.0.0 standards.
This project is a browser-based client interface for interacting with Sensor Observation Service (SOS) endpoints, specifically built for integration with the istSOS (an OGC-compliant SOS implementation). It supports discovering sensors, visualizing their spatial distribution, fetching observations, and rendering sensor data over time using charts and tables.
- HTML, CSS, JavaScript
- OpenLayers (sensor mapping)
- Bootstrap 5 for UI components
- Font Awesome for icons
- Google Charts for data visualization
vkbeautify.js
for formatting XML responses
- istSOS (Sensor data service)
- OGC SOS standard (1.0.0)
- Visualizes all sensors as styled map markers using OpenLayers
- Clickable sensors display metadata and time intervals via popups
- Automatically adjusts map to sensor extent or bounding box filters
- Performs SOS
GetCapabilities
request to list all registered sensors - Parses
DescribeSensor
for metadata like description, type, interval, and location - Dynamically populates dropdown for sensor selection
- Fetches observations using SOS
GetObservation
- Allows time range selection using date and time pickers
- Auto-converts time to and from UTC/IST
- Displays observation data as:
- Interactive line chart
- Styled data table
- Pretty-prints raw XML from SOS responses (GetCapabilities, DescribeSensor, GetObservation)
- Bounding box filter for spatial filtering of sensors
- Responsive layout and loading indicators for async calls
- Graceful error handling and informative alerts
- A running instance of istSOS (e.g.,
http://<host>/istsos
) - Sensors and procedures registered in istSOS
- Clone or download this repository.
- Open
main.html
in a web browser (preferably Chrome). - Set the correct istSOS endpoint in the Server URL field (e.g.,
http://192.168.0.142/istsos
). - Click Get Capabilities to load sensors and begin exploration.
- Get Capabilities: Fetches list of available procedures.
- Select Sensor: Click on the map or use dropdown to view metadata.
- Bounding Box Filter: Limit sensors by geographic area.
- Time Range: Choose date/time range for data querying.
- Get Observations: Fetch and display readings for the selected sensor.
- Inspect XML: Raw XML responses are shown in the "XML Response" pane.
This project is released for academic and research purposes under the MIT License. Feel free to use and adapt with attribution.
Developed as a client application for interoperable access to SOS-compliant sensor data using istSOS.