(一)QGIS介绍

1.QGIS概述

        QGIS(在2.0版本之前称之为Quantum GIS)于2002年由Gary Sherman创立,在2007年由OSGeo接管,并于2009年发布了1.0版本。QGIS采用开源证书GNU GPLv2 (GNU General Public License version 2)发布,主要采用C++语言开发,用户界面依赖Qt平台。QGIS的官方网站为:https://www.qgis.org,其源代码由Github网站托管,其地址为https://github.com/qgis/QGIS。       

        QGIS作为一款开源的桌面GIS软件,其易用性、稳定性和可扩展性受到越来越多的技术人员和学者的好评与支持,并且基于社区的开发模式使QGIS的研发和迭代非常迅速。目前,QGIS已经具有完整且稳定的桌面GIS功能,并且逐渐地在移动GIS、WebGIS等方向进行扩展,可以与MapServer、PostGIS等众多开源GIS软件和模块相互支持,形成工具链(Toolchain),并构成功能全面的GIS软件体系,在开源GIS中具有独特且完整的应用前景。

      QGIS与其他开源软件一样,研发速度很快,几乎每个月都会推出一个新版本,并且每年会推出一个长期支持版本(Long Term Release,LTR)。相对于最新的QGIS版本,长期支持版本更加稳定。QGIS长期支持版本启动页面的右上角注明了“long term release”字样。

      QGIS之所以受到GIS工作者和科研人员的欢迎,主要因为其具有以下特点:

     (1)优秀的用户界面:QGIS的设计初衷是构建一个地理数据浏览与制图的工具,并基于Qt平台构建GUI,因此相对于uDig、GRASS GIS等常见的开源桌面GIS软件,QGIS用户界面非常友好。

    (2)跨平台能力:QGIS可以运行在多数常见的操作系统中,如类UNIX-like(包括UNIX、Linux、BSD等)、Mac OS、Windows等。
    (3)空间分析能力:QGIS内嵌GDAL、SQLite等常见的GIS类库,并且可以整合GRASS GIS、SAGA GIS等桌面GIS软件。因此,QGIS可以轻松地完成常见的数据处理与空间分析操作。
     (4)数据格式的支持性强:QGIS对各种栅格数据和矢量数据的支持性很强,基本可以覆盖当前主流的地理空间数据格式,如shapefile、coverages、personal database、GeoTiff等。QGIS还可以访问Postgre、MySQL、SQLite等数据库。另外,QGIS还可以通过插件扩展等方式增加数据的支持格式。
      (5)可扩展性强:QGIS具有插件功能,因此用户可以轻松地从互联网或官方渠道获得并安装特定功能的插件。另外,开发者还可以利用PyQGIS或C++ API对QGIS进行二次开发。如果上述方法仍难以满足用户需求,那么开发者可以通过重新编译的方式自定义QGIS的功能(但必须符合GNU GPLv2协议)。

2.QGIS主要功能

       作为一个完整的地理信息系统桌面软件,QGIS的主要功能包括数据浏览、地图制图、数据管理与编辑、空间数据处理与空间分析、地图服务等功能框架。

      (1) 数据浏览功能
        QGIS创立的初衷就是提供一个简单的地理空间数据浏览工具,因此数据浏览功能是QGIS的核心功能。QGIS既可以利用内嵌GDAL/ORG和GRASS支持常见的数据格式,也可以读取PostGIS、SpatiaLite、MS SQL Spatial、Oracle Spatial等存储于数据库中的地理空间数据。另外,QGIS还可以访问符合WMS、WMTS、WCS、WFS等OGC标准的互联网空间数据服务。某些数据虽然无法被原生QGIS软件读取,但它们可以通过插件扩展的方式被读取。因此,相对于ArcGIS、GRASS GIS等桌面软件,QGIS的数据支持能力非常强。
       (1)地图制图功能
        QGIS具有非常强大的地图表达和渲染能力,甚至可以进行简单的3D渲染。在OpenGIS中,QGIS包含完整的符号化、地图标注、输出与打印功能。特别是,QGIS具有实时渲染和优秀的抗锯齿能力。在一定程度上,QGIS的制图能力远超绝大多数的GIS软件,在某些方面甚至超越了ArcGIS软件。
      (2)数据管理与编辑功能
       受益于QGIS的数据支持能力,QGIS可以管理不同数据源的地理空间数据。这些不同数据源的数据在QGIS中具有相同的数据接口,不同数据类型的空间数据可以轻而易举地进行格式转换。我们可以通过QGIS完整的矢量编辑功能对这些数据进行增、删、改、查等操作及基本矢量叠加运算。

      (3)空间数据处理与空间分析功能
        空间分析实际上属于空间数据处理的一部分。QGIS的空间数据处理与空间分析功能较弱,但是QGIS整合了GDAL/OGR、GEOS、GRASS GIS、SAGA GIS等GIS工具。因此,QGIS的优势在于可以对来源不同的空间数据处理工具进行整合,利用QGIS中的Processing Modeler、PyQGIS和C++ API构建自动化的数据处理工具,以解决复杂的地理与空间问题。

       (4)地图服务功能
         QGIS可以作为WMS、WMTS客户端,QGIS Server可以作为轻量级WMS、WCS、WFS服务器。如果QGIS Server不能满足需求,则可以通过MapServer构建复杂的GIS服务器。

        实际上,QGIS还可以通过功能扩展的方式提供更高级、更复杂的功能。开发者可以根据需求的复杂度,通过下表介绍的几种方式进行功能扩展。

扫描二维码关注公众号,回复: 15321653 查看本文章
QGIS高级扩展方法
方法 介绍 复杂度 可扩展性
模型构建 利用Processing Modeler整合QGIS的原生工具和第三方工具,构建复杂的处理模型
插件扩展 寻找合适的QGIS插件或自定义插件
PyQGIS开发

利用QGIS的Python接口自定义地理处理流程

C++API开发 利用QGIS提供的C++AP进行二次开发
重编译开发 重新编译QGIS的源代码,按需求更改源代码部分 最高 最高

3.QGIS与ArcGIS对比分析

     QGIS与ArcGIS具有很多相似之处,例如,QGIS浏览器(Browser)对应ArcGIS中的ArcCatalog,QGIS处理工具箱(Processing Toolbox)对应ArcGIS中的ArcToolbox等。除了开源与商业的区别,QGIS与ArcGIS之间还存在功能性、开发难度、稳定性等方面的区别。

QGIS与ArcGIS对比
因素 QGIS ArcGIS
软件性质 免费开源软件 商业闭源软件
功能性 功能较少,可结合现有开源GIS软件弥补相关功能 功能完善,几乎满足所有业务要求
开发难度 二次开发难度大,但可定制性较强 二次开发难度小,学习资料多
稳定性 轻量级,稳定性较差 重量级,稳定性较强
制图效果 符号化效果好,具有抗锯齿能力 制图效果较差
运行平台 跨平台运行

仅在Windows平台运行

         整体介绍了QGIS的发展机制、特点和主要功能等,并将其与ArcGIS软件进行对比分析。

猜你喜欢

转载自blog.csdn.net/aerors321/article/details/121481444