1 Laboratoř geoinformatiky a kartografie SENSOR WEB ENABLEMENT Laboratoř geoinformatiky a kartografie Princip senzorového webu mapový server mapový klientsenzory modem Datový sklad SWE proprietární protokoly Laboratoř geoinformatiky a kartografie Příklad z precizního zemědělství Laboratoř geoinformatiky a kartografie Příklad z precizního zemědělství Laboratoř geoinformatiky a kartografie • Rozšíření principu webových služeb i na oblast senzorů • Možnost ovládání senzorových sítí – standardizovaně jako ostatní webové služby OGC – přidání nového senzoru bez nutnosti konfigurace – jednotně pro tzv. vzdálené (remote), místní (in-situ), stabilní (fixed) a mobilní (mobile) senzory – jednoduchá konfigurace a integrace do aplikací • OGC Sensor Web Enablement – http://www.opengeospatial.org/ogc/markets- technologies/swe Koncept Sensor Web Enablement (SWE) Laboratoř geoinformatiky a kartografie Šíře SWE • Observations & Measurements (O&M) • Sensor Model Language (SensorML) • SweCommon • PUCK Protocol Standard • Transducer Markup Language (TransducerML or TML) • SWE Service Model • Sensor Observations Service (SOS) • Sensor Planning Service (SPS) • Sensor Alert Service (SAS) • Web Notification Services (WNS) Převzato z: Botts, Percivall, Reed, Davidson, 2008 2 Laboratoř geoinformatiky a kartografie Observations & Measurements (O&M) • ISO 19156 standard • odpovídá/vychází z verze 2.0 OGC standardu Observations and Measurements - XML Implementation • standardizovaný model a XML schéma pro kódování pozorování a měření se senzoru (v reálném čase, archivního) • definice pozorování: “An Observation is an action whose result is an estimate of the value of some property of the feature-of-interest, at a specific point in time, obtained using a specified procedure.” Laboratoř geoinformatiky a kartografie Základní O&M schéma class Figure 2: Observation Core «FeatureType» OM_Observation + phenomenonTime: TM_Object + resultTime: TM_Instant + validTime: TM_Period [0..1] + resultQuality: DQ_Element [0..*] + parameter: NamedValue [0..*] constraints {observedProperty shall be a phenomenon associated with the type of the feature of interest} {procedure shall be suitable for observedProperty} {result type shall be suitable for observedProperty} {a parameter.name shall not be used more than once} «FeatureType» OM_Process «Type» GFI_PropertyType «FeatureTyp... GFI_Feature MD_Metadata «type» Any {root} «metaclass» GF_FeatureType «metaclass» GF_PropertyType {root} «DataType» NamedValue + name: GenericName + value: Any ObservationContext + role: GenericName 0..* +relatedObservation 0..* +result Range +generatedObservation 0..* ProcessUsed +procedure1 Phenomenon +observedProperty 1 +propertyValueProvider 0..* Domain +featureOfInterest 1 Metadata +metadata 0..1 «instanceOf» +carrierOfCharacteristics 0..* +theGF_FeatureType 1 «instanceOf» Převzato z: ISO 19156, upraveno Laboratoř geoinformatiky a kartografie Sensor Model Language (SensorML) • standardizovaný model a XML schéma pro popis senzorových systémů a procesů, vč. dotazovatelných parametrů • strukturace informace vztahující se k senzorům • SensorML není jen standardizovaným XML kódováním pro data využívající O&M koncept, ale také definuje kódování procesu měření • stále pouze verze 1.0, práce na verzi 2.0 pokračují Laboratoř geoinformatiky a kartografie SweCommon • standardizovaný model a pro výměnu senzorových dat mezi SWE-kompatibilními službami a rozhraními • zabývá se vyjádřením hodnot dat • podporuje tzv. – Simple Types • Boolean • Text • Quantity (například Real a uom) • Category (strukturovaná informace ze slovníku) • Time • Count (de facto integer) – Aggregate Types • kombinace několika Simple Types Laboratoř geoinformatiky a kartografie SweCommon Simple Types class SWECommon_SimpleTypes «Type» Simple Components::Time «property» + referenceTime: DateTime [0..1] + localFrame: TM_TemporalCRS [0..1] + uom: UomTime + constraint: AllowedTimes [0..1] + value: TM_Position [0..1] «Type» Simple Components::Quantity «property» + uom: UnitOfMeasure + constraint: AllowedValues [0..1] + value: Real [0..1] «Type» Simple Components::Category «property» + codeSpace: Dictionary [0..1] + constraint: AllowedTokens [0..1] + value: CharacterString [0..1] «Type» Simple Components:: AbstractSimpleComponent «property» + referenceFrame: SC_CRS [0..1] + axisID: CharacterString [0..1] + quality: Quality [0..*] + nilValues: NilValues [0..1] «Type» Simple Components:: Boolean «property» + value: Boolean [0..1] «Type» Simple Components::Count «property» + constraint: AllowedValues [0..1] + value: Integer [0..1] «Type» Simple Components::Text «property» + constraint: AllowedTokens [0..1] + value: CharacterString [0..1] AbstractSWEIdentifiable «Type» Simple Components:: SWECommon_SimpleTypes «property» + definition: ScopedName [0..1] + optional: Boolean [0..1] = false + updatable: Boolean [0..1] Vytvořeno z: OGC SWE Common Data Model UML repository Laboratoř geoinformatiky a kartografie SweCommon Aggregate Types Vytvořeno z: OGC SWE Common Data Model UML repository class SWECommon_AggregateTypes AbstractSWEIdentifiable «Type» Simple Components:: AbstractDataComponent «property» + definition: ScopedName [0..1] + optional: Boolean [0..1] = false + updatable: Boolean [0..1] «Type» Record Components::DataRecord «property» + field: SWECommon_SimpleTypes [1..*] «Type» Choice Components::DataChoice «property» + choiceValue: Category [0..1] + item: SWECommon_SimpleTypes [2..*] «Type» Block Components::DataArray «property» + elementCount: Count + elementType: SWECommon_SimpleTypes + encoding: AbstractEncoding [0..1] + values: EncodedValues [0..1] 3 Laboratoř geoinformatiky a kartografie SweCommon kódování Vytvořeno z: OGC SWE Common Data Model UML repository class SWECommon_Encodings «Type» Simple Encodings::AbstractEncoding «Type» Simple Encodings::TextEncoding «property» + tokenSeparator: CharacterString + blockSeparator: CharacterString + decimalSeparator: CharacterString [0..1] = . + collapseWhiteSpaces: Boolean [0..1] = true «Type» Simple Encodings:: XMLEncoding «Type» Advanced Encodings:: BinaryEncoding «property» + byteLength: Integer [0..1] + byteEncoding: ByteEncoding + byteOrder: ByteOrder + member: ComponentOrBlock [1..*] Laboratoř geoinformatiky a kartografie Sensor Observation Service (SOS) • standardizované webové rozhraní pro dotazování, filtrování, a získávání pozorování a měření • základní webová služba pro přístup k datům ze senzorů/senzorových sítí • zatím pouze request/response mechanismus, uvažuje se o publish/subscribe • možné požadavky: – GetCapabilities – GetObservation (přístup k datům ze senzorových pozorování a měření prostřednictvím prostorových/časových dotazů) – DescribeSensor • možnost transakčního SOS (obdobně jako WFS) – RegisterSensor – InsertObservation Laboratoř geoinformatiky a kartografie Parametry GetObservation dotazu SOS Laboratoř geoinformatiky a kartografie Rozšíření základního konceptu SOS • Přidání dalších operací k základu SOS: – GetResult – GetFeatureOfInterest – GetFeatureOfInterestTime – DescribeFeatureOfInterest – DescribeObservationType – DescribeResultModel Laboratoř geoinformatiky a kartografie Sensor Planning Service (SPS) • standardizované webové rozhraní pro získání uživatelsky definovaných pozorování a měření • výrazná změna mezi léty 2009 a 2011, v roce 2011 publikována verze 2.0 • SPS verze 1.0 byla výrazně závislá na ostatních službách, zejména Web Notification Service (WNS) • SPS verze 2.0 umožňuje i asynchronní komunikaci mezi klientem a serverem (založené na WS-Notification a WSAddressing) • využitelné pro všechny senzory, relativně často používané pro bezpilotážní letadla Laboratoř geoinformatiky a kartografie Sensor Planning Service (SPS) sd SPS interface ServerClient 1.0 GetCapabilities(service metadata) 2.0 DescribeSensor(sensor description) 3.0 DescribeTasking(parameter description) 4.0 GetFeasibility(feasibility report) 5.0 GetStatus(status report) 6.0 describeResultAccess(service references)