Skip to content

Latest commit

 

History

History
217 lines (169 loc) · 11.5 KB

File metadata and controls

217 lines (169 loc) · 11.5 KB

Summary

OGC Web Feature Service (WFS) 3.0 is a revision of the WFS standard that proposes a modernized service architecture, that follows the current Web architecture, has a focus on the developer experience, supports the OpenAPI specification, and modularizes WFS into building blocks for fine-grained access to spatial data that can be used in Application Programming Interfaces (APIs) for data.

This document reviews the work that proposes a next generation of OGC web services ("NextGen services" or "Next Generation APIs") from the perspective of supporting complex three-dimensional (3D) data or complex data schemas. The goal is to identify the best service solution for these particular needs, whether the results are WFS 3.0 extensions or other approaches. In this context the approach of the NextGen services is not of monolithic web services, but Web API building blocks. This is an important point. The same API should be able to support requirements that currently require separate OGC web services, e.g. a WFS and a 3D Portrayal Service (3DPS).

The purpose of this work is not to preempt other next-generation discussions taking place in OGC but rather to inform and complement that work.

The report includes proposals on how to extend the NextGen service architecture with API building blocks for complex data, complex queries and 3D portrayal. WFS 3.0, Part 1, is used as the starting point for the NextGen service architecture. The proposals are based on existing requirements and use cases as well as existing support for developers to simplify implementation.

The work has found no general issues with migrating current WFS, 3DPS, Web Map Tile Service (WMTS) and Web Map Service (WMS) capabilities to the NextGen architecture. On the contrary, the NextGen approach improves the consistency of the interface and removes redundancies (e.g., between the feature access in WFS and the feature info requests in the other standards).

Requirements & Research Motivation

The current work on WFS 3.0 has focused on simple features and interaction, interrogation and extraction of these. However, there are more complex use cases that require 3D data and/or more complex data schemas to achieve a user-desired outcome.

This report documents real-world use cases and requirements that feature servers will have to support in the future, besides the essential capabilities specified in Part 1 of the WFS 3.0 series. These will include the following:

  • Querying / filtering features based on properties of related or nested objects or structured data types, including cases where more than one level of relationships/nesting is used;

  • Querying / filtering features based on expressions built from complex predicates consisting of predicate groups and combinations of logical operators;

  • Querying feature data and returning only parts of the features (selected properties, a single property only, etc.);

  • Access to and query of solid geometries and other geometries in a 3D Coordinate Reference System (CRS);

  • Use of responses for display in a web browser;

  • Accessing different versions (including historic representations) of features.

The use cases cover aspects like CityGML, CityGML ADEs, 3DPS, and WFS 2.0 interactions, but use other complex data schemas as background, too.

Based on the identified requirements, this report addresses the following aspects:

  • Assessment of what use cases, especially those that utilize 3D or more complex data schemas, would require more complex interactions than the current WFS 3.0, Part 1, draft would provide;

  • Assessment of current OGC standards and community specifications on the basis of both supporting the uses cases captured and alignment to NextGen service approaches, including a review around the interaction between 3DPS and WFS 2.0;

  • Recommendations for the most appropriate way to support these use cases within the NextGen service architecture.

Developer requirements have to be taken into account in the design. That is, the implementation of the proposed design should be as simple as possible (given the advanced, complex requirements). This includes research for available libraries that support implementations. The OGC community is not the only one implementing rich queries on complex data.

Prior-After Comparison

The current work on WFS 3.0 in the WFS/FES Standards Working Group (SWG) has focused on simple features and interaction, interrogation and extraction of these. However, there are more complex use cases that require 3D data and/or more complex data schemas to achieve the results that a user is looking for.

This work propose extensions to the NextGen service architecture to support such use cases.

Initial discussions about related topics are:

Like the work in the WFS/FES SWG on WFS 3.0, the work on this report has been open to the public from the beginning in order to allow early feedback from developers already during the testbed.

The formal review of the draft report before it will be submitted to the OGC Technical Committee for consideration and publication as an OGC Engineering Report will be by the WFS/FES SWG.

Recommendations for Future Work

See the chapter "Recommendations". The OGC Innovation Program would be ideal to continue work on the recommendations 1 to 4 based on recommendation 6 (validate and refine recommendations through implementation):

Recommendation 5 (develop guidance for implementing additional search capabilities) could also be a candidate for the development of a Guide as part of a Testbed.

Recommendation 7 (register media types for encodings to be used in Web APIs) is future work for the organisations that govern the i3s, 3D Tiles and CityJSON specifications.

The remainder of this section structures these recommendations in terms of potential future tasks, components, and engineering reports of future OGC Innovation Program initiatives.

The topic of GraphQL for feature data could be a candidate for a dedicated code sprint / hackathon.

Next Generation APIs

OGC Web Feature Service (WFS) 3.0 is a revision of the WFS standard that proposes a modernized service architecture, that follows the current Web architecture, has a focus on the developer experience, supports the OpenAPI specification, and modularizes WFS into building blocks for fine-grained access to spatial data that can be used in Application Programming Interfaces (APIs) for data.

OGC Testbed-14, the OGC Vector Tiles Pilot, the ongoing discussions in the OGC Architecture Board, the OGC Architecture DWG and the OWS Common SWG as well as various other activities outside of the OGC have advanced the architecture for a Next Generation of OGC standards for Web APIs significantly. The work in future OGC Innovation Program initiatives can build on these results to mature preliminary results and prepare them for standardization and to explore additional capabilties, resource types and encodings.

In particular, the following sub-tasks are recommended:

  • Specify WFS 3.0 extensions for improved fetching of feature data

  • Migrate additional resource types used in current OGC web service standards to a Next Generation architecture

  • Investigate if/how GraphQL could be used to query a feature dataset

  • Consider the use of CityJSON as an additional WFS 3.0 encoding for 3D city models

  • Develop guidance for implementing advanced search capabilities in WFS 3.0 APIs

In addition, if work on portrayal is planned, it should also be investigated how styling should be supported in a Next Generation architecture.

The following components are suggested to be deployed to test and demonstrate "complex feature handling" capabilities in Web APIs. Validation and refinement through implementation is fundamental for standards related to Web API building blocks. All requirements should be validated in multiple implementations before considering them for standardisation.

  • Next Generation API server(s) with support for CQL Core predicates

  • Next Generation API server(s) with support for STAC JSON queries

  • Next Generation API server(s) with support for CQL Extensions predicates

  • Next Generation API server(s) with support for GraphQL

  • Next Generation API server(s) with support for 2D maps

  • Next Generation API server(s) with support for 3D scenes and views

  • Next Generation API client(s)

As usual, the client(s) should support all tested capabilities.

These Engineering Reports would document the results of the component development and be written so that the result can be used in the OGC Standards Program as initial drafts for new standards. Exceptions are the Guide, which is about guidance, not conformance and potentially the GraphQL ER, which is more about experiments and documenting the results.

Document contributor contact points

All questions regarding this document should be directed to the editor or the contributors:

Contacts

Name Organization

Clemens Portele (editor)

interactive instruments GmbH

Volker Coors

Hochschule für Technik Stuttgart

Foreword

Attention is drawn to the possibility that some of the elements of this document may be the subject of patent rights. The Open Geospatial Consortium shall not be held responsible for identifying any or all such patent rights.

Recipients of this document are requested to submit, with their comments, notification of any relevant patent claims or other intellectual property rights of which they may be aware that might be infringed by any implementation of the standard set forth in this document, and to provide supporting documentation.