16.6. 使用操作添加功能

操作是向QGIS添加自定义功能的一种方便方法。为特定层创建操作,例如,我们的填充"ne-10-admin-0-countries" 因此,为了创造行动,我们点击层属性操作,有不同类型的操作,例如:

  • 一般操作 “启动外部进程”;例如,运行命令行应用程序,如ogr2ogr,ogr2ogr是一个命令行工具,可用于转换文件格式,同时执行空间或属性 选择和重新投影等操作。

  • Python操作执行Python脚本

  • 公开行动 使用计算机配置的默认应用程序打开文件,即 .pdf 文件或网站浏览器。

  • 操作系统(Mac,Windows和Unix )操作与一般操作类似,但仅限于各自的操作系统

16.6.1. 配置第一个Python操作

点击 Create Default Actions 对话框右侧的按钮,用于将一些示例操作添加到"ne-10-admin-0-countries"层。 例如,Python操作调用"Selectd fied's value" 将在使用操作工具时显示指定属性的值,如 图 16.11

_images/image30001_x61.jpg

图 16.11 Actions设置

在尝试此操作之前,我们需要做的就是更新它,以便它访问我们层的有效属性。例如,我们可以让它显示"ne-10-admin-0-countries" 双击的 "TYPE" 消息框中的属性值,如下一个屏幕截图所示 图 16.12

_images/image300_xah.jpg

图 16.12 属性信息

1.选择 选定字段的值 在行动 行动清单

2.编辑 行动 对话框底部的代码。您可以手动输入属性名,或者从下拉列表中选择属性名,然后单击 插入字段

3.要保存更改,请单击 更新选定操作

要使用此操作,请关闭 层属性 对话框并单击 运行功能操作 按钮。这将展开可用层操作的列表,如 图 16.13

_images/image301_xb7.jpg

图 16.13 运行功能操作

点击 选定字段的值 输入,然后单击图层要素。这将打开一个弹出对话框,操作将在其中输出功能的TYPE价值。 如下图所示。当然,我们还可以使此操作输出更多信息,例如,将其扩展到,如 图 16.14

_images/image302_xbq.jpg

图 16.14 运行功能操作

QtGui.QMessageBox.information(None,“当前字段的值”,

["Type: [% "TYPE" %] n[% "F_CODEDESC" %]")]

这将显示TYPE第一行的值和F_CODEDESC第二行的值。

16.6.2. 使用操作打开文件

要直接从QGIS中打开文件,我们使用 Open 行动。如果在上一个练习中添加了默认操作, 则图层将已经具有打开文件行动。动作很简单[[% "PATH" %]]用于打开在层的“路径”属性中指定的文件路径。 由于我们的示例数据集都不包含path属性,我们现在将添加一个来测试此功能。退房第三章,数据创建和编辑 , 如果需要了解如何添加新属性的详细信息。例如,以下屏幕截图中添加的路径将分别打开默认图像查看器和PDF查看器 应用程序:

虽然前面的示例使用存储在属性中的绝对路径,但您也可以通过更改操作代码来使用相对路径, 以便它完成存储在属性值中的部分路径;例如,您可以使用[C:temp[% "TYPE" %].png]打开.png根据TYPE属性值。

16.6.3. 使用操作打开web浏览器

另一种有用的Open操作是打开web浏览器并访问某些网站。例如,考虑以下操作: [http://www.google.com/search?q=[% "TYPE" %]]

它将打开默认的web浏览器并搜索TYPE使用Google的值,此操作: https://en.wikipedia.org/w/index.php?search=[%"TYPE"%] 将在维基百科上搜索。