WMS、WFS、WMTS服务接口说明

文章目录

  • 1 需求
  • 2 TL;DR
  • 3 内容
    • 3.1 WMS
      • WMS服务简介
      • 服务操作列表
          • 服务操作的参数列表
        • GetCapabilities操作请求方法实现参数
        • GetMap操作请求方法实现参数
        • GetFeatureInfo操作请求方法实现参数
      • 接口调用示例
    • 3.2 WMTS
      • WMTS服务简介
      • 服务操作列表
          • 服务操作的参数列表
        • GetCapabilities操作请求方法实现参数
        • GetTile操作请求方法实现参数
        • GetFeatureInfo操作请求方法实现参数
      • 接口调用示例
    • 3.3 WFS
      • WFS服务简介
      • 服务操作列表
          • 服务操作的参数列表
        • GetCapabilities操作请求方法实现参数
        • DescribeFeatureType操作请求方法实现参数
        • GetFeature操作请求方法实现参数
      • 接口调用示例

1 需求

最近在作一个地方标准时涉及到一些OGC的服务调用和具体传参问题,以此作为记录方便查阅。

2 TL;DR

可以直接查看福州天地图的文档
WMS: http://tdt.fuzhou.gov.cn/help/APIPfs/2.htm
WMTS: http://tdt.fuzhou.gov.cn/help/APIPfs/3.htm
WFS: http://tdt.fuzhou.gov.cn/help/APIPfs/4.htm

3 内容

3.1 WMS

WMS服务简介

Web Map Service(网络地图服务),简称WMS,由开放地理信息联盟(Open GeoSpatial Consortium,OGC)制定。该规范定义了Web客户端从网络地图服务器获取地图的接口标准。一个WMS可以动态地生成具有地理参考数据的地图,这些地图通常用GIF、JPEG或PNG等图像格式,或者SVG、KML、VML和WebCGM等矢量图形格式来表现。使用者通过指定的参数获取相应的地图图片。

服务操作列表

WMS实现规范由三个基础性操作协议(GetCapabilities,GetMap和GetFeatureInfo)组成,这些协议共同构成了利用WMS创建和叠加显示不同来源的远程异构地图服务的基础。WMS服务操作列表见下表所示。

操作 实现要求 描述
GetCapabilities 强制实现 获取WMS的能力文档(即元数据文档),里面包含服务的所有信息
GetMap 强制实现 获取地图图片。该操作根据客户端发出的请求参数在服务端进行检索,服务器端返回一个地图图像,其地理空间参数和大小参数是已经明确定义的,返回的地图图像可以是GIF、JPEG、PNG或SVG格式。
GetFeatureInfo 选择实现 该操作根据用户所请求的X、Y坐标或感兴趣的图层,返回地图上某些特殊要素的信息,信息以HTML,GML或ASCII的格式表示。
服务操作的参数列表
GetCapabilities操作请求方法实现参数
参数名称 参数个数 参数类型和值
service 1个(必选) 字符类型,服务类型值为“WMS”
request 1个(必选) 字符类型,请求的操作名称,值为“GetCapabilities”
version 0或1个(可选) 字符类型,值为请求的WMS的版本号
format 0或1个(可选) MIME类型,值为服务元数据的输出格式
updateSequence 0或1个(可选) 字符类型,可取的值有none、any、equal、lower、higher,用来表示缓存数据更新的方式
GetMap操作请求方法实现参数
参数名称 参数个数 参数类型和值
service 1个(必选) 字符类型,服务类型标识值为“WMS”
request 1个(必选) 字符类型,值为“GetMap”
version 1个(必选) 字符类型,值为请求的WMS的版本号
layers 1个(必选) 字符类型,值为一个或多个地图图层列表,多个图层之间用”,”隔开
styles 1个(必选) 字符类型,值为请求图层的地图渲染样式
CRS 1个(必选) 字符类型,值为坐标参照系统
BBOX 1个(必选) Wkt格式,值为某个CRS下的地图边界范围的坐标序列
width 1个(必选) 整型类型,值为地图图片的像素宽度
height 1个(必选) 整型类型,值为地图图片的像素高度
format 1个(必选) 字符类型,值为地图的输出格式
transparent 0或1个(可选) 字符类型,值为true或者false,用来表示地图图层是否透明(默认情况下是不透明的)
bgcolor 0或1个(可选) 值为十六进制的RGB值,表示地图的背景颜色
exceptions 0或1个(可选) 值为WMS的异常信息报告的格式(默认情况下是XML格式)
time 0或1个(可选) 时间类型,值为时间值,表示需要在图层中有时间信息
elevation 0或1个(可选) 数字类型,值为高程值,表示需要在图层中有高程信息
GetFeatureInfo操作请求方法实现参数
参数名称 参数个数 参数类型和值
service 1个(必选) 字符类型,服务类型标识值为“WMS”
request 1个(必选) 字符类型,值为“GetFeatureInfo”
version 1个(必选) 字符类型,值为请求的WMS的版本号
map request part 1个(必选) 字符类型,值为获得地图的部分操作参数
query_layers 1个(必选) 字符类型,值为查询的一个或多个地图图层列表,多个图层之间用”,”隔开
info_format 1个(必选) MIME类型,值为请求信息的返回类型
I 1个(必选) 整型类型,值为待查询点的在地图图片上的像素列号
J 1个(必选) 整型类型,值为待查询点的在地图图片上的像素行号
feature_count 0或1个(可选) 整型类型,值为返回信息中的要素的个数(默认是1)
exceptions 0或1个(可选) 值为WMS的异常信息报告的格式(默认情况下是XML格式)

接口调用示例

操作 调用示例
GetCapabilities http://tdt.fuzhou.gov.cn/serviceaccess/WMS/DMDZ?version=1.1.1&request=GetCapabilities&service=WMS
GetMap http://tdt.fuzhou.gov.cn/serviceaccess/WMS/DMDZ?version=1.1.1&request=GetMap&service=WMS&mapservice=DMDZ&layers=1&styles=default&width=1164&height=371&format=png&transparent=true&srs=EPSG%3A4490&bbox=119.28758165903027,26.090243729688037,119.28914270467693,26.0907412794603

3.2 WMTS

WMTS服务简介

Web Map Tile Service(网络地图瓦片服务),简称WMTS,由开放地理信息联盟(Open GeoSpatial Consortium,OGC)制定,是和WMS并列的重要OGC规范之一。WMTS不同于WMS,它最重要的特征是采用缓存技术能够缓解WebGIS服务器端数据处理的压力,提高交互响应速度,大幅改善在线地图应用客户端的用户体验。WMTS是OGC主推的缓存技术规范,是目前各种缓存技术相互兼容的一种方法。

服务操作列表

WMTS服务支持RESTful访问,其接口包括GetCapabilities、GetTile和GetFeatureInfo3个操作,这些操作允许用户访问切片地图。

操作 操作 描述
GetCapabilities 强制实现 获取WMTS的能力文档(即元数据文档),里面包含服务的所有信息
GetTile 强制实现 获取地图瓦片。该操作根据客户端发出的请求参数在服务端进行检索,服务器端返回地图瓦片图像。
GetFeatureInfo 选择实现 通过在WMTS图层上指定一定的条件,返回指定的地图瓦片内容对应的要素信息
服务操作的参数列表
GetCapabilities操作请求方法实现参数
参数名称 参数个数 参数类型和值
service 1个(必选) 字符类型,服务类型值为“WMTS”
request 1个(必选) 字符类型,请求的操作名称,值为“GetCapabilities”
acceptVersions 0或1个(可选) 字符类型,值为请求的WMTS的版本号
sections 0或1个(可选) 字符类型,请求元数据文档0或多个节的名称,多个名称之间用“,”隔开,不须按顺序排列。值为空默认返回整个元数据文档
updateSequence 0或1个(可选) 字符类型,值为increased,为空时默认返回最新的元数据文档
acceptFormat 0或1个(可选) MIME类型,值为服务元数据的输出格式
GetTile操作请求方法实现参数
参数名称 参数个数 参数类型和值
service 1个(必选) 字符类型,服务类型标识值为“WMTS”
request 1个(必选) 字符类型,请求的操作值为“GetTile”
version 1个(必选) 字符类型,值为请求的WMTS的版本号
layer 1个(必选) 字符类型,值为请求的图层名称
style 1个(必选) 字符类型,值为请求图层的渲染样式
format 1个(必选) 字符类型,值为瓦片地图的输出格式
tileMatrixSet 1个(必选) 字符类型,瓦片矩阵数据集,其值在服务的元数据文档中指定
tileMatrix 1个(必选) 字符类型,瓦片矩阵,其值在服务的元数据文档中指定
tileRow 1个(必选) 整型类型,值为大于0的整数,表示瓦片矩阵的行号
tileCol 1个(必选) 整型类型,值为大于0的整数,表示瓦片矩阵的列号
Other sample dimensions 0或1个(可选) 字符类型,其他允许的参数
GetFeatureInfo操作请求方法实现参数
参数名称 参数个数 参数类型和值
service 1个(必选) 字符类型,服务类型值为“WMTS”
request 1个(必选) 字符类型,请求的操作值为“GetFeatureInfo”
version 1个(必选) 字符类型,值为请求的WMTS的版本号
J 1个(必选) 整型类型,值为大于0的整数,表示瓦片上一指定像素点的行号
I 1个(必选) 整型类型,值为大于0的整数,表示瓦片上一指定像素点的列号
info_format 1个(必选) MIME类型,值为请求信息的返回类型
layer, style, format, Sample dimension, tileMatrixSet, tileMatrix, tileRow, tileCol 1个(必选) 这些参数的值应与请求GetTile的相应参数保持一致

接口调用示例

实例名称 调用实例
GetCapabilities操作 http://tdt.fuzhou.gov.cn/serviceaccess/wmts/Vector2012CGCS2000?service=WMTS&request=GetCapabilities
GetTile操作 http://tdt.fuzhou.gov.cn/serviceaccess/wmts/Vector2012CGCS2000?service=WMTS&request=GetTile&layer=0&style=default&tileMatrixSet=sss&tileMatrix=10&tileRow=93074&tileCol=435872&format=image/png

3.3 WFS

WFS服务简介

Web Feature Service(网络要素服务),简称WFS,由开放地理信息联盟(Open GeoSpatial Consortium,OGC)制定。该规范主要对OpenGIS简单要素的数据编辑操作进行规范,从而使服务器端和客户端能够在要素层面进行“通讯”。其返回结果的是XML格式的WFS服务元数据文档,通过该文档用户能够了解:WFS服务器支持的所有操作操作列表,GetFeature操作返回的数据格式,可用的坐标参照系统列表,操作异常信息的列表,WFS服务提供商的相关信息,WFS服务器的可用要素类列表等。

服务操作列表

WFS服务接口规范定义了GetCapabilities,DescribeFeatureType、GetFeature、Transaction、GetGmlObject和LockFeature一共6种操作。其中,前三个GetCapabilities,DescribeFeatureType和GetFeature为必须实现的操作,也即只要实现了这三个操作的服务均可称为WFS服务。WFS的操作见下表所示。

操作 实现要求 描述
GetCapabilities 强制实现 GetCapabilities请求用于查询WFS服务的能力信息,包括支持的操作、支持的格式、空间坐标、包含的资源等。它主要的目的是使客户端在使用GetFeature请求前可以对WFS服务有一个基本的了解,从而可以设置正确的参数。
DescribeFeatureType 强制实现 用于生成一个 Schema 描述,该 Schema 描述了 WFS 服务提供的要素类型(Feature Type),以及要素类型的结构信息。该 Schema 还定义了 WFS 服务所期望的要素实例在输入时如何编码以及输出时如何生成要素实例。
GetFeature 强制实现 GetFeature用于向WFS的客户端程序提供查询特定地理信息的能力,通过GetFeature操作可以由指定的属性条件、空间条件或者两者叠加的条件进行空间查询。
Transaction 选择实现 允许Transaction操作,使客户端可对服务器端所提供的地图要素类执插入,更新,删除等命令
GetGmlObject 选择实现 通过XLink获取GML对象
LockFeature 选择实现 在事务过程中锁定要素
服务操作的参数列表
GetCapabilities操作请求方法实现参数
参数名称 参数个数 参数类型和值
service 1个(必选) 字符类型,服务类型值为“WFS”
request 1个(必选) 字符类型,请求的操作名称,值为“GetCapabilities”
versions 0或1个(可选) 字符类型,值为请求的WFS的版本号
DescribeFeatureType操作请求方法实现参数
参数名称 参数个数 参数类型和值
service 1个(必选) 字符类型,服务类型值为“WFS”
request 1个(必选) 字符类型,请求的操作名称,值为“DescribeFeatureType”
typeName 0或1个(可选) 字符类型,值为要素类型的列表,多个值之间用“,”隔开,默认解析包括的全部要素类型
outputFormat 0或1个(可选) MIME类型,值为输出格式
GetFeature操作请求方法实现参数
参数名称 参数个数 参数类型和值
service 1个(必选) 字符类型,服务类型标识值为“WFS”
request 1个(必选) 字符类型,请求的操作值为“GetFeature”
typeName 1个(必选) 字符类型,值为请求的要素类型的名称,多个名称之间用“,”隔开
version 0或1个(可选) 字符类型,值为请求的WFS的版本号
outputFormat 0或1个(可选) MIME类型,值为输出格式
resultType 0或1个(可选) 字符类型,值为请求的结果类型
propertyName 0或1个(可选) 字符类型,值为请求要素的属性名,多个值之间用“,”隔开
featureVersion 0或1个(可选) 字符类型,值为要素的版本,值为ALL返回请求的要素的所有版本,没有值默认为返回请求要素的最新版本
maxFeature 0或1个(可选) 整型类型,值为请求要素的最大数,默认值为满足查询的所有结果集
expiry 0或1个(可选) 数字类型,要素被锁定的时间
SRSName 0或1个(可选) 字符类型,值为坐标系统名
featureID 0或1个(可选) 字符类型,值为要素的ID,多个ID之间用“,”隔开
filter 0或1个(可选) 请求要素的过滤条件
bBox 0或1个(可选) Wkt格式,请求指定要素查询范围,可以替代featureId和filter参数
sortby 0或1个(可选) 字符类型,查询结果属性值的排序依据

接口调用示例

操作 调用示例
GetCapabilities http://tdt.fuzhou.gov.cn/serviceaccess/WFS/DMDZ_WFS-G?service=WFS&request=GetCapabilities&version=1.0.0
DescribeFeatureType http://tdt.fuzhou.gov.cn/serviceaccess/WFS/DMDZ_WFS-G?service=WFS&request=DescribeFeatureType&typename=DMDZ:地名&version=1.0.0
GetFeature http://tdt.fuzhou.gov.cn/serviceaccess/WFS/DMDZ_WFS-G?service=WFS&request=GetFeature&typename=DMDZ:地名&version=1.0.0&maxFeature=20

你可能感兴趣的:(AboutGIS,wms,gis,web,service)