Add a WMTS CoverageReader
- Contact: etj (Emanuele Tajariol)
- Tracker: https://osgeo-org.atlassian.net/browse/GEOT-5766
- TLDR: Add a WMTS CoverageReader to allow Cascading WMTS layers in GeoServer
- Pull request: https://github.com/geotools/geotools/pull/1651
- Branch: squashed, not squashed
This proposal aims to create a CoverageReader
for remote WMTS layers, in the same way the WMSCoverageReader works on remote WMS layers.
When data are requested to the CoverageReader, the logic shall:
- find the TileMatrixSet which does not need reprojection for the current request (if possible)
- locate the proper tiles at the right zoomlevel
- request the tiles to the remote WMTS,
- mosaic the tiles
References:
- OGC WMTS specification documents
- design docs
- geotools-devel email discussion
- GeoTools change proposal
A note about the authors: Implementation has initially been done by Ian Turton, and then continued by Emanuele Tajariol
The changes for this proposal are split on several modules:
- ogc/net.opengis.wmtsv1: new module; contains the XML schema as defined in the XML GT documentation; includes the schema for GML311;
- extension/xsd/xsd-wmts: new module; contains the XML bindings as defined in the XML GT documentation;
-
unsupported/wmts: new module; contains
- a human-friendly WMTSCapabilities model
- logic for tiles handling
- WMTS client (extends the TileService in the tile-client module),
- the CoverageReader.
No major changes have be made on the other modules, except for some compatibility issues:
- extension/xsd/xsd-core: EMF dependency version has been bumped up (note that the artifactId has changed as well);
-
unsupported/tile-client: minor changes (
private
methods madeprotected
to allow inheritance)
Choose one of:
- Under Discussion
- In Progress
- Completed
- Rejected,
- Deferred
Voting:
- Andrea Aime +1
- Ben Caradoc-Davies
- Christian Mueller
- Ian Turton
- Justin Deoliveira
- Jody Garnett +1
- Simone Giannecchini +1
- Implement missing functionalities
- Cleanup code
- Verify with test case
- Check requirements for
tile-client
graduation - Documentation changes
- Update the user guide with code example
No API change needed for this proposal.
Since the WMTS cascading in GeoServer needs to be integrated into core modules, the dependant GT modules should not be unsupported
.
Existing unsupported modules that needs to be moved are:
- unsupported/tile-client
Note that the wmts
module in the forked repo is under unsupported/
and should be moved out of there as well.