Skip to main content
deleted 33 characters in body; edited title
Source Link
PolyGeo
  • 65.4k
  • 29
  • 114
  • 345

QGIS does not support mysupporting WCS

Any help is much appreciated!

QGIS does not support my WCS

Any help is much appreciated!

QGIS not supporting WCS

Source Link

QGIS does not support my WCS

I'm using QGIS 3.2.8 as a client for my WCS (1.0.0) server. I can successfully add and view layers, and they are displayed with the correct values at the right positions.

However, my use case is to compute zonal statistics on my WCS-served layers. And these are clearly wrong as they always show a count of 0 pixels, no matter what layers I choose as input. And indeed, raster layer properties show me that my WCS-served layer supposedly has height and width of 0 pixels:

{'BAND_COUNT': 1,
'CRS_AUTHID': 'EPSG:4326',
'EXTENT': '20.0000000000000000,59.6923076920306883 : '
'26.8515421779061363,61.0277777780547837',
'HAS_NODATA_VALUE': True,
'HEIGHT_IN_PIXELS': 0,
'NODATA_VALUE': nan,
'PIXEL_HEIGHT': 1.0,
'PIXEL_WIDTH': 1.0,
'WIDTH_IN_PIXELS': 0,
'X_MAX': 26.851542177906136,
'X_MIN': 20.0,
'Y_MAX': 61.027777778054784,
'Y_MIN': 59.69230769203069}

That's suspicious. And more so, I cannot even select "Histogram" from the layer properties - I guess that is due to those false width and height values.

For debugging, I am logging the requests by QGIS in my WCS. This is a sample request, made when I computed the raster layer properties:

http://localhost:8081/wcs/kvp?service=WCS&version=1.0.0&request=GetCoverage&SERVICE=WCS&VERSION=1.0.0&REQUEST=GetCoverage&FORMAT=netcdf&COVERAGE=FI_HROC_L4D_1M.CHL_mean&TIME=2020-01-01T00:00:00Z&BBOX=21.13517266280027229,59.69230769203068832,24.73223230620099855,61.02777777805478365&CRS=EPSG:4326&RESPONSE_CRS=EPSG:4326&WIDTH=943&HEIGHT=352

The CDL of the response NetCDF is

netcdf kvp10 {
dimensions:
    time = 1 ;
    lat = 352 ;
    lon = 943 ;
variables:
    int64 time(time) ;
        time:long_name = "time" ;
        time:standard_name = "time" ;
        time:units = "days since 2020-01-01 00:00:00" ;
        time:calendar = "proleptic_gregorian" ;
    double lat(lat) ;
        lat:_FillValue = NaN ;
        lat:long_name = "y coordinate of projection" ;
        lat:standard_name = "projection_y_coordinate" ;
    double lon(lon) ;
        lon:_FillValue = NaN ;
        lon:long_name = "x coordinate of projection" ;
        lon:standard_name = "projection_x_coordinate" ;
    float CHL_mean(time, lat, lon) ;
        CHL_mean:_FillValue = NaNf ;
        CHL_mean:long_name = "Chlorophyll-a concentration" ;
        CHL_mean:standard_name = "mass_concentration_of_chlorophyll_a_in_sea_water" ;
        CHL_mean:units = "mg m-3" ;
        CHL_mean:valid_min = 0. ;
        CHL_mean:grid_mapping = "crs" ;
    int64 crs ;
        crs:crs_wkt = "GEOGCRS[\"WGS 84\",ENSEMBLE[\"World Geodetic System 1984 ensemble\",MEMBER[\"World Geodetic System 1984 (Transit)\"],MEMBER[\"World Geodetic System 1984 (G730)\"],MEMBER[\"World Geodetic System 1984 (G873)\"],MEMBER[\"World Geodetic System 1984 (G1150)\"],MEMBER[\"World Geodetic System 1984 (G1674)\"],MEMBER[\"World Geodetic System 1984 (G1762)\"],MEMBER[\"World Geodetic System 1984 (G2139)\"],ELLIPSOID[\"WGS 84\",6378137,298.257223563,LENGTHUNIT[\"metre\",1]],ENSEMBLEACCURACY[2.0]],PRIMEM[\"Greenwich\",0,ANGLEUNIT[\"degree\",0.0174532925199433]],CS[ellipsoidal,2],AXIS[\"geodetic latitude (Lat)\",north,ORDER[1],ANGLEUNIT[\"degree\",0.0174532925199433]],AXIS[\"geodetic longitude (Lon)\",east,ORDER[2],ANGLEUNIT[\"degree\",0.0174532925199433]],USAGE[SCOPE[\"Horizontal component of 3D system.\"],AREA[\"World.\"],BBOX[-90,-180,90,180]],ID[\"EPSG\",4326]]" ;
        crs:semi_major_axis = 6378137. ;
        crs:semi_minor_axis = 6356752.31424518 ;
        crs:inverse_flattening = 298.257223563 ;
        crs:reference_ellipsoid_name = "WGS 84" ;
        crs:longitude_of_prime_meridian = 0. ;
        crs:prime_meridian_name = "Greenwich" ;
        crs:geographic_crs_name = "WGS 84" ;
        crs:grid_mapping_name = "latitude_longitude" ;
data:

 time = 0 ;

 lat = 61.0258753990149, 61.0220814807016, 61.0182875623884, 
    61.0144936440752, 61.0106997257619, 61.0069058074487, 61.0031118891355, [...]

 lon = 21.1370819301269, 21.1408964111341, 21.1447108921412, 
    21.1485253731484, 21.1523398541556, 21.1561543351627, 21.1599688161699, [...]

 CHL_mean =
  5.315124, 5.233703, 5.257952, 5.2307, 4.849386, 4.86493, 5.227843, 
    5.232719, 4.819328, 5.192392, 5.173487, 5.082797, 5.130269, 5.094828, [...]
 
 crs = 0 ;
}

It looks fine to me, but still I suspect there is something wrong with my WCS response, I only cannot figure out what exactly. The WCS 1.0.0 specification does not exactly specify the response, so I guess I have to know what QGIS expects to make my WCS work with QGIS.

Any help is much appreciated!