18.1. Lesson: 在QGIS浏览器中使用数据库

在前面的两个模块中,我们介绍了关系数据库的基本概念、特性和功能,以及允许我们在关系数据库中存储、管理、查询和操作空间数据的扩展。本节将深入探讨如何在QGIS中有效地使用空间数据库。

The goal for this lesson: 学习如何使用QGIS浏览器界面与空间数据库交互。

18.1.1. 基本信息 Follow Along: Adding Database Tables to QGIS using the Browser

我们已经简要介绍了如何将数据库中的表添加为QGIS层,现在让我们更详细地了解这一点,并看看在QGIS中可以实现这一点的不同方法。让我们先来看看新的浏览器界面。

  • 在QGIS中创建新的空地图。

  • 通过单击打开浏览器 Browser 选项卡底部的 Layer Panel

  • 打开树的PostGIS部分,您应该会发现以前配置的连接可用(您可能需要单击浏览器窗口顶部的刷新按钮)。

../../../_images/browser_panel.png
  • 双击此处列出的任何表/层都会将其添加到地图画布中。

  • 在此视图中右键单击表/层将为您提供几个选项。按下 Properties 项以查看层的属性。

../../../_images/postgis_layer_properties.png

备注

当然,您也可以使用此接口连接到托管在您的工作站外部的服务器上的PostGIS数据库。右键单击树中的PostGIS条目将允许您为新连接指定连接参数。

18.1.2. 基本信息 Follow Along: Adding a filtered set of records as a Layer

既然我们已经了解了如何将整个表添加为QGIS层,接下来学习如何通过使用我们在前面几节中了解到的查询将表中经过筛选的记录集添加为层可能会更好。

  • 开始一个不含任何图层的新空地图

  • 单击 Add PostGIS Layers 按钮或选择 Layer ► Add PostGIS Layers 从菜单上拿。

  • Add PostGIS Table(s) 对话框中,连接到 postgis_demo 联系。

  • 扩展 public schema 你应该能找到我们之前用过的三张桌子。

  • 单击 lines 层来选择它,但不是添加它,而是单击 Set Filter 按钮以调出 Query Builder 对话框中。

  • 使用按钮或直接输入来构造以下表达式:

    "roadtype" = 'major'
    
../../../_images/pg_table_filter.png
  • 单击 OK 要完成对筛选器的编辑,请单击 Add 要将过滤的图层添加到地图中,请执行以下操作。

  • 重命名 lines 在树中添加层以 roads_primary

您会注意到,只有主要道路已添加到地图中,而不是整个图层。

18.1.3. In Conclusion

您已经了解了如何使用QGIS浏览器与空间数据库交互,以及如何基于查询过滤器向地图添加层。

18.1.4. What's Next?

接下来,您将看到如何在QGIS中使用DB Manager界面来完成更完整的数据库管理任务。