[QGIS-Developer] Adding a WCS Layer in QGIS makes multiple redundant calls.

Martin Dobias wonder.sk at gmail.com
Thu Jul 13 14:55:10 PDT 2017


Hi William

On Wed, Jul 12, 2017 at 8:29 AM, William Valencia
<william.m.valencia at nasa.gov> wrote:
> I noticed something weird with QGIS. So when making an "Add WCS Layer"
> request with QGIS, I noticed that (After initial GetCapabilities and
> DescribeCoverage), multiple redundant calls to my WCS Server are made. The
> actual "Add" Button makes 12 calls to my WCS Server. It calls 1
> GetCapabilities, 1 DescribeCoverage, 4 GetCoverage and then repeats the last
> 6 calls for a total of 12 calls. I am unsure why QGIS makes 4 GetCoverage
> calls in the first place, let alone the repeated last 6 calls for the total
> of 12 calls. Anyone know why QGIS is doing this?

I am not the author of the WCS provider, but I have some leads... the
extra GetCoverage calls are used for detection of some server
behaviors, from the code comments it looks like at some point there
were incompatibilities among WCS server implementations that lead to
addition of these checks to work around the incompatibilities. Not
sure if these checks are still necessary with the current versions of
map servers.

For the repeated calls, this a side-effect of introduction of
multi-threaded rendering since QGIS 2.4. WCS provider get cloned for
use in worker thread, but the cloning is sub-optimal - it does not
pass the downloaded capabilities, so cloned provider has to fetch that
again. It should not be hard to fix (I have fixed that for WMS in the
initial work, but WCS provider had low priority at the time).

Regards
Martin


More information about the QGIS-Developer mailing list