Web地图服务、WMS请求方式、网络地图服务(WMS)的三大操作

Web地图服务、WMS请求⽅式、⽹络地图服务(WMS)的三
⼤操作
Geoserver是⼀个功能齐全,遵循OGC开放标准的开源WFS-T和WMS服务器。利⽤Geoserver可以把数据作为maps/images来发布(利⽤WMS来实现)也可以直接发布实际的数据(利⽤WFS来实现),同时也提供了修改,删除和新增的功能(利⽤WFS-T)。 GeoServer, 顾名思义,是⼀个Server. 它是开源的 ,允许⽤户查看和编辑地理数据。GeoServer能够发布的数据类型:
(1)地图或影象——应⽤WMS
(2)实时数据——应⽤WFS
(3)⽤户更新、删除和编辑的数据——应⽤WFS-T。
GeoServer 是您需要显⽰地图在⽹页的那些⼯具的当中⼀个,⽤户可以缩放并且移动。可以与⼀些客户端联合使⽤,⽐如:
MapBuilder(for web pages), UDig, GVSig,等等。 对标准的使⽤允许信息从GeoServer 到其它地理信息可以很容易地被结合。
2、Web地图服务(WMS):利⽤具有地理空间位置信息的数据制作地图,其中将地图定义为地理数据可视的表现,地图本⾝并不是数据。地图通常以图像格式表达,例如PNG,GIF或是JPEG,有时候也表达为基于⽮量图形,如可缩放⽮量图形(SVG)或是⽹络电脑图形元⽂件等格式(WebCGM)。根据OGC规范,地图服务是专门提供共享地图数据的服务,负责根据客户程序的请求,提供地图图像、指定坐标点的要素信息、以及地图服务的功能说明信息。
WMS规范定义了三个接⼝(操作):GetCapabilities(获取服务能⼒), GetMap(获取地图)和GetFeatureInfo(获取对象信息)。其中GetMap为核⼼操作。GetCapabitities返回服务级元数据,它是对服务信息内容和要求参数的⼀种描述;GetMap返回⼀个地图影像,其地理空间参考和⼤⼩参数是明确定义了的;GetFeatureInfo(可选)返回显⽰在地图上的某些特殊要素的信息。这个规范还定义了⼀个⽤于调⽤上述操作的万维⽹统⼀资源定位器(URL)语法和服务级元数据的XML(可扩展标记语⾔)表达法。
3、WMS 请求⽅式: WMS ⽀持标准 HTTP 中标准的 GET 请求和 POST 请求⽅式,不过对于 WMS 来说,基本都是基于 GET ⽅式的服务请求,⽽且 OGC 官⽅提供的兼容性测试中也都是基于 GET ⽅式的请求。
OGC⽹络服务明确⽀持的唯⼀的分布式计算平台(DCP)就是是万维⽹本⾝,更明确地说是实现了超
⽂本传递协议(HTTP)的⽹络主机。因此,每个由服务实例⽀持的各操作的在线资源都是⼀个HTTP的统⼀资源定位器(URL)。HTTP⽀持两个请求⽅法:GET和POST,⼀个基本的WMS规范仅仅定义⽤来调⽤操作的HTTP GET。URL规范保留了⼀些特定的字符并赋予它们必要的意义,如下表1,
表1  HTTP GET查询中的保留字符
⽤            途
查询语句开始的分隔符
&查询语句参数之间的分隔符
=参数名字和参数值之间的分隔符
/格式参数值中MIME类型⼦类型之间的分隔符
:SRS参数值中命名空间和标识之间的分隔符
,
清单型参数中单个值的分隔符(例如GETMAP请求中的
BBOX,LAYERS和STYLES)
⽤于HTTPGET请求的在线资源URL事实上仅仅是⼀个URL前缀,为了建⽴⼀个有效的操作请求,在其后还添加了另外的参数。URL前缀被定义为⼀个不透明的字符串,它包括协议、主机名、端⼝号(可选)、路径、和⼀个问号“?”,还可以包括⼀个或⼏个⽤于具体服务器的参数并以“&”结束。
表2总结了操作请求URL的各个构件:
表2  普通OGC⽹络服务请求
URL 构件描        述
服务操作的URL前缀。[ ]表⽰可选择0个或1个事件;{}表⽰
0个或更多的事件。前缀完全取决于服务提供者。
name=value&由OGC⽹络服务定义的⼀个或更多的标准请求参数的名称和数值对。对于每个操作,相
应的的OWS规范都规定了请求中使⽤的必选和可选参数的实际列表。
4、⽹络地图服务(WMS)的三⼤操作
(1)GetCapabilities(必选)
(浏览器会返回提⽰打开或保存⼀个⽂件,我的机器返回的是⼀个叫“wms”的⽂件,没有扩展名。没关系我们把它保存
为“l”就可以了)
GetCapabilities请求返回的是⼀个对于WMS服务的⼀个元数据的描述,其中包括有当前服务提供商的⼀些基本信息以及当前服务的⼀些能⼒,⽽对于使⽤WMS服务的客户端来说,能获取到的所有信息全部包含在此⽂档中,当客户端发送⼀个服务中没有提供的的图⽚格式时,此时服务端将没有能⼒处理此请求。在使⽤WMS服务时需要确认当前服务提供的能⼒,以便在使⽤过程中发⽣⼀些不必要的⿇烦。
GetCapabilities 接⼝⽤于向客户端提供当前地图服务器可以提供的空间信息类型和范围、具体的图层信息和显⽰样式、⽀持的查询⽅式、没有查询结果时(异常)的缺省返回信息格式等服务描述信息。
GetCapabilities 请求URL的参数
请求参数必选
(M)/
可选剑舞翩跹
(O)
说明
VERSION=version(Version ( 版本 )=(1.1.1 或者 1.3.0)
)O请求版本,URL 中可选的请求参数,当没有使⽤时就使⽤当前服务提供商提供的最
⾼的 wms 版本服务
SERVICE=WMS M服务类型
REQUEST=GetCapabilities M请求名,请求中必须设置当前请求的操
作,可以设置 request 的值为
Getcapabilities 、 GetMap 、
GetFeatureInfo
FORMAT=MIME_type O服务元数据的输出格式
UPDATESEQUENCE=string O⽤于控制缓冲存储的数字序列或字符串
(2)GetMap(必选)
GetMap 接⼝的⽬的在于请求服务器⽣成⼀幅具有确定地理位置坐标范围的地图图像。但按照WMS规范,这个操作需要明确地指定出操作本⾝遵循的WMS规范的版本号以及需要显⽰的具体图层、对应的坐标范围、返回图像的⼤⼩和格式等。
GetMap请求的参数
请求参数必选的
说  明
(M)/
可选的
(O)
VERSION=version M请求版本.
english translationREQUEST=GetMap M请求名称.
LAYERS=layer_list M以逗号隔开的⼀个或多个图层列
表,若存在SLD参数则是可选
的。
STYLES=style_list M以逗号隔开的请求图层的⼀个再
现风格列表,若存在SLD参数则
是可选的。
CRS=namespace:identifier M坐标参考系。
BBOX=minx,miny,maxx,maxy M以SRS单位表⽰的边界框边⾓
(左下⾓,右上⾓)。
WIDTH=output_width M以像素表⽰的地图图像宽度。.
HEIGHT=output_height M以像素表⽰的地图图像⾼度
FORMAT=output_format M地图输出格式。.
无过氧化氢酶血症TRANSPARENT=TRUE|FALSE O地图背景的透明性
(default=FALSE).
BGCOLOR=color_value O以⼗六进制RGB颜⾊值表⽰的背
景颜⾊(default=0xFFFFFF).
EXCEPTIONS=exception_format O WMS通告异常的格式
(default=SE_XML).
TIME=time O请求层的时间值。
ELEVATION=elevation O请求层的⾼程。
Other sample dimension(s)O其它适当维度的值。.
Vendor-specific parameters O可选的实验性参数。.
下列参数只⽤于⽀持格式化层描述符规范的⽹络地图服务 [3].
SLD=styled_layer_descriptor_URL O格式化层描述符的URL(如同
SLD规范中确定的).
WFS=web_feature_service_URL O⽹络要素服务URL,该服务提供
将要⽤SLD进⾏符号化的要素。.
注:在LAYERS参数值和STYLES参数值之间存在⼀个⼀⼀对应关系
对GetMap的响应:
对有效的GetMap请求的响应必须是⼀张地图,它包含了所请求的具有地理参考坐标的信息层,使⽤的是期望的样式,并且采⽤了指定的空间参照系、范围框、⼤⼩和透明性。⼀个⽆效的GetMap请求必须产⽣⼀个按请求的Exceptions格式输出的错误信息(或在极端情况下回答⼀个⽹络协议错误)。
(3)GetFeatureInfo(可选)
GetFeatureInfo是⼀个可选操作。该操作向WMS的客户端程序提供了进⼀步查询特定空间实体信息的能⼒。这种操作往往是由客户程序在WMS服务器先前返回的地图上指定了⼀个空间实体,进⽽提交查询⽽形成。⽀持GetFeatureInfo操作的仅仅是那些定义或继承了属性queryable=“1”的层。对于其它层,客户端不能发送GetFeatureInfo请求。如果⼀个WMS不⽀持该请求⽽遇到了它,则应该应答⼀个适当格式的服务异常。
GetFeatureInfo请求参数
描述
请求参数必选
(M)/
可选
(O)
VERSION=version M请求版本。
散力REQUEST=GetFeatureInfo M请求名称。
map request part M地图请求参数的部分拷贝,这些参数产⽣了
需要查询其信息的地图。
QUERY_LAYERS=layer_list M⽤逗号分隔的需要查询的⼀个或多个层的列
单。
INFO_FORMAT=output_format M要素信息的返回格式(MIME 类型)。
FEATURE_COUNT=number O需要返回其信息的要素个数(default=1)。
X=pixel_column M⽤像素表达的要素的X坐标 (以左上⾓坐标
为0)。
Y=pixel_row M⽤像素表达的要素的Y坐标 (以左上⾓坐标
为0)。
EXCEPTIONS=exception_format O WMS报告异常信息采⽤的格式
(default=se_xml)。
5、三⼤操作的样例
(1)GetMap请求类似于在Web上请求⼀幅图像,但它的请求参数更加复杂。下⾯是⼀个样例请求:
返回的图像如下图所⽰:
>
其中:
后花园景观设计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⽂件来描述错误信息。如下所⽰:
<ServiceExceptionReportversion="1.1.1">
<ServiceException code="">
WIDTH and HEIGHT incorrectly specified
</ServiceException>
</ServiceExceptionReport>
(2)GetCapabilities请求的样例如下所⽰:
返回的是⼀个XML⽂件(⽂件很⼤,内容略),包括Service、Capability等部分,详细信息可以查看返回XML⽂件。
把这个⽂档去头去尾以后留下两个节点Service和Capability。 Service包含了有关服务器的⼀般特性数据,对于只是想直接使⽤WMS服务器的⼈来说,这个节点还不太⽤得上,唯⼀值得注意的就是KeywordList节点,它⾥⾯是关键字,也就是服务器的保留字。 Capability才是我们学习的重点。如果你想正确的使⽤WMS服务器,这个节点⾥⾯的内容就必须搞清楚了。你可以从这个节点获得如下信息:
1)服务器⽀持哪些⽅法,WMS服务器必须⽀持GetCapabilities和GetMap,此外还有许多扩展的⽅法。
2)服务器⽀持哪些返回格式,WMS返回的地图都是渲染好的图⽚,因此这⾥的格式基本上都是图⽚格式,如image/png。
3)服务器发布了哪些图层,这个是WMS的重点,不然你连最简单的GetMap调⽤都构造不出来。
(3)GetFeatureInfo⽤于查询屏幕某点的对象信息,它的样例请求如下所⽰:
此请求返回⼀个HTML⽂档来描述对象,如下所⽰:
Results forFeatureType '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

本文发布于:2024-09-23 17:12:54,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/97705.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:地图   请求   服务   参数   信息   返回
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议