SOS-主

介绍

传感器观测服务(SOS)定义了一个web服务接口,该接口允许检索观测值、传感器元数据和从中获取观测值的特征的表示。服务接口还允许发布新的观测结果,以及注册和删除传感器。

历史

SOS 2.0版本于2007年10月发布,版本为2012年4月

版本

2.0是当前最新版本

测试套件
测试套件可用于:
启动位置

实现可以在OGC数据库中找到。这里<http://www.opengeospatial.org/resource/products/byspec>

使用

SOS的目标是以一种标准方式提供对传感器和传感器系统的观测数据的访问,该标准方式适用于所有传感器系统,包括远程、现场、固定和移动传感器。SOS通过提供应用程序编程接口(API)来管理部署的传感器并检索传感器收集的“观测”数据,从而实现了这一目标。观测数据可能由现场传感器(如地震监测)或动态传感器(如卫星成像)收集。下表列出了SOS使用示例:

SOS充当客户端应用程序和物理传感器或观测存储库之间的中介。除了访问和SOS以检索观测数据外,客户端应用程序还可以访问SOS以获取元数据,该元数据描述了与观测相关的传感器、平台、程序和其他特征。默认情况下,SOS返回的数据以可扩展标记语言(XML)的形式编写,该语言基于标准中指定的模式,如观测和测量(O&M)和传感器模型语言(SensorML)。

下图显示了SOS及其在传感器网络支持(SWE)标准套件中的作用的概述(改编自OGC文档10-073r1)。

../../_images/SWE_Overview.png

与其他OGC标准的关系

  • webfeatureserviceinterface标准(WFS):WFS标准的设计允许为任何类型的特性类型提供服务。除了要求数据在地理标记语言(Geography Markup Language,GML)中可序列化外,WFS没有设置任何其他重要的约束。相比之下,SOS规范化了与传感器收集数据相关的具体实体和概念应如何表示。

  • 观测和测量模式(O&M):O&M标准为XML模式建模,用于对来自传感器的观测和测量进行编码,包括存档的和实时的。SOS使用O&M来表示通过向SOS提出的查询返回的实际观测值和测量值。

  • 传感器规划服务(SPS):SPS标准为分配采集和观测任务定义了一个服务接口。SPS在客户端应用程序和传感器网络之间提供了用户驱动的中介。

SOS运作概述

SOS指定了许多不同的操作,其中要求所有服务器支持以下操作:

GetCapabilities

返回一个文档,该文档描述由服务器提供的SOS服务提供的功能和资源。

DescribeSensor

返回与SOS关联的过程或传感器的描述。

GetObservation

返回过程或传感器收集的观测数据。

SOS还可提供以下可选操作:

GetFeatureOfInterest

返回SOS提供观测结果的相关特征的描述。

GetObservationById

允许客户端应用程序通过传递指向该观察的指针来检索该观察。

InsertSensor

在SOS中注册一个新的传感器系统。

DeleteSensor

从SOS中删除一个新的传感器系统。

InsertObservation

允许客户端应用程序为已注册的传感器系统插入新的观测值。

InsertResultTemplate

允许客户端应用程序上载结果值的模板,以便使用InsertResult操作的后续调用将符合模板的结果值插入到SOS中。

InsertResult

允许客户端应用程序通过仅插入观察结果并重用模板提供的其他元数据来为传感器系统插入新的观测值。

GetResultTemplate

返回一个结果模板,该模板描述特定过程或传感器用于生成新观测结果的确切结构。

GetResult

允许只检索观察的结果值,而不检索观察的整个元数据。

例子

这个 SOS Demo server 发布空气质量传感器的观测结果。

基于web的SOS客户端应用程序可在以下位置查询SOS。

http://sensorweb.demo.52north.org/52n-sos-webapp/client

客户端使用

客户机需要知道SOS服务的位置才能与服务器交互。该位置通常称为服务的“端点”。端点通常是GetCapabilities请求的URI,但是服务返回的capabilities文档可能为其他操作提供可选的URI端点。

http://sensorweb.demo.52north.org/52n-sos-webapp/service?service=SOS&request=GetCapabilities&version=2.0.0

然后从GetCapabilities响应和创建的GetObservation请求中标识观察产品,以从已标识的观测产品中检索数据。一个例子 GetObservation 可用于从产品中检索数据的请求如下所示。

http://sensorweb.demo.52north.org/52n-sos-webapp/service?
service=SOS&
version=2.0.0&
request=GetObservation&
offering=http%3A%2F%2Fwww.52north.org%2Ftest%2Foffering%2F1

A link to the GetObservation request

这个 GetObservation request使用一组描述要返回的观测值的参数来查询服务器。返回的观测结果可以由桌面地理信息系统(GIS)或web应用程序呈现。或者,可以将观察结果转发给ogcwps进行进一步处理。

其他教程

网上还有其他教程资源。示例如下:

https://52north.github.io/sensor-web-tutorial/

http://www.ogcnetwork.net/sos_2_0/tutorial/