1.5 主流的开源GIS服务平台
空间数据是GIS的核心,能够直接或间接提供空间数据服务的GIS服务平台是发布地理信息服务的关键。目前,互联网企业纷纷进入电子地图领域,如国内的百度地图开放平台、高德开放平台、天地图-国家地理信息公共服务平台等。借助这些极具影响力的平台产品,GISer社区活跃起来,同时公众对GIS的认知也越来越多,GIS成为当前IT界的一个焦点。与此同时,开源社区也不断涌现出各类GIS项目,其中不乏一些优秀的开源GIS服务平台,如GeoServer、MapServer等。
1. 互联网公共地图服务开放平台
各个互联网公共地图服务开放平台的模式大同小异,一般提供电子地图服务与个性化的应用服务(POI、定位、导航、出行等)API,以及各端开发的SDK,如百度地图、高德地图等。天地图作为国家地理信息公共服务平台,提供了丰富的服务资源(数据服务资源、应用服务资源),各大服务机构(政府部门、企事业单位等)可以不断更新GIS服务,同时也提供Web端与移动端开发的SDK。
此类互联网公共地图服务开放平台获得了广大GISer的认可,成为轻量级GIS应用开发的利器,为GIS开发生态环境添砖加瓦,具有重要的作用与意义。
图1-11所示为互联网公共地图服务开放平台。
图1-11 互联网公共地图服务开放平台
国外的OpenStreetMap为GIS应用提供了在线地图服务。OpenStreetMap是开放数据,由OpenStreetMap基金会(OSMF)采用开放数据库许可协议授权。只要用户表明来源为 OpenStreetMap及其贡献者,就可以自由地复制、分发、传送其数据。
2. 开源GIS服务平台
与互联网公共地图服务开放平台不同,开源GIS服务平台最大的特点就是GIS服务的发布与管理。作为GIS服务器,支持用户定制自己专属的GIS服务,更为灵活,可以满足更多的应用场景需求。
(1)GeoServer。GeoServer是一个功能齐全,遵循OGC服务规范的开源GIS服务平台。GeoServer是OpenGIS Web服务规范的J2EE实现,用户利用GeoServer可以更加方便地发布地图数据,允许对数据进行更新、删除、插入等操作,还可以通过GeoServer迅速地共享地理空间信息。GeoServer是社区开源项目,用户可以直接通过社区网站(如中文社区网站http://www.opengeo.cn/)下载相关资料。
GeoServer支持OGC服务规范的系列服务,支持PostgreSQL、MySQL等数据库及ArcSDE、Shapefile等中间件和文件资源,能够将网络地图输出为JPEG、PNG、KML等多种图片格式和数据格式,可以运行在任何基于J2EE的容器,支持多种WebGIS前端框架,如OpenLayers等。图1-12所示为GeoServer界面。
图1-12 GeoServer界面
(2)MapServer。MapServer是美国明尼苏达大学(University of Minnesota,UMN)在20世纪90年代利用C语言开发的开源WebGIS项目。
MapServer是一套基于胖服务器端/瘦客户端模式的实时地图发布系统,当客户端发送数据请求时,服务器端实时处理空间数据,并将生成的数据发送给客户端。MapServer的核心部分是使用C语言编写的地图操作模块,MapServer遵循OGC服务规范,可以集合PostGIS和开源数据库PostgreSQL对空间数据进行存储和SQL查询操作,同时还支持其他WebGIS前端框架实现空间数据的传输。