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