4. 功能

QGIS提供了丰富的GIS功能,由核心功能和插件提供。定位符栏使搜索函数、数据集和更多内容变得容易。

下面简要总结了六大类特性和插件,然后是对集成的Python控制台的初步了解。

4.1. 查看数据

您可以查看不同格式和投影的矢量和栅格数据(二维或三维)的组合,而无需转换为内部或通用格式。支持的格式包括:

  • 使用PostGIS、SpatiaLite和MS SQL Spatial、Oracle Spatial、已安装的OGR库支持的矢量格式(包括GeoPackage、ESRI shapefile、MapInfo、SDTS、GML等)实现空间启用的表格和视图。请参见部分 使用矢量数据

  • 安装的GDAL(地理空间数据抽象库)库支持的栅格和图像格式,如GeoTIFF、ERDAS IMG、ArcInfo ASCII GRID、JPEG、PNG等。请参见部分 使用栅格数据

  • 网格数据(支持三角网和规则网格)。看见 使用网格数据

  • 向量瓷砖

  • GRASS数据库中的GRASS栅格和矢量数据(位置/地图集)。请参见部分 草地地理信息系统集成

  • 在线空间数据作为OGC Web服务,包括WMS、WMTS、WCS、WFS和WFS-T。请参见部分 使用OGC/ISO协议

    QGIS身份验证基础设施帮助您管理Web服务和其他资源的用户/密码、证书和密钥。

  • 电子表格(ods/xlsx)

支持时态数据。

4.2. 浏览数据和构建地图

您可以使用友好的图形用户界面编写地图并交互地浏览空间数据。图形用户界面中提供的许多有用工具包括:

  • QGIS浏览器

  • 即时重投影

  • 2D和3D地图渲染

  • 数据库管理器

  • 打印布局

  • 报告

  • 概述面板

  • 空间书签

  • 批注工具

  • 识别/选择要素

  • 编辑/查看/搜索属性

  • 数据定义的要素标注

  • 数据定义的矢量和栅格符号系统工具

  • 基于经纬网图层的地图集地图合成

  • 地图的指北针、比例尺和版权标签

  • 支持保存和恢复项目

4.3. 创建、编辑、管理和导出数据

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

  • 矢量数字化工具

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

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

  • GPS工具,用于导入和导出GPX格式,并将其他GPS格式转换为GPX或直接下载/上传到GPS单元(在Linux上,USB:已添加到GPS设备列表中)

  • 支持可视化和编辑OpenStreetMap数据

  • 能够使用DB Manager插件从文件创建空间数据库表

  • 改进了空间数据库表的处理

  • 用于管理矢量属性表的工具

  • 将屏幕截图保存为地理配准图像的选项

  • DXF-具有增强功能的导出工具,可导出样式和插件以执行类似CAD的功能

4.4. 分析数据

您可以对空间数据库和其他支持OGR的格式执行空间数据分析。QGIS目前提供矢量分析、栅格分析、采样、地理处理、几何和数据库管理工具。您还可以使用集成的GRASS工具,其中包括400多个模块的完整GRASS功能(请参阅部分 草地地理信息系统集成 )。或者,您也可以使用处理插件,该插件提供了一个强大的地理空间分析框架来调用QGIS中的原生和第三方算法,如GDAL、SAGA、GRASS、OTB、R等(请参阅部分 引言 )。所有分析功能都在后台运行,允许您在处理完成之前继续工作。

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

4.5. 在Internet上发布地图

QGIS可用作WMS、WMTS、WMS-C、WFS、OAPIF和WFS-T客户端(请参阅部分 使用OGC/ISO协议 )和QGIS服务器(请参阅 QGIS服务器指南/手册 )允许您使用Web服务器通过WMS、WCS、WFS和OAPIF协议在互联网上发布数据。

4.6. 通过插件扩展QGIS功能

QGIS可以通过可扩展的插件架构和可用于创建插件的库来适应您的特殊需求。您甚至可以使用C++或Python创建新的应用程序!

4.6.1. 核心插件

核心插件包括:

  1. 数据库管理器(从/到数据库交换、编辑和查看层和表;执行SQL查询)

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

  3. Georeferencer GDAL(使用GDAL向栅格添加投影信息)

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

  5. GRASS(集成GRASS地理信息系统)

  6. 元搜索目录客户端(与支持OGC Catalog Service for the Web(CSW)标准的元数据目录服务交互)

  7. 脱机编辑(允许脱机编辑和与数据库同步)

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

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

4.6.2. 外部Python插件

QGIS提供了越来越多的由社区提供的外部Python插件。这些插件驻留在官方插件库中,可以使用Python插件安装程序轻松安装。请参阅章节 插件对话框

4.7. 巨型游戏机

对于脚本编写,可以利用集成的Python控制台,该控制台可以通过以下方式打开: Plugins ► Python Console 。控制台以非模式实用程序窗口的形式打开。对于与QGIS环境的交互,有 qgis.utils.iface 变量,该变量是 QgisInterface 。该界面提供对地图画布、菜单、工具栏和QGIS应用程序的其他部分的访问。您可以创建一个脚本,然后将其拖放到QGIS窗口中,它将自动执行。

有关使用Python控制台以及编写QGIS插件和应用程序的详细信息,请参阅 QGIS Python控制台《PyQGIS开发人员手册》

4.8. 已知问题

4.8.1. 打开的文件数限制

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

您可以通过键入以下命令查看所有当前ulimit信息:

$ ulimit -aS

您可以在控制台上使用以下命令查看当前允许的每个进程打开的文件数:

$ ulimit -Sn

更改的限制 existing session ,您可以使用类似以下内容:

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

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

To fix it forever

在大多数Linux系统上,登录时的资源限制由 pam_limits 模块中包含的设置 /etc/security/limits.conf/etc/security/limits.d/*.conf 。如果您拥有超级用户权限(也通过sudo),您应该能够编辑这些文件,但您需要重新登录才能使任何更改生效。

更多信息:

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