OGC标准wms、wmts、wfs等地图服务协议规范
wms、wmts、wfs都是OGC定义的地图服务规范,各大gis软件都支持这些规范
OGC:开放地理空间信息联盟(Open Geospatial Consortium), 它的主要目的就是制定与空间信息、基于位置服务相关的标准。而这些所谓的标准其实就是一些接口或编码的技术文档,不同的厂商、各种GIS产品都可以对照这些文档来定义开放服务的接口、空间数据存储的编码、空间操作的方法
OGC目前提供的标准多达几十种,包括我们常用到的WMS、WFS、WCS、WMTS等等,还有一些地理数据信息的描述文档,比如KML、SFS(简单对象描述)、GML、SLD(地理数据符号化)等。
WMS(Web Map Service)网络地图服务
WMS支持HTTP协议,所支持的操作是由URL决定的。
提供如下操作:
1、GetCapabilities:返回服务级元数据,它是对服务信息内容和要求参数的一种描述。
参数 | 名称 | 是否必须 | 备注 |
---|---|---|---|
SERVICE=WMS | 服务名称 | 是 | |
REQUEST=GetCapabilities | 请求接口 | 是 | |
VERSION | 版本号 | 否 | |
FORMAT | 返回类型 | 否 | 默认XML |
2、GetMap:返回一个地图临时切片图片,请求格式支持KVP和SOAP。
参数 | 名称 | 是否必须 | 备注 |
---|---|---|---|
REQUEST=GetMap | 请求接口 | 是 | |
VERSION | 版本号 | 是 | |
LAYERS | 图层名称 | 是 | |
STYLES | 样式类型 | 是 | |
BBOX | 边界框值 | 是 | |
CRS | 投影坐标系 | 是 | |
WIDTH | 图片宽度 | 是 | |
HEIGHT | 图片高度 | 是 | |
FORMAT | 图片格式 | 是 | |
TRANSPARENT | 图片是否透明 | 否 | 默认false,不透明 |
BGCOLOR | 图片背景 | 否 | |
TIME | 请求时间,若支持时间 | 否 | 默认白色 |
ELEVATION | 高程,若支持高程 | 否 |
3、GetFeatureInfo:获取getMap响应地图上某一点的特征数据信息。
参数 | 名称 | 是否必须 | 备注 |
---|---|---|---|
REQUEST=GetFeatureInfo | 请求接口 | 是 | |
QUERY_LAYERS | 查询的图层 | 是 | 多图层逗号分隔 |
INFO_FORMAT | 返回格式 | 是 | 默认XML |
FEATURE_COUNT | 特征信息数 | 否 | 最大返回个数 |
I | 当前返回图像水平方向的像素值 | 是 | 左上角为原点(0,0) |
J | 当前返回图像垂直方向的像素值 | 是 | (I,J)为指定像素中心 |
4、GetLegendGraphic:返回地图的图例信息。
TMS (Tile Map Servcie) 切片地图服务
发布切片
WMTS ( Web Map Title Service)网络地图切片服务
提供了一种采用预定义图块方法发布数字地图服务的标准化解决方案。
WMTS弥补了WMS不能提供分块地图的不足。WMS针对提供可定制地图的服务,是一个动态数据或用户定制地图(需结合SLD标准)的理想解决办法。WMTS牺牲了提供定制地图的灵活性,代之以通过提供静态数据(基础地图)来增强伸缩性,这些静态数据的范围框和比例尺被限定在各个图块内。这些固定的图块集使得对WMTS服务的实现可以使用一个仅简单返回已有文件的Web服务器即可,同时使得可以利用一些标准的诸如分布式缓存的网络机制实现伸缩性
提供如下操作:
1、GetCapabilities:返回服务级元数据,它是对服务信息内容和要求参数的一种描述。
参数 | 名称 | 是否必须 | 备注 |
---|---|---|---|
SERVICE=WMTS | 服务名称 | 是 | |
REQUEST=GetCapabilities | 请求接口 | 是 |
2、GetTile:获取切片;
参数 | 名称 | 是否必须 | 备注 |
---|---|---|---|
VERSION | 版本号 | 是 | |
REQUEST=GetTile | 请求接口 | 是 | |
SERVICE=WMTS | 图层名称 | 是 | |
LAYER | 图层名称 | 是 | |
STYLE | 样式类型 | 是 | |
FORMAT | 返回格式 | 是 | |
TILEMATRIXSET | 瓦片矩形设置 | 是 | |
TILEMATRIX | 瓦片矩形 | 是 | |
TILEROW | 瓦片的行索引 | 是 | |
TILECOL | 瓦片的列索引 | 是 |
3、GetFeatureInfo:返回显示在地图上的某些特殊要素的信息。
参数 | 名称 | 是否必须 | 备注 |
---|---|---|---|
SERVICE=WMTS | 图层名称 | 是 | |
REQUEST=GetFeatureInfo | 请求接口 | 是 | |
INFO_FORMAT | 返回格式 | 是 | 默认XML |
I | 瓦片水平方向的像素值 | 是 | 左上角为原点(0,0) |
J | 瓦片垂直方向的像素值 | 是 | (I,J)为指定像素中心 |
WFS(WFS)网络要素服务
支持用户在分布式的环境下通过HTTP对地理要素进行插入,更新,删除,检索和发现服务。该服务根据HTTP客户请求返回要素级的GML(Geography Markup Language、地理标识语言)数据,并提供对要素的增加、修改、删除等事务操作,是对Web地图服务的进一步深入。WFS通过OGC Filter构造查询条件,支持基于空间几何关系的查询,基于属性域的查询,当然还包括基于空间关系和属性域的共同查询。
提供如下操作:
1、GetCapabilities:返回服务级元数据,它是对服务信息内容和要求参数的一种描述。
参数 | 名称 | 是否必须 | 备注 |
---|---|---|---|
SERVICE=WFS | 服务名称 | 是 | |
REQUEST=GetCapabilities | 请求接口 | 是 |
2、DescribeFeatureType: 获取地理要素类型的GML应用模式描述文档,生成一个Schema用于描述WFS实现所能提供服务的要素类型。Schema描述定义了在输入时WFS实现如何对要素实例进行编码以及输出时如何生成一个要素实例。
参数 | 名称 | 是否必须 | 备注 |
---|---|---|---|
VERSION | 版本号 | 是 | |
SERVICE=WFS | 服务名称 | 是 | |
REQUEST=DescribeFeatureType | 请求接口 | 是 | |
TYPENAME | 类型名称 | 否 | |
OUTPUTFORMAT | 输出格式 | 否 |
3、GetFeature:可根据查询要求返回一个符合GML规范的数据文档。
参数 | 名称 | 是否必须 | 备注 |
---|---|---|---|
VERSION | 版本号 | 是 | |
SERVICE=WFS | 服务名称 | 是 | |
REQUEST=GetFeature | 请求接口 | 是 | |
TYPENAMES | 字段名称 | 是 | |
OUTPUTFORMAT | 输出格式 | 否 | |
STARTINDEX | 起始索引 | 否 | 从该位置开始查询 |
COUNT | 限制返回数量 | 否 | |
BBOX | 边界框值 | 否 | |
RESOLVE | 资源文件位置 | 否 | 默认none |
RESOLVEDEPTH | 资源解析深度 | 否 | 默认* |
RESOLVETIMEOUT | 解析超时时间 | 否 | |
FILTER | 过滤条件 | 否 | |
SORTBY | 排序字段 | 否 | |
MAXFEATURES | 最大特征数 | 否 | |
PROPERTYNAME | 特征类型名称 | 否 | |
SRSNAME | 坐标系列表 | 否 | |
STOREDQUERY_ID | 查询标识符 | 是 | |
RESOURCEID | 资源标识ID | 否 | |
RESULTTYPE | 查询响应操作 | 否 | 默认results,返回结果文档 |
4、LockFeature:用户通过Transaction请求时,为了保证要素信息的一致性,即当一个事务访问一个数据项时,其他的事务不能修改这个数据项,对要素数据加要素锁。
5、Transaction: 与要素实例的交互操作。该操作不仅能提供要素读取,同时支持要素在线编辑和事务处理。Transaction操作是可选的,服务器根据数据性质选择是否支持该操作。
WCS(Web Coverage Service) 网络覆盖/栅格/影像服务
是面向空间影像数据,它将包含地理位置的地理空间数据作为"覆盖(Coverage)"在网上相互交换,如卫星影像、数字高程数据等栅格数据。
提供如下操作:
1、GetCapabilities:返回服务级元数据,它是对服务信息内容和要求参数的一种描述。
参数 | 名称 | 是否必须 | 备注 |
---|---|---|---|
SERVICE=WCS | 服务名称 | 是 | |
REQUEST=GetCapabilities | 请求接口 | 是 |
2、DescribeCoverage:支持用户从特定WCS服务器获取一个或多个覆盖的详细的描述文档。
参数 | 名称 | 是否必须 | 备注 |
---|---|---|---|
VERSION | 版本号 | 是 | |
SERVICE=WCS | 服务名称 | 是 | |
EXTENSION | 辅助参数 | 否 | |
COVERRAGEID | 图层信息 | 是 |
3、GetCoverage:可根据查询要求返回一个包含或者引用被请求的覆盖数据的响应文档。
参数 | 名称 | 是否必须 | 备注 |
---|---|---|---|
VERSION | 版本号 | 是 | |
SERVICE=WCS | 服务名称 | 是 | |
EXTENSION | 辅助参数 | 否 | |
COVERRAGEID | 图层信息 | 是 | |
DIMENSION-SUBSET | 子集设置 | 是 | |
DIMENSION | 子集设置 | 是 | |
TRIMLOW | 剪切的下边界 | 否 | |
TRIMHIGH | 剪切的上边界 | 否 | |
SLICEPOINT | 沿尺寸的切割点 | 是 |
WPS
Web Processing Server(WPS)是新近推出的标准,它的功能其实我们已经耳熟能详了。Processing即ArcView中的GeoProcessing,诸如Union,Intersect等方法。WPS要做的就是暴露基于URL接口来实现客户端通过WebService对此类方法的调用、并返回数据。
总结
WMS:动态地图服务,在ArcGIS中我们经常利用理由的mxd文件发布的服务,就是这种地图服务,如果你的数据会变化,建议发这种服务。这种服务优点是动态,缺点是慢。
WMS-C:可以理解为WMS的升级版,预先缓存瓦片,按需请求,提高了访问的速度。
WMTS:相比WMS,牺牲了提供定制地图的灵活性,代之以通过提供静态数据(基础地图)来增强伸缩性,这些静态数据的范围框和比例尺被限定在各个图块内。
WFS:支持要素的增删改等事务操作,支持空间和属性查询。
WCS:主要是面向空间影像数据
WPS:主要是用来发起web端的空间运算处理工作,如裁切、合并等空间运算。