The Open Geospatial Consortium, Inc. (OGC) Web Coverage Service (WCS) provides an open specification for sharing raster datasets on the web. ArcGIS Server allows you to publish WCS services from imagery collections, maps, or geodatabases that contain rasters.
A WCS service returns data in a format that can be used as input for analysis and modeling. This is in contrast with the OGC Web Map Service (WMS), which only returns a picture of the data. The raster datasets made available through WCS services are referred to as coverages. These should not be confused with the vector datasets available in previous versions of ArcGIS, which were also known as coverages.
WCS services are useful if you want to make your raster datasets available online in an open, recognized way across different platforms and clients. Any client built to support the WCS 1.0.0, 1.1.0, 1.1.1, 1.1.2, and 2.0.1 specifications can view and work with your service.
Client applications work with a WCS service by appending parameters to the service's URL. WCS services published to ArcGIS Server support the following operations:
- Request service-level metadata and a brief description of the data (GetCapabilities)
- Request a full description of one or more coverages (DescribeCoverage)
- Request a coverage in a well-known coverage format (GetCoverage)
WCS 2.0.1 services also support the following OGC extensions and application profiles:
- Service extensions—Scaling, Interpolation, Range Subsetting, and CRS
- Protocol extensions—KVP/Get and XML/Post
- Format encoding extensions—GeoTIFF
- Application profiles—Earth observation
If serving multidimensional data in WCS 1.1.x and 2.0.1, it's recommended that you create a mosaic dataset using corresponding raster types (for example, netCDF, HDF, and GRIB) or convert the data to multidimensional CRF format. Variables (for example, temperature, salinity, and speed) are mapped to rangeField or rangeType in the coverage description and accessed through the range subsetting extension. Dimensions (for example, x, y,StdTime and StdZ) are mapped to axes of rangeField or domainSet and accessed through the dimension trimming and slicing. Due to the restrictions of the XML schema, time is represented using doubles by converting the UTC date to OLE Automation Date in WCS 2.0.1. Interpolation is supported only on the x and y dimensions. You can get GML Coverage as GeoTIFF (image/TIFF).
If your image service is configured with multiple raster function templates, these raster function templates will be accessible as additional coverages in WCS.
Creating a WCS service
In ArcGIS Server, a WCS is exposed as a capability of a map service, an image service, or a geodata service. To create a WCS service, you must create one of these three services and enable the WCS capability. The source for WCS services must be one of the following:
- A map containing raster dataset layers or mosaic dataset layers
- A raster dataset or a mosaic dataset
- A geodatabase that contains raster data
- To create a WCS service from a map service, open ArcGIS Pro and create a map containing the raster layers you want to serve. When doing so, keep in mind that only the raster data in the map will be served in a WCS service; the layer properties will not be maintained, and any feature data will be excluded from the WCS service. When you're finished with your map, publish it as a map service or map image layer with the WCS capability enabled. The service can then be consumed by any client that supports the OGC WCS specification. See Publish a map service.
- To create a WCS service from an image service, prepare the raster dataset or mosaic dataset that you want to publish, and then publish it as an image service with the WCS capability enabled. See Publish an image service.
- To create a WCS service from a geodata service, create a geodatabase (file or enterprise), load the raster data you want to serve into the geodatabase, and then publish the geodatabase as a geodata service with the WCS capability enabled.
Configuring WCS service properties
A WCS service's properties are reflected in its capabilities files so that whoever consumes the service can have a better understanding of the service publisher. When publishing a WCS service with system-generated capabilities files (the default), it is recommended that you populate the WCS service properties. For information about each WCS service property you can set, see Available WCS service properties. Additionally, the following topics include instructions on how to get to the location where you can set WCS service properties:
Setting WCS properties using an external capabilities file
If you want more flexibility in how the service advertises its capabilities, you can use external capabilities files. For example, WCS services hosted on ArcGIS Server only advertise the support on their native spatial reference system and WGS84. Given that ArcGIS Server supports thousands of predefined spatial reference systems, these can be added to a WCS service and advertised to WCS clients by using external WCS capabilities files. See Use external capabilities files with WCS services for more information.
Securing WCS services
A WCS service exposes an extension of ArcGIS Server map, geodata, or image service to WCS consumers. The security for a WCS service is managed by controlling the security of its parent map, geodata, or image service. If a particular role—for example, planners—is denied access to a map, planners will not be able to access the map regardless of whether they try to consume it through Simple Object Access Protocol (SOAP), Representational State Transfer (REST), or WCS interfaces.
ArcGIS Server supports a number of different authentication schemes. Services that are expected to be accessed via OGC interfaces must be secured using HTTP Basic or HTTP Digest. Most OGC clients (both non-Esri and Esri clients) will understand and work with these widespread standard authentication schemes.
Consuming WCS services
To connect to a WCS service, you must provide the endpoint of the WCS service URL. For WCS services published through ArcGIS Server, the URL takes this format:
https://gisserver.domain.com:6443/services/folder/service/service type (can be MapServer, ImageServer, or GeoDataServer)/WCSServer?
WCS service URL examples
If you have a folder named Japan containing the map service Tokyo running on gisserver with the port number 6080, the URL of your WCS service would look like this:
If you have an image service named IdahoImages running on gisServer with the port number 6443, your URL for the WCS service would look like this:
If you have a folder named Ohio containing the geodata service SummitCounty running on gisServer with the port number 6443, your URL for the WCS service would look like this:
For more information on how to consume a WCS service, see Communicating with a WCS service in a web browser.
WCS query URL examples
In general, avoid query parameters in the connection URL. A WCS getCapabilities URL is not a valid input. In some workflows, you may need to provide optional parameters in the connection URL to support vendor-specific parameters or access a particular multidimensional property set from the service. These query parameters will be carried on in GetCapabilities, DescribeCoverage, and GetCoverage requests, for example:
Make a WCS connection that deals with a particular image in a mosaic dataset through a vendor-specific IMAGES parameter:
Make a WCS connection to a particular time slice:
Supported output formats
Supported output formats for WCS services are GeoTIFF, HDF, NetCDF, JPEG, JPEG2000, and PNG.
Coverages with floating point pixel data type don't support JPEG, JPEG2000, or PNG.
To learn more about how these image formats are supported in ArcGIS, see Raster file formats.