A lightweight Sensor Observation Service as an extension for the GeoServices REST API Arne Bröring, Satish Sankaran, Simon Jirka, Andreas Wytzisk INSPIRE, Istanbul, June 26th 2012 EEA
A lightweight
Sensor Observation Service
as an extension for the
GeoServices REST API
Arne Bröring, Satish Sankaran, Simon Jirka, Andreas Wytzisk
INSPIRE, Istanbul, June 26th 2012
EEA
52°North – Arne Bröring, INSPIRE, Istanbul, 26-06-2012
http://www.eea.europa.eu/publications/general-brochure-2009/at_download/file
EEA‘s 32
member states
52°North – Arne Bröring, INSPIRE, Istanbul, 26-06-2012
European Environment Agency
• Collection, coordination and dissemination of
environmental data and information
for Scientists, Decision Makers, Public
• EEA‘s Executive Director
Jacqueline McGlade
Keynote @ ESRI‘s UC 2011
� Pointed out the importance of
Sensor Data
& Need for easy accesshttp://video.esri.com/watch/472/keynote-jacqueline-mcglade
52°North – Arne Bröring, INSPIRE, Istanbul, 26-06-2012
• Data themes:
Air quality, biodiversity, climate change, land use
European Environment Agency
52°North – Arne Bröring, INSPIRE, Istanbul, 26-06-2012
EEA
Heterogeneous Interfaces:
- Proprietary formats
- FTP / HTTP
Problem
Data Providers
Application-specific
Interfaces
Data Consumers
ArcGIS Server based Infrastructure
52°North – Arne Bröring, INSPIRE, Istanbul, 26-06-2012
Approach
• Infrastructure based on OGC’s Sensor Web Enablement
(SWE) and Sensor Observation Servive (SOS)
• Use these standards and combine with existing GIS
infrastructure
� Extension to existing system is required
[Extension to GeoServices REST API used by ArcGIS]
52°North – Arne Bröring, INSPIRE, Istanbul, 26-06-2012
EEA
ArcGIS Server based Infrastructure
SOS Interface
Approach
Data Providers
Data Consumers
SOS Interface
52°North – Arne Bröring, INSPIRE, Istanbul, 26-06-2012
1. Data model for near real-time observation data
– Aligned with Observations & Measurements 2.0
2. SOS REST interface for GeoServices REST API
– Aligned with Sensor Observation Service 2.0
– JSON encoding for observations / features / sensors
3. SOS 2.0 full compliance
Development Steps
52°North – Arne Bröring, INSPIRE, Istanbul, 26-06-2012
Architecture Overview
52°North – Arne Bröring, INSPIRE, Istanbul, 26-06-2012
Review: Geoservices REST API
52°North – Arne Bröring, INSPIRE, Istanbul, 26-06-2012
SOS Extension for
Geoservices REST API
52°North – Arne Bröring, INSPIRE, Istanbul, 26-06-2012
Example Deployment
• ~ 1,500 air quality stations (measuring O3, CO, K)
• > 1,000,000 observations for 30 days
http://www.eea.europa.eu/maps/ozone/resources/about-the-data
52°North – Arne Bröring, INSPIRE, Istanbul, 26-06-2012
Example Requests
• SOS Starting Point:
http://ags.dev.52north.org:6080/arcgis/rest/services
/ObservationDB/MapServer/exts/SOSExtension [link] [link2]
• Observations Query: [link] [link2]
http://ags.dev.52north.org:6080/arcgis/rest/services
/ObservationDB/MapServer/exts/SOSExtension
/observations/query
?procedure=CO-SensorNetwork
&featureOfInterest=BETR701,DERP023,CH0049A
&temporalFilter=equals:2011-10-18T10:00:00+00:00
52°North – Arne Bröring, INSPIRE, Istanbul, 26-06-2012
Observation Resource - Query
Parameter Detailsoffering List of identifiers
observedProperty List of identifiers
procedure List of identifiers
featureOfInterest List of identifiers
spatialFilter Example:spatialFilter=
{x:7.0,y:52.0,spatialReference:{wkid:4326}}
temporalFilter Example:temporalFilter=equals:2011-10-19T15:00:00+02:00
where Example:where=numeric_value<=35
f html | json
52°North – Arne Bröring, INSPIRE, Istanbul, 26-06-2012
Observation Resource - JSON
{
"observationData": [
{
"id": "738",
"type": "OM_Measurement",
"phenomenonTime": "2011-10-19T23:00:00+02:00",
"resultTime": "2011-10-19T23:00:00+02:00",
"observedProperty": "CO",
"procedure": "CO-SensorNetwork",
"featureOfInterest": "BETR701",
"result": {
"type": "numerical",
"uom": "ug/m3",
"value": 18
}
}
52°North – Arne Bröring, INSPIRE, Istanbul, 26-06-2012
OGC SOS 2.0 Compliance
• GetObservation Query:
http://ags.dev.52north.org:6080/arcgis/rest/services
/ObservationDB/MapServer/exts/SOSExtension
/GetObservation
?service=SOS
&version=2.0.0
&request=GetObservation
&procedure=CO-SensorNetwork
&spatialFilter=om:featureOfInterest/*/sams:shape,0.0,40.0,2.0,43.0,
urn:ogc:def:crs:EPSG::4326
&f=pjson
52°North – Arne Bröring, INSPIRE, Istanbul, 26-06-2012
Conclusions
• We extended functionality of Geoservices REST API:
– Well-defined model for near real-time sensor data
– Provision of observations / features / sensor descriptions
– Explicit temporal filtering
– Server-side time zone support
– K
• We provided that functionality as:
– ArcGIS Server 10.1 and OGC GeoServices REST API extension
– Alignment with conceptual models of:
O&M 2.0, SOS 2.0, SensorML 2.0, SWE Lightweight Profile
52°North – Arne Bröring, INSPIRE, Istanbul, 26-06-2012
Outlook
• Further extend the designed REST API for observations (e.g.
enable upload of observations)
• Formal specification of an SOS 2.0 / Geoservices REST
extension within OGC standardization process
• Complete implementation of a fully OGC SOS 2.0 compliant
ArcGIS Server Object Extension
52°North – Arne Bröring, INSPIRE, Istanbul, 26-06-2012
Questions?
Thank you!
Arne Bröring
Project website: http://52north.org/arcgisServerSOS