GO Loader: was used to configure, build and maintain the static data within an AIXM 5.0 Oracle triggers: once the data is loaded into the staging tables using GO Loader, various

Copyright © 2011 Open Geospatial Consortium. 35 The disadvantage is that this results in two events with the same content. This happens due to the fact that the three possible states in the activation feed namely P for pending, W for waiting and H for hot activated are translated to only two reservation phase values in AIXM. P is translated to PENDING, whereas W and H are translated to APPROVED. When an activation is changed from W to H this happens when the start time is reached the same event would be generated. As most clients already received this information and check for the start time themselves, the Snowflake Event Service Adapter suppresses these duplicate events. Below, test results for a period of over 48 hours are shown: Events received from both adapters: 911 Events received from ifgi only: 1,994 Events received from Snowflake only: 10 As you can see, there were 911 new activations and activation that were approved. In addition, 1,994 schedules switched to hot during the testing period. The ten events that were produced by the Snowflake adapter only as for the affected airspaces no AIXM designator is given in the airspace mapping file. Thus, the ifgi-adapter cannot build events for these entries. All in all, the adapter testing showed that the two event service adapters work properly and produce the same output. All differences are either intended or a result of incomplete base data. The program used to perform the above mentioned tests is available at 52°North: https:wiki.52north.orgpubSensornetSensorEventServiceSAAEventMonitor.war

7.3 Snowflake WFS

The WFS 2.0 Adapter provided by Snowflake Software is composed of the following components Figure 7-3:

1. GO Loader: was used to configure, build and maintain the static data within an AIXM 5.0

database schema, supplied in the SAA subscriber files within the Oracle database.

2. Oracle triggers: once the data is loaded into the staging tables using GO Loader, various

scripts are triggered to: a. Remove duplicate features and timeslices loaded in previous files b. Automatically generate a correction BASELINE timeslice on receipt of a new update timeslice 3. Validation and QA process: a manual validation and QA process was performed post-load to identify any issues with the data received including: a. Identify features that contain updated properties but neither the sequenceNumber or correctionNumber were incremented b. Identify features that have disappeared between files c. Visually inspect the airspace geometries to identify whether the geometries were valid. This was required to identify issues with arcByCentrePoint geometries where start and end positions were inverted. Figure 7-4 shows the results of this validation process. 4. GO Publisher WFS: transforms the data on-the-fly into AIXM 5.1 for access via the WFS 2.0 interface 36 Copyright © 2011 Open Geospatial Consortium. Figure 7-3. Snowflake Software WFS Adapter Component Architecture Figure 7-4. Summary of SAA subscriber messages received and processed Copyright © 2011 Open Geospatial Consortium. 37 The objective of the Snowflake Software WFS Adapter was to maintain the SAA messages received in conformance to the AIXM 5 Temporality Model and to provide access to the full history of the AIXM features through the WFS 2.0 adapter. Therefore, the static and dynamic data from both SAA data sources were integrated and made accessible via a single WFS 2.0 adapter Figure 7-5. Figure 7-5. Snowflake Software SAA component architecture GO Publisher Desktop was used to configure the schema transformations required to publish the SAA subscriber messages and schedule data into the SAA AIXM 5.0 specification. The data was configured to publish a single AIXM feature containing multiple BASELINE and TEMPDELTA timeslices. Example: QUAIL MOA Airspace wfs:member aixm:Airspace gml:id = Airspace1_95b5cd27-f2e7-40eb-a195-17f129625ebf gml:identifier codeSpace = http:www.faa.govnasr 95b5cd27-f2e7-40eb-a195- 17f129625ebf gml:identifier aixm:timeSlice aixm:AirspaceTimeSlice gml:id = SCHED_TS_2383562_154404 gml:validTime gml:TimePeriod gml:id = SCHED_TP_2383562_154404 gml:beginPosition 2011-06-01T18:10:00.000Z gml:beginPosition gml:endPosition 2011-06-01T20:00:00.000Z gml:endPosition gml:TimePeriod 38 Copyright © 2011 Open Geospatial Consortium. gml:validTime aixm:interpretation TEMPDELTA aixm:interpretation aixm:sequenceNumber 2 aixm:sequenceNumber aixm:activation aixm:AirspaceTimeSlice aixm:timeSlice aixm:timeSlice aixm:AirspaceTimeSlice gml:id = SCHED_TS_2384124_155004 gml:validTime gml:TimePeriod gml:id = SCHED_TP_2384124_155004 gml:beginPosition 2011-06-01T22:15:00.000Z gml:beginPosition gml:endPosition 2011-06-02T00:15:00.000Z gml:endPosition gml:TimePeriod gml:validTime aixm:interpretation TEMPDELTA aixm:interpretation aixm:sequenceNumber 3 aixm:sequenceNumber aixm:activation aixm:AirspaceTimeSlice aixm:timeSlice aixm:timeSlice aixm:AirspaceTimeSlice gml:id = Airspace1_TS11338 gml:validTime gml:TimePeriod gml:id = Airspace1_TS1_TP11338 gml:beginPosition 2011-03-10T05:00:00.000Z gml:beginPosition gml:endPosition indeterminatePosition = unknown gml:TimePeriod gml:validTime aixm:interpretation BASELINE aixm:interpretation aixm:sequenceNumber 1 aixm:sequenceNumber aixm:correctionNumber aixm:correctionNumber aixm:featureLifetime aixm:designator MQUAIL aixm:designator aixm:name QUAIL MOA, AZ aixm:name aixm:geometryComponent aixm:activation aixm:annotation aixm:extension aixm:extension aixm:AirspaceTimeSlice aixm:timeSlice aixm:Airspace wfs:member Snowflake opted to encode all BASELINE and TEMPDELTA timeslices within a single feature to ensure that when a client performed a query to select active Airspaces, the WFS response contained the correct features. Within OWS-7, Snowflake identified that if a WFS provides access to only BASELINE and TEMPDELTA timeslices encoded within separate instances of a feature, then the response to such queries is imprecise. However, issues were identified with this configuration approach: 1. More information is returned than clients request as the WFS does not provide functionality to subset the content of a complex property 2. Clients struggle to parse features containing large numbers of timeslices as load times increase, because this requires high memory usage which reduces performance Copyright © 2011 Open Geospatial Consortium. 39 To improve client performance and demonstrate that a WFS can be quickly and easily configured to meet different end user requirements, multiple end points were provided: Full history end points: these WFS end points provided access to features containing 1 or more timeslices representing the history of the feature from Jan 2011 Current history end points: these WFS end points provided access to features containing one or more timeslices whose validTimebeginPosition is greater than or equal to “now” Snowflake Software also identified the potential need for additional features as part of future development, including the integration of event features to provide a pull endpoint for event messages, and development of interpretation rules for handling the creation of AIXM 5.1 timeslices.

7.4 Luciad WFS, FPS and WMS