基于OpenGIS的地图服务就可以供网上任何能够发现它们的应用程序调用,甚至可以被其他的Web服务调用。利用Web服务技术,可以很好地实现服务在Internet层次上的互操作。OpenGIS作为访问地理信息和地理数据处理服务开放的标准接口,是解决数据共享与互操作问题的关键,本章基于OpenGIS利用开源地图服务器以及WebGIS客户端开发包Openlayers构建了开放的可定制的地图服务平台。
软件框架选择:
开发语言:Java
地图服务器:Geoserver
地图框架:Openlayers
数据库实现:PostGIS(PostgreSQL)
如今随着Internet的发展,B/S结构的WebGIS已经由浏览器/网络服务器/数据服务器(Browser/Web Server/Data Server)三层架构阶段进入到浏览器/网络服务器/应用服务器/数据服务器(Browser/Web Server/Application Server/Data Server)四层架构阶段。
在四层B/S架构中,网络服务器和应用服务器分离,并且其间还可以插入二次开发和扩展功能,其中的应用服务器一般为支持远程调用的组件式GIS平台,或由组件式GIS平台封装而成。将GIS复杂数据分析与处理功能(编辑、拓扑关系的构建、对象关系的自动维护、制图)移植到GIS应用服务器上,使客户端与服务端的数据传输减少到最少的程度,为在Internet上实现复杂、大规模的地理信息服务提供了可能。这一架构带来的巨大优势是使服务器端具有极强的扩展性,能够方便地和其他的系统进行集成,而且维护、更新和扩展这些应用也非常容易。因此作为应用服务器的组件式GIS所具备的功能,都可以通过B/S结构实现。
图7-1是地图服务平台结构框架,其中,应用层主要封装了与地图相关的服务,包括地图表现服务、地图查询服务、数据转换服务等等,而用户层通过与Web服务器以及应用服务器的交互,获得上述服务地址,并进行调用。
图7-1 地图服务平台四层结构示意图
地图服务平台是建立在空间数据标准化、服务标准化的基础上的,平台的建设是一项系统工程,必须遵循一定的原则,否则就无法实现平台的开放性。平台实现须遵循的指导性原则有:
(1)模块化:指平台中的任何一个空间信息服务只是整个体系中的一个模块,可以独立存在和发布,也能够被集成到别的模块中成为别的服务的一个部分,从而支持不同服务模块的多种组合。
(2)标准化:平台中的各个服务的实现与集成应遵循关于空间信息描述、组织等方面的标准需要,如GML,遵循内容编码、数据通信等方面的标准,才能保证所建立的空问信息服务的可使用性、互操作性。
(3)开放集成:任何服务集成或链接的方式都通过标准的、开放的调用和表现机制来实现,与具体位置和系统平台无关,尽管其中某些(甚至所有)服务就部署在本地系统上。