博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
OGC标准学习手记(二):WMS标准概要
阅读量:6125 次
发布时间:2019-06-21

本文共 2143 字,大约阅读时间需要 7 分钟。

OGC标准学习手记(二):WMS标准概要

粟卫民  日期:2008-1-15

保留所有版权。如需转载,请联系作者,并在醒目位置注明出处

 

题记:记得以前学习OGC标准的时候,在网上拼命的搜索,都找不到好的中文学习资料,因此只好慢慢啃OGC网站上面的标准文本,终于有了一点理解。现在决定把我理解的东西以一个系列博客的形式发表出来,如果能够使大家在学习时节省一点点时间,我就很满足了。另外大家学习OGC有什么问题和心得也可以和我交流,我的QQ是121722794,邮箱是qqsuen(at)21cn.com。

1 简要介绍

WMS是OGC标准中比较简单也是比较重要的标准之一。它全称是“Web Map Service”(网络地图服务)。此标准主要定义了用于创建和显示地图图像的三大操作:GetCapabilities(获取服务能力), GetMap(获取地图)和GetFeatureInfo(获取对象信息)。其中GetMap为核心操作,此操作得到一幅地图图像。

2 GetMap请求

GetMap请求类似于在Web上请求一幅图像,但它的请求参数更加复杂。下面是一个样例请求:

返回的图像如下图所示:

 

其中:

http://: —— 使用的网络协议

webmapping.mgis.psu.edu/ —— 主机域名

geoserver/wms —— 页面或web程序位置

参数 ——

version=1.1.1 —— WMS版本号

request=getmap —— 操作动词,可以为GetCapabilities, GetMap和GetFeatureInfo等

layers=topp:states —— 请求地图所包含的图层名,可以为多层

styles=population —— 指定图层绘制的样式名

SRS=EPSG:4326 —— 指定地图的坐标投影系统代码

bbox=-125,24,-67,50 —— 请求地图的范围(The Bounding Box

width=400 —— 地图的像素宽度

height=200 —— 地图的像素高度,宽度和高度的不同设置可能会引起返回图像的变形

 

format=image/png —— 返回地图图像的格式,可以为Image/gif, image/jpg, image/svg+xml等等

如果参数设置错误,将返回一个XML文件来描述错误信息。如下所示:

<ServiceExceptionReport version="1.1.1"> 

    <ServiceException code=""> 
        WIDTH and HEIGHT incorrectly specified 
    </ServiceException> 
</ServiceExceptionReport>

3 GetCapabilities请求

GetCapabilities请求用于查询WMS服务的能力信息,包括支持的服务、支持的格式、空间坐标、地图列表、地图样式等。它主要的目的是使客户端在使用GetMap请求前可以对WMS服务有一个基本的了解,从而可以设置正确的参数。

GetCapabilities请求的样例如下所示:

返回是一个XML文件,包括Service、Capability等部分,详细信息可以查看返回XML文件。

4 GetFeatureInfo请求

GetFeatureInfo用于查询屏幕某点的对象信息,它的样例请求如下所示:

此请求返回一个HTML文档来描述对象,如下所示:

Results for FeatureType 'states':

--------------------------------------------

the_geom = [GEOMETRY (MultiPolygon) with 153 points]

STATE_NAME = Arizona

STATE_FIPS = 04

SUB_REGION = Mtn

STATE_ABBR = AZ

LAND_KM = 294333.462

WATER_KM = 942.772

PERSONS = 3665228.0

FAMILIES = 940106.0

HOUSHOLD = 1368843.0

MALE = 1810691.0

FEMALE = 1854537.0

WORKERS = 1358263.0

DRVALONE = 1178320.0

CARPOOL = 239083.0

PUBTRANS = 32856.0

EMPLOYED = 1603896.0

UNEMPLOY = 123902.0

SERVICE = 455896.0

MANUAL = 185109.0

P_MALE = 0.494

P_FEMALE = 0.506

SAMP_POP = 468178.0

 

要注意的是不同规范版本对上述请求的参数规定不同,如WMS1.3对于GetFeatureInfo的X、Y参数要求使用经纬度。所以我们必须根据服务器的WMS版本来设置我们的参数。

5 参考资料

(1)OGC WMS规范文本. 

(2)开源用于访问OGC WMS WFS的JS库OpenLayers. 

你可能感兴趣的文章
Cordova 开发环境搭建及创建第一个app
查看>>
ajax请求拿到多条数据拼接显示在页面中
查看>>
小程序: 查看正在写的页面
查看>>
dedecms生成文档数据库崩溃 mysql daemon failed to start
查看>>
Linux的50个基本命令
查看>>
Objective-C中创建单例方法的步骤
查看>>
Jenkins持续集成环境部署
查看>>
emoji等表情符号存mysql的方法
查看>>
检查磁盘利用率并且定期发送告警邮件
查看>>
MWeb 1.4 新功能介绍二:静态博客功能增强
查看>>
linux文本模式和文本替换功能
查看>>
Windows SFTP 的安装
查看>>
摄像机与绕任意轴旋转
查看>>
rsync 服务器配置过程
查看>>
预处理、const与sizeof相关面试题
查看>>
爬虫豆瓣top250项目-开发文档
查看>>
Elasticsearch增删改查
查看>>
oracle归档日志增长过快处理方法
查看>>
有趣的数学书籍
查看>>
teamviewer 卸载干净
查看>>