Important
翻译是一项社区工作 你可以加入。此页面目前翻译进度为 100.00%。
17.5. 更多算法与数据类型
Note
本课程中,我们将运行三个新算法,学习如何使用其他输入类型,并配置输出结果自动保存到指定文件夹。
本课程需要一个表格和一个多边形图层。我们将根据表格中的坐标创建点图层,然后统计每个多边形内的点数。如果您打开本课程对应的 QGIS 项目,会发现一个包含 X 和 Y 坐标的表格,但没有多边形图层。请不用担心,我们将使用一个处理地理算法来创建它。
首先,我们将使用 *Points layer from table*(从表格创建点图层)算法,根据表格中的坐标生成点图层。您已掌握搜索框的使用方法,因此应不难找到该算法。双击运行,打开其参数对话框。
与上一课程的算法类似,此算法仅生成一个输出,包含三个输入参数:
*Table*(表格):包含坐标的表格。请在此选择课程数据中的表格。
X and Y fields*(X 与 Y 字段):这两个参数与第一个参数关联。选择表格后,下拉菜单将显示该表格中可用的字段名称。为 *X 参数选择 XCOORD 字段,为 Y 参数选择 YYCOORD 字段。
CRS:由于此算法不接受输入图层,无法据此自动设置输出图层的 CRS,因此需手动指定表格中坐标所使用的 CRS。点击左侧按钮打开 QGIS CRS 选择器,选择 EPSG:4326 作为输出 CRS。我们使用此 CRS 是因为表格中的坐标采用的就是该坐标系。
您的对话框应如下图所示。
现在点击 运行 按钮,即可生成如下图层(您可能需要全图缩放以重新定位到新创建的点周围):
下一步需要创建多边形图层。我们将使用 创建格网 算法生成规则多边形格网,其参数对话框如下所示。
Warning
在较新版本的 QGIS 中,选项更为简化;您只需输入 X 和 Y 的最小值与最大值(建议值:-5.696226, -5.695122, 40.24742, 40.248171)。
创建格网所需的输入均为数值。输入数值时,您有两种选择:直接在对应框中键入,或点击右侧按钮打开如下所示的对话框。
该对话框内置简易计算器,您可输入如 11 * 34.7 + 4.6 的表达式,计算结果将自动填入参数对话框的对应文本框中。此外,它还提供可用的常量及其他图层的数值。
此处,我们希望创建一个覆盖输入点图层范围的格网,因此应利用点图层的坐标计算格网的中心坐标、宽度和高度——这些正是算法创建格网所需的参数。请尝试结合计算器对话框及点图层提供的常量,自行完成这些计算。
在 类型 字段中选择 矩形(多边形) 。
与上一个算法类似,此处也需指定 CRS。请如前所述,选择 EPSG:4326 作为目标 CRS。
最终,您的参数对话框应如下图所示:
(建议在宽高上增加一点间距:水平间距:0.0001,垂直间距:0.0001,宽度:0.001004,高度:0.000651,中心 X:-5.695674,中心 Y:40.2477955)X 中心的计算稍复杂,参考公式:-5.696126 + ((-5.695222 + 5.696126) / 2)
点击 运行 ,即可获得格网图层。
最后一步是统计格网中每个矩形内的点数。我们将使用 统计多边形内点数 算法。
现在,我们已获得所需的结果。
在结束本课程前,提供一个便捷技巧:如果您希望持久化保存数据,可将所有输出文件统一保存到指定文件夹,而无需每次输入路径。请进入处理(Processing)菜单,选择 选项与配置 项,打开配置对话框。(3.40版本集成在,设置->选项->数据处理)
在 通用 组中找到 输出文件夹 项,输入目标文件夹路径。
此后运行算法时,只需输入文件名而非完整路径。例如,若按上述配置将输出路径设为 graticule.shp,结果将保存至 D:\processing_output\graticule.shp。若您希望将结果保存到其他文件夹,仍可输入完整路径。
请自行尝试使用 创建网格 算法,调整格网尺寸,并选用不同类型的格网进行练习。