I'm having trouble with QGIS interacting with our Thredds WCS endpoint. I'm not sure if its a bug in Thredds or QGIS or neither, or if I'm just interpreting it wrong.
Please see the NetCDF4 file served by Thredds 4.6.14 here:
http://esoil.io/thredds/wcs/SMIPSall/SMIPSv0.5.nc?service=WCS&version=1.0.0&request=GetCapabilities
Specifically the DescribeCoverage endpoint here: http://esoil.io/thredds/wcs/SMIPSall/SMIPSv0.5.nc?service=WCS&version=1.0.0&request=DescribeCoverage
The ResponseCRSs field contains:
EPSG:0 [Latitude_Longitude]
When QGIS queries the supportedCRSs from the DescribeCoverage endpoint, it sees the "EPSG:0" entry and interprets as an invalid CRS, so it ignores it.
When requesting data via a GetCoverage request, QGIS instead uses &responsecrs=OGC:CRS84 which of course causes Thredds to throw this error:
Response CRS [OGC:CRS84] not the supported CRS [EPSG:0 [Latitude_Longitude]]
If I substitute that with "EPSG:0 [Latitude_Longitude]" I get a valid response from WCS.
I feel like I'm missing something here. Where does the EPSG:0 [Latitude_Longitude] entry come from? Is it something I can change in my netcdf4 file? I have included a valid crs variable in the netcdf4 file, with correct spatialref metadata and CRS wkt entry.
Should QGIS interpret it as a valid CRS? I've opened a issue on the QGIS issue tracker about this here: qgis/QGIS#34569
This issue is related: qgis/QGIS#28864
But it seems to actually looks to be the opposite, it claims that when EPSG: 0 is found in the responseCRSs it should be ignored and fallback to the default QGIS value of OGC:CRS84.