Skip to content

WCS ​

平台在每个服务的 MapServer 之下提供 WCS 2.0.1(Core、KVP 协议绑定、GeoTIFF 编码、CRS 扩展与 Scaling 扩展),用于按原始分辨率下载栅格数据,例如高程、遥感影像。启用方式、API Key 与异常的通用规则见 OGC 服务概览。

地址与启用 ​

  • 地址:https://map-demo.geobridge.cn/geobridge-mapserver/rest/geodata/services/<服务路径>/MapServer/WCS
  • 能力文档:…/WCS?SERVICE=WCS&REQUEST=GetCapabilities
  • 发布时勾选 WCS(不默认勾选):图层发布只对栅格图层提供;地图发布在地图含栅格图层时提供。未启用时返回 404「服务未启用 WCS」。
  • 请求方式:GET(KVP),或 POST 表单(与查询参数合并,同名以表单为准)。不支持 XML 请求体。
  • API Key 级别的服务在地址后加 token=gb_xxx…(能力文档中的操作地址会带回 token),或用请求头 X-GeoBridge-Token。

开启前请确认

WCS 返回的是原始栅格数据而不是渲染后的图片,公开与「API Key」级别的服务开启后,任何持有地址(或 Key)的客户端都可以下载数据。

覆盖 ​

  • 服务中每个可用的栅格图层是一个覆盖(矢量图层请用 WFS)。覆盖标识 CoverageId 的生成规则见名称规则,与 WMS DescribeLayer 给出的一致。
  • 原生坐标系为栅格数据自身的坐标系,网格为数据的原始像元网格。原生坐标系没有 EPSG 编号的栅格不列出。
  • 坐标轴标签按坐标系的官方轴序:地理坐标系为 Lat Long(纬度在前),投影坐标系为 E N。请求中的轴标签不区分大小写,另接受别名:Lat、Latitude、N、Y、Northing 与 Long、Lon、Longitude、E、X、Easting。

操作 ​

操作说明
GetCapabilities服务元数据(见能力文档的元数据)、支持的格式(image/tiff、image/png)与坐标系(各覆盖的原生坐标系与 4326、3857、4490),每个覆盖的标题、经纬度范围与原生范围。支持 AcceptVersions(2.0.1、2.0.0)、Sections、updateSequence
DescribeCoverageCOVERAGEID(逗号分隔,可以多个):范围、轴标签、网格(行列数、原点、像元大小)、波段(名称 band1…、数据类型、取值范围、无数据值)
GetCoverage取数据,见下文

除 GetCapabilities 外,SERVICE=WCS 与 VERSION=2.0.1(也接受 2.0.0)必填。

GetCoverage ​

…/MapServer/WCS?SERVICE=WCS&VERSION=2.0.1&REQUEST=GetCoverage&COVERAGEID=dem
  &SUBSET=Lat(30,31)&SUBSET=Long(120,121)&SCALESIZE=Long(512),Lat(512)&FORMAT=image/tiff
参数规则
COVERAGEID必填,一次一个
SUBSET可重复,轴(低,高),* 为开放端;坐标在 SUBSETTINGCRS 中。裁剪结果与覆盖范围求交,在原生坐标系中按原生网格向外取整(输出即原始像元)。不支持切片写法 轴(值)
SUBSETTINGCRSSUBSET 坐标的坐标系,缺省为原生坐标系;http://www.opengis.net/def/crs/EPSG/0/n、urn:ogc:def:crs:EPSG::n、EPSG:n 与 CRS84 写法都可以
OUTPUTCRS输出坐标系,缺省为 SUBSETTINGCRS,再缺省为原生坐标系;与原生不同时重投影(最近邻)
SCALEFACTOR、SCALEAXES、SCALESIZE、SCALEEXTENT缩放,至多给一个:SCALEFACTOR=2(两个方向的像元数都变为 1/2)、SCALEAXES=Long(2),Lat(4)、SCALESIZE=E(512),N(256)(输出像元数)、SCALEEXTENT=E(0:511),N(0:255)。轴可写坐标轴标签及其别名,也可写网格轴 i(列)、j(行)。缺省输出约为原生分辨率
FORMATimage/tiff(缺省,GeoTIFF,带坐标系与地理参考)或 image/png(只用于 8 位、不超过 4 个波段的数据)
INTERPOLATION只支持最近邻(http://www.opengis.net/def/interpolation/OGC/1/nearest-neighbour),缺省即是
  • 响应直接是文件本身(不是 multipart),Content-Disposition: inline; filename="<覆盖>.tif"。
  • 上限:输出像素总数默认不超过 4096 × 4096,未压缩数据量(宽 × 高 × 波段数 × 每样本字节)默认不超过 256 MiB,单边不超过 65536。超出时返回 InvalidParameterValue,请缩小范围或用 SCALESIZE 降低分辨率。本地部署可在 .env 中用 GEOBRIDGE_OGC_WCS_MAX_PIXELS、GEOBRIDGE_OGC_WCS_MAX_BYTES 调整。

客户端示例 ​

QGIS:图层 → 添加图层 → 添加 WCS 图层,新建连接,URL 填 …/MapServer/WCS(API Key 级别加 ?token=gb_xxx…),选择覆盖后添加。

GDAL

bash
WCS='https://map-demo.geobridge.cn/geobridge-mapserver/rest/geodata/services/dem/MapServer/WCS'
gdalinfo "WCS:$WCS?version=2.0.1"                    # 列出覆盖
gdalinfo "WCS:$WCS?version=2.0.1&coverage=dem"       # 查看覆盖:尺寸、坐标系、波段
# 按范围取回(坐标为覆盖的原生坐标系),GDAL 会自动发 SUBSET 与缩放参数
gdal_translate -of GTiff -projwin 11200000 1300000 11300000 1200000 \
  "WCS:$WCS?version=2.0.1&coverage=dem" part.tif
# API Key 级别:把 token 加在查询串里
gdalinfo "WCS:$WCS?version=2.0.1&token=gb_xxx…"

curl:直接下载 GeoTIFF。

bash
curl -o dem.tif 'https://map-demo.geobridge.cn/geobridge-mapserver/rest/geodata/services/dem/MapServer/WCS?SERVICE=WCS&VERSION=2.0.1&REQUEST=GetCoverage&COVERAGEID=dem&OUTPUTCRS=EPSG:4326&SCALESIZE=Long(1024),Lat(1024)'

JS SDK 的 services.wcsUrl() 返回 WCS 入口地址。

异常 ​

OWS 2.0 ExceptionReport(text/xml):

代码情形状态
MissingParameterValue缺少 SERVICE、REQUEST、VERSION、COVERAGEID400
InvalidParameterValueSERVICE、VERSION 不对;格式不支持;使用了 MEDIATYPE、RANGESUBSET;缩放参数多于一个;输出超过上限400
VersionNegotiationFailedAcceptVersions 中没有 2.0.1 或 2.0.0400
EmptyCoverageIdListDescribeCoverage 没有 COVERAGEID404
NoSuchCoverage覆盖不存在(含矢量图层)404
InvalidAxisLabelSUBSET 的轴标签不认识404
InvalidSubsettingSUBSET 写法不对、低值大于高值、同一轴重复、切片写法、与覆盖不相交404
InvalidScaleFactor缩放因子不是正数404
InvalidExtentSCALESIZE 不是正整数、SCALEEXTENT 写法不对404
ScaleAxisUndefined缩放的轴标签不认识404
SubsettingCrs-NotSupported、OutputCrs-NotSupported坐标系不认识或范围无法转换404
InterpolationMethodNotSupported最近邻以外的插值方法404
OperationNotSupported未知操作501
NoApplicableCode繁忙、超时、数据源不可用(503,带 Retry-After: 5);其他(500)503 / 500

覆盖、子集、缩放类错误按 WCS 2.0 规范为 404,不是 400。

已知限制 ​

  • 只支持二维网格覆盖;不支持切片(slicing)、波段子集(Range Subsetting)、最近邻以外的插值、时间与高程维度、multipart 响应、XML / SOAP 请求与 WCS 1.x。
  • 原生坐标系没有 EPSG 编号的栅格不列出。
  • 输出坐标系与原生不同时,缺省输出网格按原生像元数估算,不保证与原生分辨率完全相同。
  • 波段的单位一律写为无量纲,平台不保存波段的物理单位。