国际上越来越多专家学者开始支持开源免费GIS软件的发展。在众多开源免费GIS软件当中首先要提的就是QGIS软件。QGIS(之前也叫QuantumGIS)是一个开源的桌面GIS软件,它提供了数据的显示、编辑和分析功能,是一个多平台的应用软件,可以在多种操作系统上运行,包括MacOSX、Linux、UNIX和Windows。相较于商业化GIS软件,QGIS的文件体积更小,需要的内存较少。因此,它可以在旧的硬件上或CPU运算能力被限制的环境下运行。QGIS以C++写成,它的GUI使用了Qt库。QGIS允许集成使用C++或Python写成的插件。经过多年的发展,QGIS在多个技术领域已经赶上甚至超过了商业GIS软件,并展示出在GIS软件领域独特的软件功能与技术优势。
需求是科学与技术发展的动力。地理信息系统(GIS)就是以应用为目的,以技术为先导,在为社会各行各业服务中逐步从地理学、测绘学和信息科学中自然形成的一门交叉学科,广泛应用于资源调查、环境评价、灾害预警、国土管理、城市规划、交通运输、军事安全、水利水工、公共设施管理、商业金融等领域。GIS技术在这些行业的应用离不开GIS软件工程的实施,可以说缺乏GIS软件的地理信息技术是几乎无法和任何学科结合并在实际生产实践中得到应用的。也正是基于此,在过去的几十年中GIS软件呈雨后春笋般地发展起来。许多知名的商业软件公司都形成了比较成熟的GIS软件产品,例如ESRI公司的ArcGIS产品系列,Autodesk公司的AutoCAD软件,PitneyBowes软件公司的MapInfo,中地数码公司的MapGIS以及超图公司的SuperMap系列等。不过这些软件毕竟是商业软件,使用起来会有诸多限制:①所有的软件都需要购买,增加了项目成本,尤其是对于在校学生或者从事公益科研的项目组来说更加难以承担;②版权限制,用户无法无限制地使用软件所带的模块;③技术限制,用户无法探究软件的各类模型的实现算法,出现问题时无法自己去查看源代码修复问题,更无法自己完善软件的功能。
鉴于此,国际上越来越多专家学者开始支持开源免费GIS软件的发展。在众多开源免费GIS软件当中首先要提的就是QGIS软件。QGIS(之前也叫QuantumGIS)是一个开源的桌面GIS软件,它提供了数据的显示、编辑和分析功能,是一个多平台的应用软件,可以在多种操作系统上运行,包括MacOSX、Linux、UNIX和Windows。相较于商业化GIS软件,QGIS的文件体积更小,需要的内存较少。因此,它可以在旧的硬件上或CPU运算能力被限制的环境下运行。QGIS以C++写成,它的GUI使用了Qt库。QGIS允许集成使用C++或Python写成的插件。经过多年的发展,QGIS在多个技术领域已经赶上甚至超过了商业GIS软件,并展示出在GIS软件领域独特的软件功能与技术优势。以QGIS3.2版本与ArcGIS10.6版本对比为例,QGIS具有以下十大优势:
(1)版权与授权。QGIS完全免费,相关插件和模块也是免费的,使用QGIS几乎无需考虑软件成本问题;相反,ArcGIS软件本身是付费的,高级分析模块,如空间分析和网络分析模块等都是需要付费的。
(2)升级问题。QGIS具有高效的软件问题反馈和修复追踪系统,发现问题可以得到及时有效的修复,QGIS几乎每隔一个多月都会发布一个小版本,可以实时保持系统的更新;相反,ArcGIS的更新相对较慢,除补丁修复外,每年才会有一次版本更新。
(3)开源问题。QGIS是完全开源的,通过研究QGIS相关源代码可以了解GIS相关技术的底层实现方法,并可以在无需授权的情况下把QGIS源代码应用于自己的项目中,对于加快项目开发和避免软件版权问题等具有优势;相反,ArcGIS的源代码是不公开的,当把Arc-GIS模块应用于工程项目开发中需要单独授权。
(4)系统的兼容性。QGIS支持Windows、Linux、MacOSX等多种操作系统,兼容Linux系统的64位系统高效计算,在对Python最新的3.x版本的支持方面也比较完善;相反,Arc-GIS在操作系统支持以及对Python最新版本支持上则相对滞后。
(5)自由的插件开发与分享平台。QGIS提供了独立的插件管理器,让行业开发人员可以自由分享自己开发的插件,使得QGIS和行业GIS开发者及研究者一起保持QGIS技术和应用的领先性,目前QGIS提供了超过300个插件,相当一部分模块是QGIS所独有的;相反,ArcGIS则很少进行用户模块分享,尽管提供模块很多,但是对于GIS的前沿技术在软件中的应用相对滞后。
1 导论
1.1 背景
1.2 QGIS的历史发展
1.3 数据准备
2 QGIS主界面基本操作
2.1 加载第一个图层
2.2 用户界面概况
3 地图设计
3.1 矢量数据操作
3.2 符号系统
4 矢量数据分类显示
4.1 属性数据
4.2 标注工具
4.3 属性分类
5 专题地图设计
5.1 打印布局模块
5.2 地图动态打印布局
5.3 小结
6 创建矢量数据
6.1 新建矢量数据集
6.2 要素拓扑关系
6.3 表单
6.4 动作
7 矢量数据分析
7.1 数据投影与变换
7.2 矢量数据分析
7.3 网络分析
7.4 空间数据统计分析
8 栅格数据分析
8.1 栅格数据的基本操作
8.2 栅格数据符号化配置
8.3 地形分析
9 矢量数据与栅格数据综合分析
9.1 矢量数据与栅格数据相互转换
9.2 组合分析
9.3 结果打印输出
9.4 完整应用案例
10 QGIS插件
10.1 下载和管理插件
10.2 常用的QGIS插件
11 QGIS与WebGIS服务
11.1 网络地图服务(WMS)
11.2 网络要素服务(WFS)
12 QGISServer配置
12.1 QGISServer安装与配置
12.2 WMS服务
13 GRASS配置与应用
13.1 安装设置GRASS
13.2 GRASS分析工具
……
14 QGIS空间分析与评价
15 QGIS在林业的应用
16 PostgreSQL与数据库基础
17 PostGIS空间数据库
18 QGIS处理工具箱
19 空间数据库操作
主要参考文献
附录