| Motivation: | Add support for ComplexFeatures. GeoTools should be able to parse a complex WFS response and construct a set of Feature objects from it. |
|---|---|
Contact: | |
Tracker: | Add ComplexFeatureSupport to GeoTools |
Tagline: | complex features FTW |
Children: |
Description
GeoTool's lack of support for parsing XML into complex features limits its effectiveness as a GIS toolkit. I propose to add this functionality by modifying currently existing Simple-feature-only type hierarchies and creating new classes to handle complex types, some of which follow:
- WFSContentDataAccess
- WFSDataAccessFactory
- XmlComplexFeatureParser
- AttributeBuilder
- ComplexFeatureBuilder
**TODO: add diagrams of before and after type hierarchies.
The XmlComplexFeatureParser is one of the key components, it uses the AttributeBuilder and ComplexFeatureBuilder to create objects that reflect the content of the XML responses (to GetFeature requests).
The WFSContentDataAccess, WFSDataAccessFactory and their parent types have been created and modified respectively to reflect the current simple feature access API as much as possible. [See examples {link:below}]
Status
This proposal is under construction.
Voting has not started yet:
- Andrea Aime
- Ben Caradoc-Davies
- Christian Mueller
- Ian Turton
- Justin Deoliveira
- Jody Garnett
- Simone Giannecchini
Tasks
This section is used to make sure your proposal is complete (did you remember documentation?) and has enough paid or volunteer time lined up to be a success
| no progress |
| done |
| impeded |
| lack mandate/funds/time |
| volunteer needed |
|---|
- API changed based on BEFORE / AFTER
- Update default implementation
- Update wiki (both module matrix and upgrade to to 2.5 pages) |
- Remove deprecated code from GeoTools project
- Update the user guide
- Update or provided sample code in demo
- review user documentation
API Changes
Filter
BEFORE:
AFTER:
Documentation Changes
list the pages effected by this proposal
- gt-opengis filter api update to reflect api change
- gt-main filter examples updated to reflect api change
- upgrade instructions
- Module Matrix page