开源WebGIS实施方案
http://www.cnblogs.com/hans_gis/archive/2012/09/21/2696880.html
GIS起源于上世纪六十年代,发展到现如今,也早已不再是某些专业领域的“阳春白雪”。放眼当下,各商业GIS软件有如群雄逐鹿,大有风起云涌之势;而开源GIS软件也有如群星璀璨,在各类型GIS产品中竞相争艳。本系列以介绍各相关开源GIS软件为目的,藉以实现一套行之有效的WebGIS实施方案。
以我个人粗浅的认识来看,一套切实可行的WebGIS需具备以下三个部分:
①
②
③
地图数据生产,可以采用uDig、QGIS、OpenJUMP等开源桌面GIS。
地图数据存储,有两种可选方法。一是文件存储,直接以Shapefile文件形式存储;二是利用空间数据库。在开源空间数据库中,比较成型的有PostGIS和MySQL Spatial。其中PostGIS是开源数据库PostgreSQL的扩展模块,而MySQL Spatial是开源数据库MySQL的扩展模块。相比较而言,在开源GIS领域,PostGIS能够得到更为广泛的支持。
Web服务器,Tomcat乃不二之选。
GIS服务器,GeoServer或者MapServer。二者都是开源WebGIS中的佼佼者,在功能与性能上各有千秋。GeoServer 是 OpenGIS Web 服务器规范的 J2EE 实现的社区开源项目,MapServer则是基于C实现的。
GIS内核 Geotools 是一套基于Java平台的开源GISAPI中间件,实现了完整的GIS底层功能。
客户端呈现,现在的主流方式都是请求地图瓦片然后在客户端进行展示,因此理论上客户端只需要能够请求并获取相应的地图瓦片即可。但是仍然可以采用一些开源库的来简化、强化、优化前端开发。比较著名的有Openlayers、OpenScales,其中OpenLayers 是一个专为Web GIS 客户端开发提供的JavaScript 类库包,用于实现标准格式发布的地图数据访问,OpenScales算是OpenLayers的ActionScript翻版,对于Flex前端开发来说是个不错的选择。另外还有ExtMap、Mapbuilder等。
以上已经给出了用开源软件实现WebGIS的各个环节可采用的软件,但在实际中,还需要根据项目实际做一下筛选。如果是JAVA技术路线,选择uDig + PostgreSQL/PostGIS + Tomcat + GeoServer + Openlayers组合。