首页 » 技术分享 » OGC 的 Web 服务规范

OGC 的 Web 服务规范

 

一、关于 Web 服务

Web 服务是一种服务导向架构的技术,通过标准的 Web 协议提供服务,目的是实现跨平台。 根据 W3C 的定义,Web 服务应当是一个软件系统,用以支持网络间不同机器的互动操作。Web 服务通常是许多应用程序接口所组成的,它们透过网络,例如国际互联网的远程服务器端,执行客户所提交服务的请求。

简单来说,Web 服务就是发布在服务器上的可供不同平台的客户使用的程序

二、OWS

OGC 在空间信息 Web 服务方面制定了一系列规范,统称为 OWS(OGC Web Services),重点是 WMS 、WFS、WCS、WPS 四个服务。通过现有 GIS 服务器实现服务的发布十分简单,如果不需独立开发 GIS 服务器,我们只需要关心如何在前端页面中使用 API 调用这些服务来构建自己的应用。

1 WMS(Web Map Service)

Web 地图服务 用于在在互联网上提供和使用动态地图。

WMS 服务支持以下操作:

(1) 请求服务的元数据(GetCapabilities),用户可以根据返回的 XML 文件确定该服务支持哪些操作
(2) 请求地图图像(GetMap),注意这里我们请求的是经过服务器端绘制的地图图像
(3) 请求关于地图要素的信息(GetFeatureInfo,可选)
(4) 其它可选服务
请求样式(GetStyles)、请求图例(GetLegendGraphic)等

已知服务器的 URL,我们可以构建 HTTP(GET/POST) 请求来使用已发布的 WMS 服务,以获取与使用需要的信息,当然,这种方法并不常用。主流的 API 里均封装了相关的类,可以更加方便地使用 WMS 等服务。

2 WFS(Web Feature Service)

Web 要素服务 用于发布矢量数据,用户得到这些数据后,可以自行处理与显示,而不需要在服务器上绘制地图。

与 WMS 类似,WFS 支持 GetCapabilities、DescribeFeatureType 与 GetFeature 等操作,其中 GetFeature 操作用于获取要素数据。

3 WCS(Web Coverage Service)

这里首先注意,Coverage(覆盖) 并不是 ESRI 的 Coverage 矢量数据,而是一种栅格的数据集。

Web 覆盖服务 用来在 Web 上发布矢量数据,而 WCS 用于发布栅格数据。与 WMS 不同,WCS 发布的数据具有更多信息而不仅仅是栅格图像,可以作为分析和建模等操作的输入。(比如多波段遥感影像,就需要使用 WCS 来发布)

WMS 服务支持以下操作:

(1) 请求服务的元数据和数据的简要描述(GetCapabilities)
(2) 请求一个或多个覆盖的完整描述(Describe Coverage)
(3) 请求覆盖(GetCoverage)

4 WPS(Web Processing Service)

Web 处理服务 用于提供地理处理功能,取决于 GIS 服务器,我们可以提供多种功能,也可以自己去扩展这些功能。WPS 支持以下操作:

(1) 请求服务元数据(GetCapabilities),查看该 WPS 支持的操作(指服务所规定的操作),以及所提供的地理处理功能列表和对应的简要描述
(2) 请求某个地理处理的详细描述(Describe Process)
(3) 请求运行地理处理(Execute)。该请求通常为带 XML 的 POST 方式。返回的响应是经过处理的数据。

通过服务器发布了上述几种服务,我们就可以构建一个相对完整的 Web GIS 应用了。接下来的文章将针对不同的服务进行开发实践,来加深对它们的印象和理解。觉得有帮助的小伙伴记得点下关注,不要错过精彩内容~

转载自原文链接, 如需删除请联系管理员。

原文链接:OGC 的 Web 服务规范,转载请注明来源!

0