센서 관찰 서비스
Sensor Observation ServiceSOS(Sensor Observation Service)는 실시간 센서 데이터와 센서 데이터 시계열을 조회하는 웹 서비스로 센서 웹에 속한다. 제공된 센서 데이터는 센서 모델 언어(SensorML)로 인코딩된 센서의 직접 데이터와 관찰 및 측정(O&M) 인코딩 형식의 측정값으로 구성된다. 웹 서비스뿐만 아니라 두 파일 형식 모두 개방형 표준이며 OGC(Open Geospatial Consortium)에서 정의한 동일 이름의 사양이다.
SOS가 거래 프로파일(SOS-T)을 지원하는 경우 서비스 인터페이스에 새 센서를 등록하고 측정값을 삽입할 수 있다. SOS 구현은 원격 감지 센서뿐만 아니라 현장 데이터에도 사용할 수 있다. 게다가, 이 센서는 이동형 또는 정지형일 수 있다.
2007년부터 SOS는 공식 OGC 표준이다.[1] SOS의 장점은 모든 종류의 센서 데이터가 표준화된 작동을 사용하여 표준화된 형식으로 제공된다는 것이다. 따라서 센서 데이터에 대한 웹 기반 액세스가 단순화된다. 또한 기존의 공간정보 인프라나 지리정보시스템에 쉽게 통합할 수 있다.
2016년 OGC가 SensorThings API 규격서를 승인한 결과, 새로운 RESTful 및 JSON 기반 표준은 SOS와 유사한 기능을 제공한다. SensorThings API와 SOS 모두 OGC/ISO 19156:2011을 기반으로 하기 때문에, OGC IoT 파일럿에서 상호 운용할 수 있는 두 가지 사양이 실증되었다.[2]
운영
SOS에는 각 이행에 의해 제공되어야 하는 이른바 핵심 운용 3개가 있다. GetCapability 작업을 통해 서비스 인터페이스와 사용 가능한 센서 데이터에 대한 설명을 서비스에 쿼리할 수 있다. SOS를 사용하기 위해서는 아마도 GetObservation 기능이 가장 중요할 것이다. 특정 센서의 데이터를 검색하는 데 활용할 수 있다. DescriptSensor 기능은 센서 또는 센서 시스템과 생산 프로세스에 대한 자세한 정보를 반환한다.
핵심 작업(핵심 프로파일)
- GetCapability는 인터페이스(오퍼링된 작동 및 엔드포인트)에 대한 정보뿐만 아니라 센서 데이터를 사용할 수 있는 기간, 측정된 값을 생성하는 센서 또는 관찰된 현상(예: 공기 온도)과 같은 사용 가능한 센서 데이터도 포함한 XML 서비스 설명을 반환한다.
- GetObservation은 메타데이터를 포함하여 관찰된 값의 풀 기반 쿼리를 허용한다. 측정값과 그 메타데이터는 O&M(관찰 및 측정) 형식으로 반환된다.
- 설명센서 - 센서ML에서 센서 메타데이터 제공 센서 설명에는 센서에 대한 일반적인 정보, 식별자 및 분류, 위치 및 관찰 현상뿐만 아니라 보정 데이터와 같은 세부 정보도 포함될 수 있다.
트랜잭션 작업(트랜잭션 프로파일)
- RegisterSensor는 전개된 SOS에 새 센서를 등록할 수 있다.
- InsertObservation은 SOS에 이미 등록된 센서의 데이터를 삽입하는 데 사용할 수 있다.
확장 작업(향상된 프로파일)
- GetResult는 일관된 메타데이터(예: 센서, 관찰 객체)를 제공하지 않고 센서 판독치를 쿼리할 수 있는 기능을 제공한다.
- GetFeatureOf관심사는 지리 마크업 언어 인코딩에서 센서에 의해 속성을 모니터링하는 지오버젝트를 반환한다.
- GetFeatureOfInterestTime은 SOS에서 관찰된 물체의 측정을 사용할 수 있는 기간을 제공한다.
- 설명기능유형이 관찰된 Geoobject 유형을 반환함(XML 스키마)
- 설명관찰Type은 om: Measurement와 같은 관찰 유형(XML Schema)을 반환한다.
- GetObservationById는 InsertObservation 작업에 대한 응답으로 서비스에서 반환한 식별자를 사용하여 특정 관찰을 쿼리할 수 있다.
- DescriptResultModel은 다중 스펙트럼 데이터와 같은 복잡한 측정에 특히 중요한 측정값의 XML 스키마를 제공한다.
용어.
OGC는 SOS뿐만 아니라 자체적인 명확한 용어를 가지고 있다. 보다 나은 이해를 위해 몇 가지 중요한 용어가 있다.
용어 | 설명 |
---|---|
관심 기능(FOI) | ~는 측정값의 영향을 받고 센서에 의해 측정되는 Geoobject를 나타낸다. FOI는 일반적으로 측정 지점을 위치(지오코딩)하는 수단이다. 즉, 지오버젝트에는 좌표(예: 위도, 경도 및 고도)가 있다. 그것은 프로젝트에 매우 많이 의존하고 당면한 과제에 따라 선택되어야 한다. |
관찰 | ~는 관찰 대상 물체의 특성(페노멘온)에 대한 측정(결과)을 제공한다. 값 자체는 센서 또는 절차(절차)에 의해 생성된다. 나아가 이 현상은 특정 시간(샘플링 시간)에 감지되어 특정 시간(결과 시간)에 값을 생성하였다. 종종 이 두 시간 값은 일관성이 있기 때문에, 실제로 샘플링 시간은 관찰 시간으로 사용된다. |
오퍼링 | ~는 서비스 기관이 공동으로 제공하는 서로 관련된 관찰의 논리적 그룹이다. |
현상 | A ~는 거버젝트의 속성(물리적 수량)이다. 예로는 대기 온도, 풍속, 대기 오염 물질 농도, 특정 주파수 대역의 반사 방사선 등이 있다. |
절차 | A ~는 관측치의 측정값을 산출한다. 이것은 센서나 수치 시뮬레이션 과정을 읽음으로써 할 수 있다. |
제자리에 | ~는 라틴어로 "즉시"를 뜻한다. |
소프트웨어
SOS는 OGC의 표준이며 궁극적으로 서비스 인터페이스만 정의하고 구현은 정의하지 않는다. 현재 이 서비스의 몇 가지 오픈 소스 구현:
- 52°North에[3] 의한 Java SOS 구현
- 회사 lat/lon에[4] 의한 디그리스 프레임워크 내의 Java SOS 구현
- MapServer에서 SOS의 C 구현
- 프로젝트 OOstethys에[5] 의한 Java, Perl 및 Python 구현
- Python 구현(istSOS[6]
또한 독점적 구현이 존재한다.[7]