wiki:FDORfc51

Version 19 (modified by leodai, 14 years ago) ( diff )

--

FDO RFC 51 - Update WFS provider to support 1.1.0

This page contains an change request (RFC) for the FDO Open Source project. More FDO RFCs can be found on the RFCs page.

Status

RFC Template Version(1.0)
Submission Date July. 28, 2010
Last Modified Leo Dai - 07/28/16:30:00
AuthorLeo Dai, Leaf Li
RFC StatusDraft
Implementation StatusPending
Proposed Milestone3.6.0.0
Assigned PSC guide(s)Orest Halustchak, Greg Boone
Voting History
+1
+0
-0
-1

Overview

The purpose of this RFC is to enhance FDO WFS provider to support the WFS latest 1.1.0 version. It outlines changes that are required in the FDO.

Motivation

The OGC upgrades the WFS specification from 1.0.0 to 1.1.0, and also changes some definitions in it. Currently, WFS FDO provider is hard-coded to 1.0.0 version related in its code. So we need to enhance it to support both versions.

Proposed Solution

WFS spec changes a lot while upgrading from 1.0.0 to 1.1.0. For example: The service schema’s structure changed, and it now uses GML 3 instead of GML 2. Accordingly, we need to enhance the provider in the following areas in order to make sure it can consume both versions:

  1. Support WFS 1.1.0 capability schema

The WFS spec defines new capability schema while upgrading from 1.0.0 to 1.1.0, so we must enhance the parsing process in WFS FDO provider also to support both versions. The following diagram shows capability schema in 1.0.0.

And this is the new capability schema in 1.1.0:


From the XML schema diagram above, we can see the 1.1.0 version used the ows:CapabilitiesBaseType instead of wfs:ServiceType exists in 1.0.0. So the OWS related elements parsing process will be put into OWS component. WFS 1.1.0 spec has also defined some new operations, like LockFeature, !GetGMLObject... We are not going to support these commands yet in this updates. In this enhancement, we will focus on the elements and operations which already existed in 1.0.0 version but changed in 1.1.0 version.

  1. Handle GML 3

WFS1.1.0 uses GML 3 instead of GML 2 as default format for GetFeature and DescribeFeatureType request. Currently FDO can only handle GML 2 correctly and have some problem with GML 3, we need to enhance it to support both versions well. This includes two aspects:

GML 3 to FDO

  • GML 3 schema to FDO schema
  • GML 3 feature to FDO feature (FDO only has a reader API, used by the WFS provider, which exposes GML features as FDO features. This API should be updated to handle GML 3)

FDO to GML 3

  • FDO schema to GML 3 schema
  • FDO feature to GML 3 feature

Note: Those transform functions are implemented in the FDO component.

  1. Handle different version request

Currently, the WFS FDO provider uses version 1.0.0 (hard-coded) while sending the request to server. So first, we need to accept version information while open connection, and also set the correct version in the request parameters. Similar with WMS FDO provider, the design solution is to store the version information in the Feature server connecting property. And parse it in the provider, a default version will be provided if user doesn’t set.

Implications

The change just enhances the WFS provider to support 1.1.0 version, it will not cause any side-effects.

Test Plan

Add specific unit tests to WFS FDO provider to test the WFS 1.1.0 server consumption. Also Existing unit tests related with GML in FDO will be expanded to test the proposed enhancements defined above.

Funding/Resources

Autodesk to provide resources / funding

Attachments (2)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.