4. 功能

QGIS通过核心功能和插件提供了丰富的GIS功能。搜索栏使得搜索各功能模块,数据集和其他信息变得更加方便。

下面简要概述了六大常规类别的功能和插件,然后是初步了解集成的Python控制台。

4.1. 视图数据

您可以将不同格式、不同投影方式的矢量与栅格数据(以2D或3D形式)的组合显示,且无需转换为内部或通用格式。受支持的格式包括:

  • 使用 PostGIS、SpatiaLite,MS SQL Spatial 和 Oracle Spatial 可以支持空间的表或视图,已安装的OGR库支持的矢量格式,包括地理包、ESRI形状文件、MapInfo、SDTS、GML 等等。详细请参见 使用矢量数据

  • 已安装的GDAL库 (地理空间数据抽象库) 支持栅格和影像格式,例如 GeoTIFF、ERDAS IMG、ArcInfo ASCII 网格、JPEG、PNG等。参见 使用栅格数据 章节。

  • 网孔数据 (支持TIN和常规网格格式)。参见 Working with Mesh Data

  • 矢量瓦片

  • 来自GRASS数据库 (本地/地图集) 的GRASS栅格与矢量数据。参见 GRASS GIS Integration 章节。

  • 以 OGC Web 服务形式提供的在线空间数据,包括 WMS、WMTS、WCS、WFS 和 WFS-T。参见 Working with OGC / ISO protocols 章节。

    QGIS的身份认证架构可以帮助您管理用于Web服务和其他资源的用户/密码、证书以及密钥。

  • 电子数据表 (ODS / XLSX)

支持时态数据。

4.2. 浏览数据与制图

您可以使用友好的用户界面进行制图与交互式浏览空间数据。用户界面上提供了许多非常有用的工具,包括:

  • QGIS浏览器

  • 动态重投影

  • 2D和3D地图渲染

  • 数据库管理器

  • 打印布局

  • 报告

  • 概览面板

  • 地理书签

  • 注记工具

  • 识别/选择要素

  • 编辑/查看/搜索属性

  • 基于数据定义的要素标注

  • 基于数据定义的矢量与栅格符号工具

  • 带网格图层的地图集制图

  • 地图的指北针、比例尺与版权标注

  • 支持保存与还原工程

4.3. 创建、编辑、管理与输出数据

您可以创建、编辑、管理与输出多种格式的矢量和栅格图层。QGIS提供了以下功能:

  • 矢量数字化工具

  • 能够创建并编辑多种格式的文件和GRASS矢量图层

  • 用于对矢量和图像进行地理编码的配准工具。

  • 用于导入、导出GPX格式,将其他GPS格式转换成GPX格式,或者直接从一台GPS设备(在Linux上通过USB添加到GPS设备列表中)下载/上传数据的GPS工具

  • 支持可视化与编辑开放街道地图数据

  • 能够通过数据库管理器插件从文件创建空间数据库中的数据表

  • 改进的空间数据表处理能力

  • 管理矢量属性表的工具

  • 将屏幕截图保存为带空间坐标参考图片的选项

  • 具有增强功能的dxf导出工具,可以导出样式,且可以通过插件来执行类似cad的功能

4.4. 分析数据

您可以对空间数据库和其他OGR支持的格式执行空间数据分析。QGIS当前提供矢量分析、栅格分析、抽样、地理处理、几何图形与数据库管理工具。您也可以使用集成的GRASS工具,其中包括400多个模块的完整GRASS功能 (参见 GRASS GIS Integration 章节)。或者,您可以使用Processing插件,它提供了一个强大的地理空间分析框架,可以从QGIS调用本地和第三方算法,如 GDAL、SAGA、GRASS、OTB、R 等(参见 简介 章节)。所有分析功能都在后台运行,使您可以在处理完成之前继续进行工作。

图形建模器允许您在直观的图形环境中将功能组合/链接成一个完整的工作流。

4.5. 在互联网上发布地图

QGIS可以用于WMS、WMTS、WMS-C、WFS、OAPIF与WFS-T客户端 (参见 Working with OGC / ISO protocols 章节),同时QGIS Server (参见 QGIS服务器指南/手册 章节) 允许您使用Web服务器在互联网上通过WMS、WCS、WFS和OAPIF协议发布数据。

4.6. 通过插件扩展QGIS功能

QGIS可以通过可扩展的插件系统和可用于创建插件的库来满足你的特殊需求。你可以使用C++或者Python来创建新应用。

4.6.1. 核心插件

核心插件包括:

  1. 数据库管理器(从/到数据库中转换、编辑与查看图层及属性表;执行SQL查询)

  2. 几何图形检查器(检查几何图形错误)

  3. 配准工具GDAL (利用GDAL给栅格数据添加投影信息)

  4. GPS工具(加载或导入GPS数据)

  5. GRASS (集成 GRASS GIS)

  6. MetaSearch目录客户端(与支持Web的OGC目录服务(CSW)标准的元数据目录服务进行交互)

  7. 离线编辑(允许离线编辑与数据库同步)

  8. 处理(QGIS空间数据处理框架)

  9. 拓扑检查器(查找矢量图层中的拓扑错误)

4.6.2. 外部Python插件

QGIS提供了越来越多的由社区提供的外部Python插件。这些插件位于官方插件资源库中,可以使用Python插件安装程序轻松安装。参见 The Plugins Dialog 章节。

4.7. Python终端

可以利用集成的Python终端执行脚本,该控制台可以通过 : 插件 ► Python 终端 打开。该终端作为非模态实用程序窗口打开。可以通过 qgis.utils.iface 变量与QGIS环境进行交互操作,改变了是 QgisInterface 类的一个实例。该接口提供了对QGIS应用程序中地图画布、菜单、工具栏和其他部分的访问。您可以创建一个脚本,然后将其拖放到QGIS窗口中,它将自动执行。

为了进一步了解有关Python终端、QGIS插件与应用编程相关的信息,请转到 QGIS Python console and PyQGIS Developer Cookbook

4.8. 已知问题

4.8.1. 打开文件数量限制

如果您正在打开一个大型QGIS项目,并且您确定所有图层都是有效的,但是有些图层被标记为坏的,那么您可能会面临这个问题。Linux(以及其他类似的操作系统)有按进程打开文件的限制。每个进程的资源是受限的,且可以被继承。ulimit命令是一个内置的shell命令,它仅为当前shell进程更改限制,新的限制将被每一个子进程继承。

输入以下命令,你可以看到所有当前的ulimit信息:

$ ulimit -aS

在终端输入以下命令,你可以看到当前每个进程所允许打开的文件数量:

$ ulimit -Sn

要更改 现有会话 的限制,您可以使用以下命令:

$ ulimit -Sn #number_of_allowed_open_files
$ ulimit -Sn
$ qgis

或者,您可以使用更新的 prlimit 实用程序。更多信息请参见: https://manpages.ubuntu.com/manpages/latest/man1/prlimit.1.html

永久修改

在大多数Linux系统中,资源限制是在登录时通过 pam_limits 模块设定的,该模块依据的设置保存在文件 /etc/security/limits.conf 或者 /etc/security/limits.d/*.conf 中。如果你拥有root权限(也可以通过sudo)则可以编辑这些文件,但是你需要注销并重新登录使得变更生效。

更多信息:

https://www.cyberciti.biz/faq/linux-increase-the-maximum-number-of-open-files/ https://linuxaria.com/article/open-files-in-linux