Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
[FEATURE] [WFS provider] Add support for WFS 2.0 joins and other impr…
…ovements Second part of qgis/QGIS-Enhancement-Proposals#53 (QEP 35: WFS provider enhancements) - URI parameter with sql with SELECT / FROM / JOIN / WHERE / ORDER BY clauses - handle WFS 2.0 joins - handle DateTime fields - enable "Only request features overlapping the view extent" by default (and memorize the settings) - rework DescribeFeatureType parsing to handle responses with several documents, and some support for attribute types being complexType - rework feature transfer between downloader and iterator so as to avoid uncontrolled RAM usage when the iterator cannot keep up with the downloader - turn on WAL journaling for better reader / writer concurrency - add retry logic based on the 'Max retry in case of tile request errors' setting (renamed 'Max retry in case of tile or feature request errors') - error to MessageBar in case of failed download - in progress dialog, add a "Hide" button to mask the dialog - improve automated testing - add testing of the GUI of QgsWFSSourceSelect
- Loading branch information
Showing
with
3,294 additions
and 443 deletions.
- +1 −0 src/core/qgsvectorlayer.h
- +210 −0 src/providers/wfs/qgswfscapabilities.cpp
- +46 −1 src/providers/wfs/qgswfscapabilities.h
- +4 −1 src/providers/wfs/qgswfsconstants.cpp
- +3 −0 src/providers/wfs/qgswfsconstants.h
- +4 −2 src/providers/wfs/qgswfsdataitems.cpp
- +22 −2 src/providers/wfs/qgswfsdatasourceuri.cpp
- +13 −2 src/providers/wfs/qgswfsdatasourceuri.h
- +407 −118 src/providers/wfs/qgswfsfeatureiterator.cpp
- +49 −11 src/providers/wfs/qgswfsfeatureiterator.h
- +645 −100 src/providers/wfs/qgswfsprovider.cpp
- +22 −8 src/providers/wfs/qgswfsprovider.h
- +22 −1 src/providers/wfs/qgswfsrequest.cpp
- +8 −0 src/providers/wfs/qgswfsrequest.h
- +299 −84 src/providers/wfs/qgswfsshareddata.cpp
- +33 −13 src/providers/wfs/qgswfsshareddata.h
- +270 −48 src/providers/wfs/qgswfssourceselect.cpp
- +8 −2 src/providers/wfs/qgswfssourceselect.h
- +25 −0 src/providers/wfs/qgswfsutils.cpp
- +5 −0 src/providers/wfs/qgswfsutils.h
- +1 −1 src/ui/qgsoptionsbase.ui
- +1 −0 tests/src/python/CMakeLists.txt
- +879 −49 tests/src/python/test_provider_wfs.py
- +317 −0 tests/src/python/test_provider_wfs_gui.py
Oops, something went wrong.