I would like to add the WCS of this dataset to ArcMap: https://hfrnet-tds.ucsd.edu/thredds/catalog/HFR/USWC/500m/hourly/RTV/catalog.html?dataset=HFR/USWC/500m/hourly/RTV/HFRADAR_US_West_Coast_500m_Resolution_Hourly_RTV_best.ncd
- I go to "Add Data"
- Select GIS Servers
- Select Add WCS Server
- Paste the WCS URL (https://hfrnet-tds.ucsd.edu/thredds/wcs/HFR/USWC/500m/hourly/RTV/HFRADAR_US_West_Coast_500m_Resolution_Hourly_RTV_best.ncd?service=WCS&version=1.0.0&request=GetCapabilities)
I see three grids available (latitudinal... surface_eastward..., surface_northward..) but when I try to add them to the map I get an error: "A selected item could not be added to the map Failed to open raster dataset"
How can I add this data to ArcMap?
1 Answer 1
The issue here is to do with a misconfiguration of the WCS service.
A DescribeCoverage request like below, tells us that the spatial reference system used by the coverage is EPSG:0 [Latitude_Longitude]
Gives us:
...
<domainSet>
<spatialDomain>
<EnvelopeWithTimePeriod srsName="urn:ogc:def:crs:OGC:1.3:CRS84">
<gml:pos dimension="2">-122.59346771240234 37.45548629760742</gml:pos>
<gml:pos dimension="2">-122.0468978881836 38.13872528076172</gml:pos>
<gml:timePosition>2011年10月01日T00:00:00Z</gml:timePosition>
<gml:timePosition>2019年09月26日T09:00:00Z</gml:timePosition>
</EnvelopeWithTimePeriod>
<gml:RectifiedGrid srsName="EPSG:0 [Latitude_Longitude]" dimension="2">
<gml:limits>
<gml:GridEnvelope>
<gml:low>0 0</gml:low>
<gml:high>105 152</gml:high>
</gml:GridEnvelope>
</gml:limits>
<gml:axisName>x</gml:axisName>
<gml:axisName>y</gml:axisName>
<gml:origin>
<gml:pos>-122.59346771240234 37.45548629760742</gml:pos>
</gml:origin>
<gml:offsetVector>0.005205426897321429 0.0</gml:offsetVector>
<gml:offsetVector>0.0 0.004494993310225637</gml:offsetVector>
</gml:RectifiedGrid>
</spatialDomain>
...
As part of the operation of loading any WCS data ArcMap (and QGIS) look first at the GetCapabilities response, then a DescribeCoverage (for the selected coverages), and on the basis of the information in the DescribeCoverage response, make a GetCoverage request.
The problem is that EPSG:0 [Latitude_Longitude]
is not a known CRS.
A user selecting a CRS like crs:84 in their client will result in a request like:
Which gives an error along the lines of not a valid request expecting CRS of EPSG:0 [Latitude_Longitude]
...
https://hfrnet-tds.ucsd.edu/thredds/wcs/HFR/USWC/500m/hourly/RTV/HFRADAR_US_West_Coast_500m_Resolution_Hourly_RTV_best.ncd?
2019年09月26日T15:33:00 CRITICAL Invalid Layer :