Bug report #7209
WCS client seems broken
Status: | Closed | ||
---|---|---|---|
Priority: | Severe/Regression | ||
Assignee: | Radim Blazek | ||
Category: | Web Services clients/WCS | ||
Affected QGIS version: | master | Regression?: | No |
Operating System: | Easy fix?: | No | |
Pull Request or Patch supplied: | No | Resolution: | worksforme |
Crashes QGIS or corrupts data: | No | Copied to github as #: | 16249 |
Description
When trying to use the WCS client on qgis master and Ubuntu 12.04 I get crashes or error messages or the layer are added as all zeroes.
For exemple using the Mapserver demo WCS server
http://demo.mapserver.org/cgi-bin/wcs
I get constantly
WCS provider: Cannot get test dataset.
Raster layer: Provider is not valid (provider: wcs, URI: cache=PreferNetwork&crs=EPSG:26915&format=GEOTIFF_INT16&identifier=modis&time=2002-001&url=http://demo.mapserver.org/cgi-bin/wcs
If I use the address
http://demo.mapserver.org/cgi-bin/wcs?SERVICE=wcs&VERSION=1.0.0&REQUEST=GetCapabilities
I get crashes
Warning: QMetaObject::connectSlotsByName: No matching signal for on_mAddWMSButton_clicked()
Segmentation fault
with other servers I'm able to add layers but they have just 0 in it.
Associated revisions
set correctly raster block nodata if layer extent or resolution is smaller than requested, fixes #7209
History
#1 Updated by Giovanni Manghi over 11 years ago
The crashes/errors of the original description are gone, but the client still does not seems to work ok.
With the already linked Mapserver demo WCS server the layers are correctly visible only at certain scales, even if does not seems to exist such limitation at server level.
#2 Updated by Radim Blazek over 11 years ago
- Status changed from Open to Closed
Fixed in changeset a2fc3b42aafc31814916bb6d496166d155755a95.
#3 Updated by Radim Blazek over 11 years ago
- Assignee set to Radim Blazek
#4 Updated by Gavin Fleming almost 11 years ago
I'm getting this same error with QGIS master. With my own geoserver WCS I get
WCS provider: Cannot get test dataset.
Raster layer: Provider is not valid (provider: wcs, URI: ...
With the Mapserver demo service I get a black image.
Also, QGIS seems to cache the GetCapabilities? If I update the available CRS on a layer in Geoserver the new CRS is not reflecting in the QGIS WCS layer list.
Lastly, how is the spatial subset for the request supposed to be defined? I was viewing a part of south africa when I chose NDVI from the Mapserver demo and it fetched the whole ndvi extent in the US (however black), so it doesn't appear to be using the canvas extents.
related to #6056?
#5 Updated by Radim Blazek almost 11 years ago
Gavin Fleming wrote:
I'm getting this same error with QGIS master. With my own geoserver WCS I get
WCS provider: Cannot get test dataset.
Raster layer: Provider is not valid (provider: wcs, URI: ...
No more detailed message from server? Can you try to find what is wrong? Take the request URL and open it in browser and try to find what is wrong, e.g. extent etc. Is it the server public?
With the Mapserver demo service I get a black image.
Wrong values or wrong colors? Probably lost no data value? Which URL?
Also, QGIS seems to cache the GetCapabilities? If I update the available CRS on a layer in Geoserver the new CRS is not reflecting in the QGIS WCS layer list.
The dialog should respect "Cache" settings at bottom. If you switch to "Always network" it should always reload data. It does not?
Lastly, how is the spatial subset for the request supposed to be defined? I was viewing a part of south africa when I chose NDVI from the Mapserver demo and it fetched the whole ndvi extent in the US (however black), so it doesn't appear to be using the canvas extents.
The raster is treated as any other raster source, the extent reported in capabilities is taken as maximum extent. There is no additional subextent.
#6 Updated by Giovanni Manghi almost 11 years ago
- Target version changed from Version 2.0.0 to Future Release - High Priority
- Status changed from Closed to Reopened
On QGIS master the WCS client seems really broken, I cannot add any layer (on both Linux and Windows) by this services
http://demo.mapserver.org/cgi-bin/wcs
http://wms.pcn.minambiente.it/wcs/DES_ERO_NDVI
try 2/3 times usually leads to a crash.
#7 Updated by Giovanni Manghi almost 11 years ago
other services that can be tested
#8 Updated by Paolo Cavallini almost 11 years ago
In case it is not fixed in time for QGIS 2.2, I suggest to remove it: shipping a knowingly broken service will not be good.
#9 Updated by Salvatore Larosa almost 11 years ago
Giovanni Manghi wrote:
On QGIS master the WCS client seems really broken, I cannot add any layer (on both Linux and Windows) by this services
http://demo.mapserver.org/cgi-bin/wcs
http://wms.pcn.minambiente.it/wcs/DES_ERO_NDVI
try 2/3 times usually leads to a crash.
I've really very difficulties to make crashing my QGIS (Linux - 0ca7316), please could you say to me what I should do to crash?
I tested the above URLs but I can load the dataset just fine.
#10 Updated by Giovanni Manghi almost 11 years ago
Paolo Cavallini wrote:
In case it is not fixed in time for QGIS 2.2, I suggest to remove it: shipping a knowingly broken service will not be good.
Now that QGIS server supports WCS, it would be very bad to remove the client.
#11 Updated by Giovanni Manghi almost 11 years ago
I've really very difficulties to make crashing my QGIS (Linux - 0ca7316), please could you say to me what I should do to crash?
I tested the above URLs but I can load the dataset just fine.
of course, because now it is working :)
anyway since its arrive in qgis i have seen the wcs client (apparently) stop to work many times along the qgis master development...
this is really hard to follow.
#12 Updated by Radim Blazek almost 11 years ago
The last considerable change in WCS client was 3 months ago, so I have no idea how it got broken and cured itself in the last month.
#13 Updated by aperi2007 - almost 11 years ago
Using the client wcs from last trunk,
I notice that the option "always-cache" don't seem work. It return always a message that the getcapabilities returned from wcs server is not correct.
Instead it work correctly is I use the option "always-network"
I'm not sure this is related to this ticket.
#14 Updated by Radim Blazek almost 11 years ago
"Always-cache" is also used for get capabilities, if the request failed the first time (during the server configuration for example), the response is cached. It should work again with "always-cache" if you clear cache.
It should be probably changed so that the request is always resent as "always-network" if the request failed and current mode is "always-cache" or "prefer-cache".
This is a different issue, please create a new one if you want.
#15 Updated by Giovanni Manghi almost 11 years ago
Radim Blazek wrote:
The last considerable change in WCS client was 3 months ago, so I have no idea how it got broken and cured itself in the last month.
yeah I know, this is why I wrote "apparently". Anyway now I tested also under Windows and apparently now is working. So this seems can be closed, but I agree that by default maybe would be better to use "always network".
#16 Updated by Radim Blazek almost 11 years ago
Giovanni Manghi wrote:
yeah I know, this is why I wrote "apparently". Anyway now I tested also under Windows and apparently now is working.
Unfortunately it can also mean that the bug is still there but does not manifest.
I agree that by default maybe would be better to use "always network".
Switching to "always network" by default would be bad because most WCS servers do not set correctly cache control headers (Expires, Cache-Control: max-age, ETag) so that cached requests result to be outdated with "prefer-cache". WCS without caching is usually terribly slow and users complain about speed. WCS is also understand by some people to be a data download tool, they don't have overviews etc.
I mean to repeat with "always network" only if it failed.
#17 Updated by Giovanni Manghi almost 11 years ago
- Status changed from Reopened to Closed
- Resolution set to worksforme
Radim Blazek wrote:
Unfortunately it can also mean that the bug is still there but does not manifest.
I understand, but anyway now seems work as expected, so I'm closing this for now. If new evidences of issues will surface I will reopen it.