2.2. 课: 添加首个图层

我们将启动应用程序,并创建一个用于示例和练习的基本地图。

本课目标: 从示例地图开始。

备注

在开始本练习之前,必须在计算机上安装QGIS。此外,您还应该下载了 示例数据 供使用。

从桌面快捷方式、菜单项等启动QGIS,具体取决于您如何配置其安装的方式。

备注

本课程的截图是在Linux运行的 QGIS 3.4 中获取的。根据您的设置,遇到的屏幕可能会有所不同。然而,所有相同的按钮仍将可用,并且说明适用于任何操作系统。使用本课程需要 QGIS 3.4 (撰写本文时的最新版本)。

让我们马上开始吧!

2.2.1. basic 跟我做: 准备地图

  1. 打开QGIS,您会拥有一张新的空白地图。

    ../../../_images/add_blank_qgis.png
  2. 数据源管理器 对话框允许您根据数据类型选择要加载的数据,我们将使用它加载数据集:单击 dataSourceManager 打开数据源管理器 按钮。

    如果找不到该图标,请检查 视图 ► 工具栏 菜单中的 数据源管理器 工具栏是否已启用。

    ../../../_images/add_data_dialog.png
  3. 加载 protected_areas.shp 矢量数据集:

    1. 单击 矢量 选项卡。

    2. 启用 radioButtonOn文件 源类型。

    3. 矢量数据集 旁边的 ... 按钮。

    4. 选择 exercise_data/shapefile/protected_areas.shp 培训目录中的文件。

    5. 单击 打开 。您将看到初始对话框,其中填写了文件路径。

      ../../../_images/add_vector_dialog.png
    6. 单击此处的 添加 按钮。现在将加载您指定的数据:可以在 图层 面板 (左下方) 中看到 protected_areas 项,其要素显示在主地图画布中。

      ../../../_images/first_loaded_layer.png

恭喜!您现在有了一个基本地图。此时正是保存工作的好时机。

  1. 单击 另存为 按钮: fileSaveAs

  2. 将地图保存在 exercise_data 旁边的 solution 文件夹中,并命名为 basic_map.qgz

2.2.2. basic 试一试

重复上述步骤,将同一文件夹 (exercise_data/shapefile) 中的 places.shprivers.shp 图层添加到地图。

2.2.3. basic 跟我做: 从GeoPackage数据库加载矢量数据

数据库允许在一个文件中储存大量相关数据。您可能已经熟悉数据库管理系统 (DBMS),如 Libreoffice Base 或 MS Access。GIS应用程序也可以使用数据库。特定于GIS的DBMS (如PostGIS) 具有扩展的功能,因为它们需要处理空间数据。

GeoPackage 开放格式是一个容器,允许您在单个文件中储存GIS数据 (图层)。与 ESRI Shapefile 格式 (例如,您之前加载的 protected_areas.shp 数据集) 不同,单个GeoPackage文件可以包含不同坐标参照系的各种数据 (矢量和栅格数据),以及不包含空间信息的表格。所有这些功能都允许您轻松共享数据并避免文件重复。

为了从GeoPackage加载图层,首先需要创建与该图层的连接:

  1. 单击 dataSourceManager 打开数据源管理器 按钮。

  2. 在左侧单击 newGeoPackageLayer GeoPackage 选项卡。

  3. 单击 新建 按钮,浏览到您之前下载的 exercise_data 文件夹中的 training_data.gpkg 文件。

  4. 选择文件并按 打开 按钮,文件路径现在已添加到Geopackage连接列表,并显示在下拉菜单中。

现在,您可以将此GeoPackage中的任何图层添加到QGIS。

  1. 单击 连接 按钮。在窗口的中心部分,您现在应该可以看到GeoPackage文件中包含的所有图层的列表。

  2. 选择 roads 图层并单击 添加 按钮。

    ../../../_images/add_data_dialog_geopackage.png

    roads 图层被添加到 图层 面板,其中的要素显示在地图画布。

  3. 单击 关闭

恭喜!您已经从GeoPackage加载了首个图层。

2.2.4. basic 跟我做: 使用浏览器从SpatiaLite数据库加载矢量数据

QGIS提供了对许多其他数据库格式的访问。与GeoPackage一样,SpatiaLite数据库格式也是SQLite库的扩展。从SpatiaLite提供程序添加图层时,遵循与上述相同的规则:创建连接 --> 启用 --> 添加图层。

虽然这是SpatiaLite数据添加到地图的一种方法,但并不妨碍我们探索另一种添加数据的强大方法: 浏览器

  1. 单击 dataSourceManager 图标打开 数据源管理器 窗口。

  2. 单击 fileOpen 浏览器 选项卡。

  3. 在此选项卡,您可以看见连接到计算机的所有存储磁盘,以及左侧大多数选项卡的条目。它们允许快速访问连接的数据库或文件夹。

    例如,单击 geoPackage GeoPackage 条目旁边的下拉图标,您将看到我们之前连接的 training-data.gpkg 文件 (及其图层 - 如果展开的话)。

  4. 右键单击 spatialite SpatiaLite 条目并选择 新建连接...

  5. 导航至 exercise_data 文件夹,选择 landuse.sqlite 文件,然后单击 打开

    请注意,已在 SpatiaLite 下添加了 dbSchema landuse.sqlite 条目。

  6. 展开 dbSchema landuse.sqlite 条目。

  7. 双击 polygonLayer landuse 图层,或选择并将其拖放到地图画布。一个新图层添加到 图层 面板,其要素在地图画布显示。

    ../../../_images/spatialite_dialog_connected.png

小技巧

视图 ► 面板 ► 中启用 浏览器 面板,并使用它添加数据。这是 数据源管理器 ► 浏览器 选项卡的便捷快捷方式,并具有相同的功能。

备注

一定要经常保存您的工程哦!工程文件本身不包含任何数据,但它会记住您加载到地图中的图层。

2.2.5. moderate 试一试 加载更多矢量数据

请使用上述任意方法将以下数据集从 exercise_data 文件夹加载到地图:

  • buildings

  • water

2.2.6. 跟我做: 重新排列图层

图层列表中的图层在地图上按特定顺序绘制。首先绘制列表底部的图层,最后绘制顶部的图层。通过更改它们在列表中的显示顺序,可以更改绘制顺序。

备注

可以使用 图层顺序 面板下的 控制渲染顺序 复选框更改此行为。但是,我们暂时不会讨论此功能。

在这个阶段,图层加载到地图中的顺序可能不符合逻辑。road 图层可能完全隐藏,因为其他图层位于其上面。

例如,这个图层顺序...

../../../_images/incorrect_layer_order.png

... 将导致 roads 和 places 在 landuse 图层的多边形 下面 运行时被隐藏。

要解决此问题,请执行以下操作:

  1. 单击并拖动图层列表中的图层。

  2. 将其重新排序,如下所示:

../../../_images/correct_layer_order.png

您会看到,现在的地图在视觉上更有意义,roads 和 buildings 出现在 landuse 区域的上方。

2.2.7. 综上所述

现在,您已经从几个不同的源添加了所需的所有图层,并创建了一个基本地图!

2.2.8. 下节引言

现在您已经熟悉了 打开数据源管理器 按钮的基本功能,但是其他方面呢?这个界面是如何工作的?在继续之前,让我们先来了解一下与QGIS界面的一些基本交互操作。这是下一课的主题。