0

I'm attempting to load HYCOM ocean currents model WCS layers into QGIS. QGIS is able to access the server and the available layers at "https://wcs.hycom.org/thredds/wcs/GLBy0.08/latest?version=1.0.0". QGIS is able to connect and retrieve the available layers, but reports the following error when attempting to add the layer:

"Invalid Layer: WCS provider Cannot get test dataset. Raster layer Provider is not valid (provider: wcs, URI: cache=PreferNetwork&crs=OGC:CRS84&dpiMode=7&format=GeoTIFF_Float&identifier=water_u_bottom&time=2020-08-17T12:00:00Z&url=https://wcs.hycom.org/thredds/wcs/GLBy0.08/latest?version%3D1.0.0"

I've attempted multiple HYCOM datasets with varying layer formats with no success.

1 Answer 1

0

This looks like an error in the service, not in the ability of QGIS to access the service.

https://wcs.hycom.org/thredds/wcs/GLBy0.08/latest?service=WCS&version=1.0.0&request=DescribeCoverage&Coverage=water_u_bottom&

A describe coverage request on the water_u_bottom coverage shows an invalid CRS (EPSG:0 [Latitude_Longitude]):

<gml:RectifiedGrid srsName="EPSG:0 [Latitude_Longitude]" dimension="3">
    <gml:limits>
        <gml:GridEnvelope>
            <gml:low>0 0 0</gml:low>
            <gml:high>4499 4250 39</gml:high>
        </gml:GridEnvelope>
    </gml:limits>
    <gml:axisName>x</gml:axisName>
    <gml:axisName>y</gml:axisName>
    <gml:axisName>z</gml:axisName>
    <gml:origin>
        <gml:pos>0.0 -80.0 0.0</gml:pos>
    </gml:origin>
    <gml:offsetVector>0.08000000976779562 0.0 0.0</gml:offsetVector>
    <gml:offsetVector>0.0 0.04 0.0</gml:offsetVector>
    <gml:offsetVector>0.0 0.0 128.2051282051282</gml:offsetVector>
</gml:RectifiedGrid>

Note that the reference to urn:ogc:def:crs:OGC:1.3:CRS84 here is a reference to the description of the envelope, not to the CRS.

When you try to load a coverage, QGIS uses a default CRS (OGC:CRS84) to give a GetCoverage request like:

https://wcs.hycom.org/thredds/wcs/GLBy0.08/latest?SERVICE=WCS&VERSION=1.0.0&REQUEST=GetCoverage&FORMAT=GeoTIFF_Float&COVERAGE=water_u_bottom&TIME=2020-08-18T12:00:00Z&BBOX=0,-80,359.9200439453125,90&CRS=OGC:CRS84&RESPONSE_CRS=OGC:CRS84&WIDTH=10&HEIGHT=10

But the server replies with an HTTP 400.

You can access the service in QGIS if you use a full GetCoverage request without any CRS, as a raster layer specifying an HTTP/S connection instead of a file, like:

https://wcs.hycom.org/thredds/wcs/GLBy0.08/latest?SERVICE=WCS&VERSION=1.0.0&REQUEST=GetCoverage&FORMAT=GeoTIFF_Float&COVERAGE=water_u_bottom&TIME=2020-08-18T12:00:00Z&BBOX=0,-80,359.9200439453125,90&

4
  • Thanks! That worked! I successfully loaded the extent I need via: "wcs.hycom.org/thredds/wcs/GLBy0.08/…" as a representation of New Jersey, USA. The image clearly depicts New Jersey, however in a different CRS represented by a bounding box of (234,88,287,41). Any ideas what that issue may be related to?
    – GSHinks
    Commented Aug 24, 2020 at 18:01
  • So the issue is discussed here: github.com/qgis/QGIS/issues/34569, it does appear to be an issue with netcdf/thredds, but QGIS developers are trying to see if they can handle the exception.
    – nmtoken
    Commented Aug 24, 2020 at 18:43
  • Not sure what the CRS is, it's not CRS:84 or EPSG:4326, because those CRS use longitude bounds +/- 180 degrees and here we have something greater than that.
    – nmtoken
    Commented Aug 24, 2020 at 18:52
  • Thanks for the update!
    – GSHinks
    Commented Aug 24, 2020 at 19:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.