17.7. 选择

备注

在本课中,我们将学习处理算法如何处理用作输入的矢量层中的选择,以及如何使用特定类型的算法创建选择。

与QGIS中的其他分析插件不同,在处理地理算法时,您不会发现任何“仅使用选定要素”复选框或类似的复选框。有关选择的行为是为整个插件及其所有算法设置的,而不是为每个算法执行设置的。使用矢量层时,算法遵循以下简单规则。

  • 如果该图层具有选择项,则仅使用选定要素。

  • 如果没有选择,则使用所有功能。

请注意,您可以通过取消选中 Processing ► Options ► General 菜单。

您可以通过在上一章中使用的任何层中选择几个点,并在它们上运行重新投影算法来测试这一点。您将获得的重新投影的层将仅包含那些选定的点,除非没有选择,这将导致生成的层包含原始层中的所有点。

要进行选择,您可以使用QGIS中的任何可用方法和工具。但是,您也可以使用地理算法来执行此操作。创建所选内容的算法位于下的工具箱中 Vector/Selection

../../../_images/selection_algs.png

打开 Random selection 算法。

../../../_images/random_selection.png

保留默认值,它将从当前层中选择10个点。

../../../_images/selected1.png

您将注意到,此算法不会产生任何输出,但会修改输入层(不是层本身,而是其选择)。这是一种不常见的行为,因为所有其他算法都会生成新的层,而不会改变输入层。

由于选择不是数据本身的一部分,而是仅存在于QGIS中的内容,因此这些选择算法只能用于选择在QGIS中打开的图层,而不能与您可以在相应参数值框中找到的文件选择选项一起使用。

我们刚才所做的选择,就像其他选择算法创建的大多数选择一样,也可以在QGIS中手动完成,所以您可能想知道使用算法有什么意义。虽然现在这可能对您没有多大意义,但我们稍后将了解如何创建模型和脚本。如果要在模型(定义处理工作流程)中间进行选择,则只能将地理算法添加到模型中,而不能添加其他QGIS元素和操作。这就是为什么一些处理算法复制了其他QGIS元素中也可用的功能。

现在,只需记住可以使用处理地理算法进行选择,并且算法将仅在存在选择的情况下使用所选要素,否则将使用所有要素。