2019独角兽企业重金招聘Python工程师标准>>>
随着计算机技术、网络技术、数据库技术的不断发展,GIS的发展呈现新的特点和趋势。Web GIS是一个交互式的、分布式的、动态的地理信息系统,而XML技术与web服务技术的成熟为数据的共享和功能的互操作提供了新的契机。
此时各大厂商都推出自己的web GIS,但是没有一个统一的标准,很难真正实现各个平台间数据真正共享。于是OGC(open GIS Consortium开放地理信息系统协会)在XML和web服务基础上制定了一系列用于地理数据的共享和互操作的规范。改规范包含地理信息web服务、GML(Geography Markup Language)以及OWS(OGC Web Services)。地理标识语言GML是OGC推出的基于XML的一种开放式空间数据编码标准。
地理信息web服务
OGC地理信息服务包括三个主要的地理信息服务:web地图服务(WMS,Web Map Service)、web要素服务(WFS,Web Feature Service)、web覆盖服务(WCS,Web Coverage Service)。其中WMS属于地图表达服务,用于从网络上的分布式空间数据库中获取地图和要素来形成用户所需的地图。WFS是WMS的进一步深入,WFS返回的是要素级的GML编码。
OWS服务体系
图1 OGC WMS体系结构
图2 WMS应用系统框架
在OWS服务体系中,主要部分包括地理数据服务(Data Service),地图描绘服务(Protrayal Service),过程处理服务(Processing Service),发布注册服务(Registry),客户端应用(Client Application)。
GML编码
GML采用了《OpenGIS抽象规范》(OpenGIS Abstract Specification)的几何模型。
(关于编码这方面,没有太多了解,以后补充。)
下面来看些例子,了解下web服务的GIS系统是如何实现请求与响应:
这里我们通过测绘科学数据共享网测试。
浏览器中输入
http://sms.webmap.cn/scripts/openserv.exe?map=/sms_ogc/sms500.map&version=1.1.1&service=WMS&request=GetMap&srs=EPSG:4326&bbox=67,3,137,55&format=image/png&layers=ROALN500arc&transparent=true
你会获得一张图片,即你的请求返回的是一张图片。下面来分析下这个请求。http://sms.webmap.cn/scripts/openserv.exe是响应请求的路径,map=/sms_ogc/sms500.map表示的是查询的是1:500万数字地图(这是测绘科学数据共享网自己定义的),version=1.1.1表示 WMS的版本是1.1.1,service=WMS表示服务是WMS,request=GetMap表示请求的是GetMap操作(OGC为WMS定义了许多接口,大多数GIS软件都遵守这一标准)。EPSG:4326,srs=67,3,137,55表示地理范围(经纬度)。layers=ROALN500arc表示图层为ROALN500arc,format表示放回图片格式,transparent表示透明显示。
了解下这些可能有助于了解GIS服务的工作原理,有助于我们深入研究。这里只是大致说下,没有详细探讨WMS和WFS等,这样也许就足够。至少我们发布地图时看到WMS知道它是什么。
个人水平有限,其中可能有错,欢迎批评指正。