当前位置:首页 > GeoServer基础教程
在这里,我们已经可以通过默认的控制条来进行放大缩小与平移,还能点击图中的地理要素来查看属性。
小结
至此,通过GeoServer部署发布Shapefile地图数据已经介绍完毕。我们希望通过这一节能使大家对工作区、数据存储和图层等概念有更深一步的了解,也能掌握部署发布地图数据的一般方法和流程。如果对于这些你有疑问,欢迎留言交流。
下一节计划开始和大家详细介绍GeoServer支持的请求协议,如WFS、WMS等,欢迎继续关注。
GeoServer基础教程(四):空间数据互操作的接口规范WMS、WFS和WCS
前面几节介绍了GeoServer基础教程的一些基本操作,相信大家对GeoServer的基本操作都比较熟悉了。我们知道GeoServer使用开放地理空间联盟(OGC)提出的开放标准,支持三种空间数据互操作的接口规范WMS、WFS和WCS,这一节我们就来介绍这三种规
范,为以后使用这些规范开发基于GeoServer的Web应用打下基础。
首先简单介绍一下OGC(Open Geospatial Consortium,开放地理信息协会)和Web Services以及他们之间的关系。
OGC是一个非赢利的国际化标准制定组织,领导进行对地理数据相关的操作和服务标准的制定。OGC最主要的一项计划是互操作计划(Interoperability Program,简称IP),该项目的目标是提供一套综合的开放接口规范,以使软件开发商可以根据这些规范来编写互操作组件,从而满足互操作需求。
Web Services即Web服务,它是自包含的、模块化的应用程序,它可以在网络中被描述、发布、查找以及调用。Web服务的一个主要思想,就是未来的应用将由一组应用了网络的服务组合而成。在Web Services体系中,所有东西都是服务,这些服务发布一个API供网络中的其他服务或者应用使用,并且封装了实现细节。Web Services是OGC规范以及建立面向服务的空间共享体系的基础技术体系。空间信息Web服务是在Web服务技术和标准基础之上实现的地理空间信息网上在线服务。它利用Web服务技术提供的公共接口、交换协议和服务规范,提供应用客户管理、注册服务、编码、处理服务、描述服务和数据服务等。主要的应用客户包括发现客户、地图浏览客户、影像利用客户等。空间信息Web服务除了采用基本的Web服务技术协议外,还需要相关地理空间信息及处理的技术协议,目前主要有OGC、ISO/TC211和W3C等组织在进行相关协议标准的制定。 OGC Web服务(OWS)即是典型的空间信息Web服务标准体系。
OGC Web服务公共执行规范详细描述了OWS接口执行规范包含的公共方面:
操作请求和响应的内容
操作请求和响应包含的参数和数据结构 操作请求和响应的XML和KVP编码
这些规范目前包括网络地图执行规范(WMS)、网络特征数据执行规范(WFS)、网络覆盖执行规范(WCS)。下面逐一为大家介绍。
WMS(Web Map Service,网络地图执行规范)
Web地图服务(WMS)利用具有地理空间位置信息的数据制作地图。在WMS规范中将地图定义为地理数据可视的表现,WMS返回的不是地图数据,而是地图图象。 WMS规范定义了三个操作:
GetCapabilities操作返回服务级元数据,它是对服务信息内容和请求参数的一种描述,元数据使用XML形式文件表示;
GetMap操作根据客户端发出的请求参数在服务端进行检索,服务器返回一个地图图象,其地理空间参数和大小是已经明确定义的,返回的地图图象可以是GIF,JPEG,PNG或SVG格式的;
GetFeatureInfo操作根据用户请求的X,Y坐标或感兴趣的图层,返回这些特殊要素的信息,信息以HTML,GML或者ASCII格式表示。 GetCapabilities (必须)
该操作的目的在于获取服务元数据,元数据是对服务器信息内容和可接受的请求参数值的一种机器可读性(并且可以人读)描述。
GetCapabilities操作的参数
GetCapabilities操作的参数详解:
FORMAT:该可选参数规定服务元数据的格式要求。WMS服务器上GetCapabilities请求支持的值由服务元数据中的一个或多个
SERVICE:该强制性参数指示哪个可用的服务类型将被激活,在WMS上当激活一个GetCapabilities时,值”WMS”就应该被使用。
REQUEST:要激活GetCapabilities操作,值”GetCapabilities”就应该被用到。
UPDATESEQUENCE:该可选参数是为维持缓冲区一致而设置的,它的值可以为一个代表一个符合ISO 8601:2004格式(原文附录D)的时间标签(timestamp)的integer、string或者其他string。服务器可能包含一个UpdateSequence值于服务元数据中,如果这样,当Capablities被改变(e.g.当新的maps添加到给服务中)的时候,这个值应该被增加。客户端可能在其GetCapabilities请求中包含该参数。 GetMap(必须)
GetMap操作返回一幅地图(map),接收到GetMap请求后,WMS要么满足请求要么发送一个异常。
GetMap请求的参数
GetMap请求的参数详解:
LAYERS:该参数值是一个逗号分隔的列表,列表元素为有效图层名称。这些名字应该是在服务元数据中的
STYLES:以逗号分隔的列表形式表示的请求的每一图层的STYLE。STYLE值应该有效,并且STYLE值与LAYERS参数值总是一一对应的。所以,每个map都是按照LAYERS的STYLE绘制各个layer,而各个Layer的名称必须符合默认的混合形式,则在STYLE参数中应该用逗号来分隔一个空值(如”STYLE=style1,style2”),如果服务器为一个layer发布多个Style,而客户端发送了一个默认style的请求,选择哪个style作为默认值就是服务器的标准了。元数据中styles的顺序并不能表明哪个为默认的值。客户端开发人员应该最大限度地减少用户不注意地请求或无意识地获得扭曲的地图。
CRS:CRS参数声明了应用到BBOX请求参数的层CRS。该参数的值必须为所请求的服务器元数据中已经定义过或从请求层中继承过的.。WMS不必支持所有的CRS,但是,对于其已经在服务元数据发布的CRS应该支持。如果客户请求其不支持的CRS,服务器应该返回一个异常(code=”InvalidCRS”) 。如果WMS服务已经声明了一个层的CRS=CRS:1,如前所述,表示该层没有定义好一个坐标参考系统,因此不能与其他层联合显示。客户端应该在GetMap中指定CRS=CRS:1,否则,服务器可能发送一个服务异常。当CRS在 请求中使用时,BBOX参数的单位应该为像素。
共分享92篇相关文档