El Sensor Observation Service ( SOS ) es un servicio web para consultar datos de sensores en tiempo real y series de tiempo de datos de sensores y es parte de Sensor Web . Los datos de sensor ofrecidos consisten en datos directamente de los sensores, que están codificados en el lenguaje del modelo de sensor ( SensorML ), y los valores medidos en el formato de codificación de observaciones y mediciones (O & M). El servicio web, así como ambos formatos de archivo, son estándares abiertos y especificaciones del mismo nombre definidas por el Consorcio Geoespacial Abierto (OGC).
Si el SOS admite el perfil transaccional (SOS-T), se pueden registrar nuevos sensores en la interfaz de servicio e insertar valores de medición. Una implementación de SOS se puede utilizar tanto para datos in situ como para sensores de teledetección. Además, los sensores pueden ser móviles o estacionarios.
Desde 2007, [1] el SOS es un estándar oficial de OGC . La ventaja del SOS es que los datos del sensor, de cualquier tipo, están disponibles en un formato estandarizado utilizando operaciones estandarizadas. Por lo tanto, se simplifica el acceso basado en la web a los datos de los sensores. También permite una fácil integración en Infraestructuras de Datos Espaciales o Sistemas de Información Geográfica existentes .
En 2016, OGC aprobó la especificación del estándar API SensorThings , un nuevo estándar basado en RESTful y JSON que proporciona funciones similares a SOS. Dado que tanto SensorThings API como SOS se basan en OGC / ISO 19156: 2011 , las dos especificaciones se han demostrado en un piloto de OGC IoT que pueden interoperar entre sí. [2]
Operaciones
El SOS tiene tres operaciones básicas que debe proporcionar cada implementación. La operación GetCapabilities le permite consultar un servicio para obtener una descripción de la interfaz de servicio y los datos del sensor disponibles. Para usar el SOS, la función GetObservation es probablemente la más importante. Se puede utilizar para recuperar datos de sensores específicos. La función DescribeSensor devuelve información detallada sobre un sensor o un sistema de sensores y los procesos de producción.
Operaciones principales (perfil principal)
- GetCapabilities devuelve una descripción del servicio XML con información sobre la interfaz (operaciones ofrecidas y puntos finales), así como los datos del sensor disponibles, como el período durante el cual los datos del sensor están disponibles, los sensores que producen los valores medidos o los fenómenos que se observan (por ejemplo temperatura del aire).
- GetObservation permite consultas basadas en extracción de valores observados, incluidos sus metadatos. Los valores medidos y sus metadatos se devuelven en el formato de Observaciones y Medidas (O & M).
- DescribeSensor : proporciona metadatos del sensor en SensorML . La descripción del sensor puede contener información sobre el sensor en general, el identificador y la clasificación, la posición y los fenómenos observados, pero también detalles como los datos de calibración.
Operaciones transaccionales (perfil transaccional)
- RegisterSensor permite registrar un nuevo sensor en un SOS desplegado.
- InsertObservation se puede utilizar para insertar datos para sensores ya registrados en el SOS.
Operaciones extendidas (perfil mejorado)
- GetResult proporciona la capacidad de consultar las lecturas del sensor sin los metadatos dados metadatos consistentes (por ejemplo, sensor, objeto observado).
- GetFeatureOfInterest devuelve el geoobject cuyas propiedades son monitoreadas por sensores en la codificación Geography Markup Language .
- GetFeatureOfInterestTime proporciona períodos de tiempo en los que están disponibles las mediciones de un objeto observado en el SOS.
- DescribeFeatureType devuelve el tipo de geoobjects observados ( esquema XML )
- DescribeObservationType devuelve el tipo de observación ( esquema XML ), como om: Measurement).
- GetObservationById permite consultar una observación específica utilizando un identificador devuelto por el servicio como respuesta a una operación InsertObservation .
- DescribeResultModel proporciona el esquema XML del valor medido, que es particularmente importante para mediciones complejas, como datos multiespectrales.
Terminología
El OGC tiene, no solo para el SOS, su propia terminología bien definida. Para una mejor comprensión, aquí hay algunos términos importantes:
Término | Descripción |
---|---|
Característica de interés (FOI) | El ~ representa el geoobject que está sujeto a los valores medidos y es medido por sensores. El FOI suele ser el medio de ubicar (geocodificar) los puntos de medición, es decir, el geoobject tiene coordenadas (por ejemplo, latitud, longitud y altitud). Depende mucho del proyecto y debe elegirse en función de la tarea a realizar. |
Observación | Un ~ da una medida (resultado) de la propiedad (Fenómeno) de un objeto bajo observación (FOI). El valor en sí es generado por un sensor o por procedimientos (procedimiento). Además, el fenómeno se detectó en un momento particular (tiempo de muestreo) y generó el valor en un momento particular (Tiempo de resultado). A menudo, estos dos valores de tiempo son consistentes, por lo que en la práctica el tiempo de muestreo se utiliza como tiempo de observación. |
Ofrecimiento | An ~ es una agrupación lógica de observaciones que están relacionadas entre sí, que son ofrecidas conjuntamente por un servicio. |
Fenómeno | A ~ es una propiedad (cantidad física) de un geoobject. Algunos ejemplos son la temperatura del aire, la velocidad del viento, la concentración de contaminantes de la atmósfera, la radiación reflejada en cierta banda de frecuencia, etc. |
Procedimiento | A ~ produce el valor medido de una observación. Esto se puede hacer leyendo un sensor o mediante un proceso de simulación numérica. |
En el lugar | ~ es el término latino para "sobre el terreno". |
Software
El SOS es un estándar de OGC y, en última instancia, solo define una interfaz de servicio, pero no una implementación. Actualmente existen varias implementaciones de código abierto del servicio:
- Implementación de Java SOS por 52 ° Norte [3]
- Implementación de Java SOS en el marco de deegree por parte de la empresa lat / lon [4]
- Una implementación en C de SOS en MapServer
- Implementaciones de Java , Perl y Python por el proyecto OOSTethys [5]
- Una implementación de Python como istSOS [6]
Además, existen implementaciones propietarias. [7]
Referencias
- ^ http://portal.opengeospatial.org/files/?artifact_id=26667
- ^ http://www.opengeospatial.org/projects/initiatives/imisiot
- ^ http://52north.org/communities/sensorweb/sos/
- ^ http://www.deegree.org/
- ^ http://www.oostethys.org/downloads
- ^ http://istsos.org/
- ^ http://www.opengeospatial.org/resource/products/byspec
enlaces externos
- Servicio de observación de sensores OpenGIS en el sitio web de OGC