《Web GIS原理与应用开发》读书笔记(4)

第四章 使用WMS在服务器端绘制与查询地图

以下均掺杂个人理解
书目:Web GIS 原理与应用开发 —— 刘光 曾敬文 曾庆丰 著

WMS是OGS制定的一类地图服务规范

4.1 动态绘制地图服务

在网页浏览器中显示地图的方法

  • 将服务器中事先绘制好的地图图像(地图切片)发送给浏览器
  • 从服务器上返回一串代表空间图形与属性的文本,在浏览器端绘制
  • 在服务器端根据请求的内容绘制一个地图图像,然后返回给客户端。

因为每次都是用户发送不同请求,服务器端根据请求绘制地图,反映数据的最新情况,所以称之为动态地图服务。(而切片只能反映生成地图切片时的情况)

4.1.1 动态绘制地图的优点

  • 实时反映数据
  • 比起切片,更方便存储与维护
  • 可以使用多样化的符号(相比浏览器绘制)

4.1.2 动态绘制地图的缺点

  • 等待服务器绘制地图需要时间
  • 多用户同时请求地图,动态地图服务容易超负荷运行
  • 如果知道只有有限的用户访问,则可选择动态地图服务,从而省去生成切片的时间。

4.1.3 动态绘制地图的相关服务器软件

开源:GeoServer、QGIS Server、MapServer、deegree

商业:ArcGIS Server、SuperMap Server

4.2 WMS规范基础

为了保证Web服务的跨平台性,请求和响应的语法需要保持一致,可以参阅规范文档查看请求参数(文档第七部分)

文档地址:http://portal.opengeospatial....

(我们在日常二次开发中对请求稍作了解即可,我们的使用方法是调用封装好的方法)

WMS服务主要支持操作

  • 请求服务的元数据:GetCapabilities
  • 请求地图图像:GetMap
  • 请求关于地图要素的信息:GetFeatureInfo(可选)
  • 请求图例符号操作:GetLegendGraphic(可选)
  • 请求用户定义的样式:GetStyles(可选)

4.2.1 使用GetCapabilities操作请求服务元数据

书中提供了欧洲土壤数据中心WMS服务的元数据地址(我打开一直重定向):

http://eusoils.jrc.ec.europa....

?后表示参数,SERVICE=WMS表示服务是WMS、REQUEST=GetCapabilities表示请求的是GetCapabilities操作。

请求得到一个XML

该服务的名称、关键词以及联系信息
 该服务支持的操作以及包含的图层
     该服务支持的操作
        
            GetMap请求所支持的返回图片格式
        
    
    该服务所包含的所有图层数据

4.2.2 使用GetMap操作请求地图

依旧是书中提供的地址

http://eusoils.jrc.ec.europa....:3035&BBOX=1988372,1400000,6411627,5400000&FORMAT=image/png&WIDTH=1200&HEIGHT=900

SERVICE=WMS表示使用WMS服务

VERSION=1.3.0表示使用1.3.0版本

REQUEST=GetMap表示执行GetMap操作

LAYER=OCTOP80表示请求图层为OCTOP80

STYLES=表示使用默认样式绘制

CRS=EPSG:3035表示使用坐标参照系统为EPSG:3035

BBOX=1988372,1400000,6411627,5400000表示绘制的地图范围(minX,minY,maxX,maxY)

FORMAT=image/png表示返回的地图图片格式为PNG

WIDTH=1200HEIGHT=900表示返回图像的宽高(px)

4.2.3 使用GetFeatureInfo操作请求地图要素信息

!GetFeatureInfo操作仅仅支持可查属性(queryable)等于1的图层

参数表

请求参数 是否必需 描述
VERSION=version 请求版本号
REQUEST=GetFeatureInfo 请求名称
GetMap请求参数的部分副本,决定在哪个地图图片上查询
QUERY_LAYERS=layer_list 查询的图层列表,图层之间用逗号隔开
INFO_FORMAT=output_format 要素信息的返回格式
FEATURE_COUNT=number 要返回信息的要素的数量(默认为1)
I=pixel_column 以像素表示的要素X坐标
J=pixel_row 以像素表示的要素Y坐标
EXCEPTIONS=exception_format WMS的异常错误报告格式

4.3 WMS的样式与符号

一个样式化图层描述符描述了符号的大小、颜色和标记。

规范化文档:https://www.ogc.org/standards...

样式可由服务发布者或者用户设计,通过DescribeLayer操作实现

使用途径

  • 将其放置在Web服务器中,然后在GetMap请求中将STYLE参数指向文件的URL
  • 在GetMap请求中可选SLD_BODY参数中直接设置对应的XML文件(将使URL非常长且需要大量转义)

你可能感兴趣的:(webgis)