1.4.1 开源地理信息系统平台
全球的开源GIS软件与工具多种多样,绝大多数OpenGIS软件都由自发的社区进行支持和研发。
虽然使用这些软件的时候需要区别自由(Free)软件和开源(OpenSource)软件,但是表1-6所列的开源GIS工具基本都是自由且开源的,即它们都是自由开源软件(Free and OpenSource Software,FOSS)。但是,各种软件采用的开源协议有很大区别,希望读者在使用和开发过程中注意这一问题。同一用途的开源GIS软件往往有很多种(通常属于不同的语言或运行环境):
• 桌面GIS软件:QGIS、GRASS GIS、uDig、SAGA GIS、Marble、gvSIG等。
• WebGIS服务器:MapServer、GeoServer等。
• WebGIS客户端:OpenLayers、OpenScale、Leaflet等。
• GIS底层类库:GDAL/OGR、GeoTools、GEOS、FDO(Feature Data Objects)、OTB(Orfeo Toolbox)等。
• GIS数据库支持:PostGIS、SpatiaLite、MySQL Spatial等。
由于篇幅的限制,本书仅介绍和对比了与QGIS存在竞争关系的开源桌面GIS软件,如表1-6所示。
表1-6 常见的开源GIS软件及其对比
* W表示Windows操作系统;M表示Mac OS操作系统;L表示Linux操作系统。
下面逐一介绍主要的开源桌面GIS软件。
1. GRASS GIS
GRASS的全称为地理资源分析支持系统(Geographic Resources Analysis Support System),主要功能包括数据管理、地图制图、空间建模和可视化分析。GRASS GIS起源于1982年,是最古老的开源桌面GIS软件,也是OSGeo的初创成员之一。GRASS GIS的创立源于美国军方对土地管理与资源规划的需要,美国军方在政府、大学和民间机构招募了大量的志愿者参与开发。因此,GRASS GIS的用户群体非常庞大,用于全球的学术领域和商业领域。
GRASS GIS的主要特点如下:
• 独特的数据管理方式:基于GRASS数据库(DataBase)、区域(Location)和地图集(MapSet)的管理模式。
• 命令行操作方式:GRASS GIS虽然有自己的用户界面,但是仍然倡导命令行操作方式。在Windows操作系统中可以通过cmd执行命令,在Linux操作系统中可以通过bashshell执行命令。
• 稳定、快速的处理模块:GRASS GIS的空间处理模块非常清晰,而且每次执行功能的时候,只需要运行必需的模块,节省了系统资源,更适合高级用户使用。
由于独特的数据管理和命令行操作方式,GRASS GIS的学习成本很高,易用性较差。但是,由于GRASS GIS工具的良好组织,以及实用性和稳定性,使其具有很强的生命力。
2. SAGA GIS
SAGA的全称为自动地球科学分析系统(System for Automated Geoscientific Analyses),是一个专注于地理空间数据处理的桌面GIS软件。SAGA GIS最初由德国哥廷根大学发起,2007年将项目转到德国汉堡大学继续研发。SAGA GIS主要针对气候、水文、土地等研究领域,提供相关的多种地理处理工具。SAGA GIS的第一个目标是给予地理学者一个高效且简单、易学的地理科学算法的实现平台,这是通过SAGA GIS独特的API实现的。SAGA GIS的第二个目标是让这些算法通过一个用户友好的界面进行访问与操作,因此它配备了一个GUI。但是,SAGA GIS在GIS数据编辑和制图方面的功能很弱,因此它经常被嵌入其他的GIS软件平台中,例如,SAGA针对ArcGIS平台设计了ArcSAGA,QGIS也将SAGA嵌入自己的工具箱中。
SAGA采用C++语言编写,这使其具有非常高的计算效率。从SAGA2开始使用跨平台的GUI库wxWidgets制作用户界面,因此其可以运行在Windows系统和Linux系统中。
3. gvSIG
gvSIG诞生于2004年,是一个简单、易用且具有一定可扩展性的开源桌面GIS软件。gvSIG原本是西班牙加泰罗尼亚自治区的信息技术系统中的一个工程。随着gvSIG的推广和应用,2010年以后其由新成立的gvSIG协会接管。经过多年的发展,gvSIG已经形成了多个版本。
• gvSIG桌面版(gvSIG Desktop):强大、易用、友好的桌面GIS软件,具备基本的空间数据管理、分析功能,采用Java语言开发,利用Andami构建用户界面,可以通过add-ons的方式扩展功能,兼顾了轻量级和可扩展的特征,通过GNU/GPL证书分发。
• gvSIG在线版(gvSIG Online):空间数据基础设施解决方案,提供地理空间数据的公有云和私有云服务,采用AGPL证书发布。
• gvSIG移动版(gvSIG Mobile):易用的gvSIG移动终端,与gvSIG桌面版和在线版无缝连接,目前只有Android端,重点是空间数据采集功能,通过GNU/GPL证书分发。
• gvSIG路政版(gvSIG Roads):道路基础设施管理的完整解决方案,由Web管理系统、桌面制图系统、空间数据库、地理信息数据库和用于实地工作的移动软件组成。
• gvSIG教育版(gvSIG Educa):适应教育领域的gvSIG套件,目标是成为教育工作者的工具,使学生更容易地分析和理解地理现象,适应不同层次的教育系统,通过GNU/GPL证书分发。
4. uDig
uDig(User-friendly Desktop Internet GIS)是基于Java语言和Eclipse客户端平台(Eclipse Rich Client)搭建的桌面GIS软件。因此,uDig不仅可以作为单独的应用使用,也可以嵌入生产环境的Eclipse及其衍生开发环境中。例如,可以一边在Eclipse中利用GeoTools等工具进行GIS二次开发,一边利用uDig插件进行数据查看。另外,uDig具有类似于uDig的插件机制的add-ons,因而具有较好的可扩展性。但是,Eclipse本身占有较大的内存,而且运行速度较慢,因此uDig的性能受到影响,在使用uDig进行数据处理与分析时需要用户考虑性能问题。
5. iDesktop Cross
我国的开源GIS起步较晚,比较有代表性的软件为SuperMap iDesktop Cross。iDesktop Cross是我国首个可以在Windows平台与Linux平台运行的开源桌面GIS软件,采用GNU General Public License v3.0证书发布。iDesktop Cross基于Java语言和SuperMap iObjects Java开发。
虽然iDesktop Cross最新的版本无法继续免费开源使用,已经转向商业闭源软件,但是iDesktop Cross 9D、iDesktop Cross 8C等开源版本仍然具有一定的优势。例如,iDesktop Cross具有非常好的中文支持,这是其他开源桌面GIS软件不能比拟的,虽然其空间分析功能略显逊色。
iDesktop Cross源码下载地址:
https://github.com/SuperMap-iDesktop/SuperMap-iDesktop-Cross
iDesktop Cross软件的下载地址:
http://support.supermap.com.cn/DownloadCenter/ProductPlatform.aspx
相对于其他开源的GIS平台,QGIS具有界面友好、功能齐全等优势,并且其整合了SAGA GIS和GRASS GIS的主要功能,基本能够满足绝大多数的GIS相关工作需要。