Problem Statement Concept and Methods

Copyright © 2013 Open Geospatial Consortium. 59

7.4.1 Stored Queries Filters

Within former test beds the complexity of filters posted to ES and WFS increased constantly. As clients often use the same subscription among different flights a new method was required to enable the straight-forward reusability of filters.

7.4.1.1 Problem Statement

Most ES subscriptions e.g. a flight route buffer and WFS queries e.g. Airspace by designator are frequently used by client applications. The work on this feature covered the testing and documentation of how WFS stored queries can be used or enhanced to facilitate the execution of common data retrieval tasks at WFS 2.0. Similar to WFS, the additional goal is to develop, test, and document how Event Service stored filters can be used to facilitate the creation of subscriptions for common information needs. Besides the technical solution, another goal was to develop a set of filters that are common in Aviation and make them available via WFS and Event Service.

7.4.1.2 Concept and Methods

The WFS specification defines a set of operations to enable stored queries: ฀ ListStoredQueries – provide a list of queries with unique identifiers ฀ DescribeStoredQueries – provide descriptions for all available a specific stored queries ฀ CreateStoredQuery – dynamically create a new stored query at the service ฀ DeleteStoredQuery – remove the stored query from the service. A client could discover and execute available stored queries and adjust their behavior through a set of parameters e.g. a designator, a flight route, etc.. A request looks like the following. Listing 2 – Stored Query Execution. http:demo.snowflakesoftware.com:8081OWS- 9_AIXM51OWS9_AIXM51?service=WFSversion=2.0.0request=GetFeature STOREDQUERY_ID=urnx:wfs:StoredQueryId:Snowflake:AirspaceDWithinAltitudeflightpath=32.520- 97203320-962032.420-97.12033.120-96.1 distance=100upperlimit=99999upperlimit_uom=FTlowerlimit=00000lowerlimit_uom=FT To enable stored filters for the ES, these operations were adopted and defined within an ES stored filter extension schema. This schema defines the following interface methods. ฀ ListStoredFilters – similar to ListStoredQueries ฀ DescribeStoredFilter – similar to DescribeStoredQueries with a query identifier 60 Copyright © 2013 Open Geospatial Consortium. Consequently, a client was able to discover and retrieve information on stored filters. A stored filter subscription was achieved by providing the unique identifier as well as the parameter values, similar to WFS stored query execution see Error Reference source not found.. Listing 3 – Stored Filter Subscription. wsnt:Subscribe wsnt:ConsumerReference wsa:Address{consumer}wsa:Address wsnt:ConsumerReference wsnt:Filter wsnt:MessageContent Dialect=http:www.opengis.netes-sf0.0 essf:StoredFilterSubscription id=urn:ogc:def:filter:OGC-ES::SubscribeForFlightRouteBuffer xmlns:essf=http:www.opengis.netes-sf0.0 essf:ParameterValue name=flightroute gml:posList srsName=urn:ogc:def:crs:EPSG::4326 45.256 -110.45 46.46 -109.48 43.84 -109.86 gml:posList essf:ParameterValue essf:ParameterValue name=distance fes:Distance uom=[nmi_i] xmlns:fes=http:www.opengis.netfes2.0 500 fes:Distance essf:ParameterValue essf:StoredFilterSubscription wsnt:MessageContent wsnt:Filter wsnt:Subscribe As the Event Service uses SOAP as the request wrapper, the following SOAP actions were defined to be used with the corresponding interface methods: ฀ ListStoredFilters - http:www.opengis.netes-sfListStoredFiltersRequest ฀ DescribeStoredFilter - http:www.opengis.netes-sfDescribeStoredFilterRequest.

7.4.1.3 Implementation