开放地理空间联盟 (OGC) 和网络覆盖服务 (WCS) 提供了在 Web 上共享栅格数据集的开放规范。ArcGIS Server 用于根据包含栅格的影像集合、地图或地理数据库发布 WCS 服务。
WCS 服务所返回的数据可作为分析和建模操作的输入参数。这与 OGC Web 地图服务 (WMS) 形成鲜明对比,后者仅返回数据的图片。通过 WCS 服务获取的栅格数据集被称为 coverage。不要将此 coverage 与 ArcGIS 先前版本中所提供的矢量数据集(也称为 coverage)相混淆。
如果要在不同的平台和客户端之间使用一种开放并经认可的方式在网络上提供栅格数据集,则 WCS 服务非常有用。任何原生支持 WCS 1.0.0、1.1.0、1.1.1、1.1.2 和 2.0.1 规范的客户端均可查看和使用您的服务。
客户端应用程序通过向服务的 URL 中附加参数来使用 WCS 服务。发布到 ArcGIS Server 的 WCS 服务支持以下操作:
- 请求服务级别元数据和数据的简要描述 (GetCapabilities)
- 请求一个或多个 coverage 的完整描述 (DescribeCoverage)
- 以熟知的 coverage 格式请求 coverage (GetCoverage)
WCS 2.0.1 服务也支持下列 OGC 扩展模块:
- 服务扩展模块:比例、插值、范围子集和 CRS
- 协议扩展模块:KVP/Get 和 XML/Post
- 格式编码扩展模块:GeoTIFF
将镶嵌数据集发布为影像服务时,可以启用 WCS 2.0.1 扩展模块。
如果在 WCS 2.0.1 中使用多维数据,则建议您使用相应的栅格类型(例如,netCDF、HDF 和 GRIB)创建镶嵌数据集。 将变量(例如,温度、盐度和速度) 映射到 coverage 描述中的 rangeType,并通过范围子集进行访问。将维度(例如,x、y、t 和 z) 映射到 domainSet,并通过维度修剪和切分进行访问。由于 XML 模式,可通过将 UTC 日期转换为 OLE 自动日期以双精度表示时间。仅在 x 和 y 维度上支持插值。您可以将 GML Coverage 作为 tuplelist (BIP) 或 GeoTIFF(影像/TIFF) 进行获取。
如果影像服务配置了多个栅格函数模板,这些栅格函数模板将可以通过 WCS 中的子图层访问。
您可通过开放地理空间联盟网站了解有关 WCS 服务的详细信息。Esri 还提供了互操作和标准网页,详细介绍了 ArcGIS 中对 OGC 服务的支持。
创建 WCS 服务
在 ArcGIS Server 中,WCS 以地图服务、影像服务或地理数据服务的服务功能的形式来提供。要创建 WCS 服务,您需要创建上述三种服务中的任意一种并启用其 WCS 功能。WCS 服务的源应为下列任一数据形式:
- 包含栅格图层或镶嵌图层的地图
- 栅格数据集或镶嵌数据集
- 引用栅格数据集或镶嵌数据集的图层文件
- 包含栅格数据的地理数据库
注:
ArcGIS for Server 10.1 或更高版本不支持个人地理数据库。
- 要通过地图服务创建 WCS 服务,请打开 ArcMap 并创建一个包含要提供的栅格图层的地图文档。执行此操作时,请切记,WCS 服务只提供地图中的栅格数据;图层属性将不再保留,并且所有要素数据都将从 WCS 服务中剔除。完成地图文档的制作之后,请发布为地图服务同时启用它的 WCS 功能。之后,任何支持 OGC WCS 规范的客户端均可使用此服务。请参阅发布地图服务。
- 要通过影像服务创建 WCS 服务,请准备好您要发布的栅格数据集、镶嵌数据集或者引用了栅格数据集或镶嵌数据集的图层文件,然后将其发布为影像服务同时启用 WCS 功能。请参阅发布影像服务。
- 要通过地理数据服务创建 WCS 服务,请创建一个地理数据库(文件或企业级),将要提供的栅格数据加载至地理数据库,然后将此地理数据库发布为地理数据服务同时启用 WCS 功能。请参阅发布地理数据服务。
通过地图服务或地理数据服务创建的 WCS 服务可能会包含多个 coverages。但是,源栅格数据必须具有一个有效的空间参考。基于影像服务的 WCS 服务则仅包含一个 WCS coverage。
配置 WCS 服务属性
WCS 服务的属性会显示在它的功能文件中,以便使用此服务的任何用户均可很好地了解这一服务发布程序。如果使用系统生成的功能文件发布 WCS 服务(默认),则建议自行填充 WCS 服务属性。有关可设置的每个 WCS 服务属性的信息,请参阅 WCS 服务的可用属性。此外,以下主题包含了有关如何到达可设置 WCS 服务属性的位置的说明:
使用外部功能文件设置 WCS 属性
如果您希望 WCS 服务提供服务功能的方式更加灵活,您可以使用外部功能文件。例如,ArcGIS Server 上托管的 WCS 服务仅支持其原有的空间参考系统和 WGS84。考虑到 ArcGIS Server 支持成千上万的预定义空间参考系统,那么通过使用外部 WCS 功能文件即可将这些空间参考系统添加至 WCS 服务并提供给 WCS 客户端。请参阅 对 WCS 服务使用外部功能文件来获取有关详细信息。
设置 WCS 服务的安全性
WCS 服务可以向 WCS 服务的使用者提供 ArcGIS Server 地图服务、地理数据服务或影像服务。WCS 服务的安全性实际上是通过控制 WCS 服务父地图服务、父地理数据服务或父影像服务的安全性来管理的。如果拒绝某个特殊角色(例如规划人员)访问地图,则无论尝试通过简单对象访问协议 (SOAP)、表述性状态转移 (REST) 还是 WCS 接口使用地图,规划人员都将无法访问该地图。
ArcGIS Server 支持多种不同的身份验证方案。预期通过 OGC 接口访问的服务应使用 HTTP Basic 或 HTTP Digest 进行安全性设置。 大多数 OGC 客户端(非 Esri 客户端和 Esri 客户端)都能够识别并使用这些广泛应用的标准身份验证方案。
使用 WCS 服务
要连接至 WCS 服务,您需要提供 WCS 服务 URL 的端点。对于通过 ArcGIS Server 发布的 WCS 服务,URL 格式为:
http://gisserver.domain.com:6080/services/folder/service/service type(可以是 MapServer、ImageServer 或 GeoDataServer)/WCSServer?
WCS 服务 URL 示例
如果名为 Japan 的文件夹中的地图服务 Tokyo 在 gisserver(端口号为 6080)上运行,则 WCS 服务的 URL 将如下所示:
http://gisserver.domain.com:6080/arcgis/services/Japan/Tokyo/MapServer/WCSServer?
如果名为 IdahoImages 的影像服务在计算机 myServer 上运行,且端口号为 6080,则 WCS 服务的 URL 如下所示:
http://gisserver.domain.com:6080/arcgis/services/IdahoImages/ImageServer/WCSServer?
如果名为 Ohio 的文件夹中的地理数据服务 SummitCounty 在计算机 myServer 上运行,且端口号为 6080,则 WCS 服务的 URL 如下所示:
http://gisserver.domain.com:6080/arcgis/services/Ohio/SummitCounty/GeoDataServer/WCSServer?
有关如何使用 WCS 服务的详细信息,请参阅在 Web 浏览器中与 WCS 服务进行通信。
WCS 查询 URL 示例
通常,查询参数应避免处于连接 URL 中。WCS 功能 URL 不是有效的输入。在某些工作流中,您可能需要在连接 URL 中提供可选参数以支持供应商特定的参数,或访问服务的特定时间片。这些查询参数将在 GetCapabilities、DescribeCoverage 和 GetCoverage 请求中执行,例如:
通过供应商特定的 IMAGES 参数在镶嵌数据集中建立处理特定影像的 WCS 连接:
http://gisserver.domain.com:6080/services/myservice/ImageServer/WCSServer?IMAGES=225
建立特定时间片的 WCS 连接:
http://gisserver.domain.com:6080/services/myservice/ImageServer/WCSServer?Time=2000
支持的输出格式
WCS 服务所支持的输出格式包括 GeoTIFF、NITF、HDF、JPEG、JPEG2000 和 PNG。要了解在 ArcGIS 中如何支持这些影像格式的详细信息,请参阅 ArcGIS 帮助文档中的受支持的栅格数据集文件格式。