14.3. Lesson: 数字化林分

除非您打算将地理参考地图用作简单的背景图像,否则下一步自然是将其中的元素数字化。您已经在有关在中创建矢量数据的练习中完成了此操作 Lesson: 创建新的矢量数据集 ,当你将学校的田地数字化时。在本课中,您将数字化在地图中显示为绿色线条的林木边界,但您将使用地理参考地图,而不是使用航拍图像进行数字化。

The goal for this lesson: 学习一种帮助数字化任务的技术,将林木数字化,最后将清查数据添加到其中。

14.3.1. 基本信息 Follow Along: Extracting the Forest Stands Borders

打开你的 map_digitizing.qgs 您在上一课中保存的QGIS中的项目。

一旦您扫描并对地图进行了地理参考,您就可以通过查看图像作为指南来开始直接数字化。例如,如果你要数字化的图像是一张航拍照片,那么这很可能是一种方法。

如果您用来数字化的是一张很好的地图,就像我们的例子一样,信息很可能会清楚地显示为线条,每种类型的元素都有不同的颜色。使用像这样的图像处理软件可以相对容易地将这些颜色提取为单独的图像 GIMP 。这样的独立图像可以用来帮助数字化,如下所示。

第一步是使用GIMP获取只包含森林林分的图像,即您可以在原始扫描地图中看到的所有绿色线条:

  1. 打开GIMP(如果你还没有安装,可以从互联网上下载,或者问问你的老师)。

  2. 打开原始地图图像, File ► Openrautjarvi_map.tifexercise_data/forestry 文件夹。请注意,森林林分以绿色线条表示(每个多边形内部的林分数量也以绿色表示)。

    ../../../_images/gimp_map.png

  3. 现在,您可以选择图像中构成林木边界的像素(绿色像素):

    1. 打开该工具 Select ► By color

    2. 在工具处于活动状态时,放大图像 (Ctrl +鼠标滚轮),以使森林林分线足够近,以区分形成该线的像素。请参见下面的左图。

    3. 在线条中间单击并拖动鼠标光标,以使该工具收集多个像素颜色值。

    4. 松开鼠标点击并等待几秒钟。与该工具收集的颜色匹配的像素将在整个图像中进行选择。

    5. 缩小以查看如何在整个图像中选择绿色像素。

    6. 如果对结果不满意,请重复单击并拖动操作。

    7. 您的像素选择应该看起来像下面的右图。

    ../../../_images/green_px_selected.png

  4. 完成选择后,您需要将此选择复制为新层,然后将其另存为单独的图像文件:

    1. 复制 (Ctr+C )所选像素。

    2. 并直接粘贴像素 (Ctr+V ),GIMP会将粘贴的像素显示为 Layers - Brushes 面板作为 Floating Selection (Pasted Layer)

    3. 右键单击该临时图层,然后选择 To New Layer

    4. 点击原始图像层旁边的“Eyes”图标将其关闭,这样只有 Pasted Layer 是可见的:

    ../../../_images/saving_green_px.png

  5. 最后,选择 File ► Export... ,设置 Select File Type (By Extension) 作为一名 TIFF image ,选择 digitizing 文件夹并将其命名为 rautjarvi_map_green.tif 。系统提示时,请选择无压缩。

您可以对图像中的其他元素执行相同的过程,例如提取表示道路的黑色线条或表示地形轮廓线的棕色线条。但对我们来说,森林就足够了。

14.3.2. 基本信息 Try Yourself Georeference the Green Pixels Image

正如您在上一课中所做的那样,您需要对此新图像进行地理配准,以便能够将其与其余数据一起使用。

请注意,您不再需要数字化地面控制点,因为就Georeferencer工具而言,该图像基本上与原始地图图像相同。以下是你应该记住的一些事情:

  • 当然,这张图片也出现在 KKJ / Finland zone 2 CRS.

  • 你应该使用你保存的地面控制点, File ► Load GCP points

  • 记住要复习一下 Transformation settings

  • 将输出栅格命名为 rautjarvi_green_georef.tifdigitizing 文件夹。

检查新栅格是否与原始地图很好地匹配。

14.3.3. 基本信息 Follow Along: Creating Supporting Points for Digitizing

考虑到QGIS中的数字化工具,您可能已经在想,在数字化时捕捉到那些绿色像素会很有帮助。这正是您接下来要做的,通过使用QGIS中提供的捕捉工具,从这些像素创建点,以在以后使用它们来帮助您在数字化时跟踪林木的边界。

  1. 使用 Raster ► Conversion ► Polygonize (Raster to Vector) 将绿线矢量化为多边形的工具。如果你不记得是怎么回事,你可以在 Lesson: 栅格到矢量的转换

  2. 另存为 rautjarvi_green_polygon.shp 内部 digitizing 文件夹。

  3. 放大并查看多边形的外观。你会得到类似这样的东西:

    ../../../_images/green_polygons.png

  4. 从这些多边形中获得点的下一个选项是获得它们的质心:

    1. 打开 Vector ► Geometry Tools ► Centroids...

    2. Input Layer多边形层 rautjarvi_green_polygon (刚刚创建的多边形层)

    3. Centroids 输出到 green_centroids.shp 文件夹中的文件 digitizing

    4. 检查 复选框 Open output file after running algorithm

    5. 新闻发布会 Run 。这将计算作为新层的多边形的质心,并将其添加到项目中。

    ../../../_images/green_points.png

  5. 现在您可以删除 多边形层 rautjarvi_green_polygon 来自TOC的层。

  6. 更改质心层的符号系统,如下所示:

    1. 打开 Layer Properties点层 green_centroids

    2. 转到 Symbology 标签。

    3. Size1.00 并选择 Map Units

没有必要区分不同的点,只需要它们在那里,捕捉工具就可以使用它们。现在,您可以使用这些点来跟踪原始线条,这比没有它们要容易得多。

14.3.4. 基本信息 Follow Along: Digitize the Forest Stands

现在,您可以开始实际的数字化工作了。首先,您将创建一个 polygon type ,但在本练习中,有一个Shapefile文件,其中的部分感兴趣区域已经数字化。您将完成对主干道(宽粉色线条)和湖泊之间剩下的一半森林林的数字化:

../../../_images/forest_stands_to_digitize.png

  1. 转到 digitizing 文件夹使用您的文件管理器浏览器。

  2. 拖放 forest_stands.shp 向量文件到您的地图。

  3. 更改新层的符号系统,以便更容易看到已数字化的多边形。

    1. Fill color 到绿色-并改变 Opacity50%

    2. 选择 Simple Fill 并设置 Stroke width1.00 mm

现在,如果您还记得过去的模块,我们必须设置并激活捕捉选项:

  1. Project ► Snapping options...

  2. 新闻发布会 捕捉 Enable Snapping 并选择 Advanced Configuration

  3. 查看 green_centroidsforest_stands 层层

  4. Type 对于要访问的每个层 Vertex

  5. Tolerance 对于要访问的每个层 10

  6. Units 对于要访问的每个层 pixels

  7. 检查 复选框 Avoid Overlap 对于 forest_stands 图层

  8. 新闻发布会 拓扑编辑 Topological editing

  9. 避免相交图层 Follow Advanced Configuration

  10. 关闭弹出窗口

    ../../../_images/snapping_settings_forest.png

    使用这些捕捉设置,只要数字化并足够接近质心图层中的一个点或数字化多边形中的任何顶点,将在要捕捉到的点上显示一个粉红色正方形。

  11. 最后,关闭所有层的可见性,但不包括 forest_standsrautjarvi_georef 。确保地图图像不再具有透明度。

在开始数字化之前,需要注意几件重要的事情:

  • 不要试图在边界的数字化方面过于准确。

  • 如果边框是一条直线,则只需使用两个节点对其进行数字化。通常,使用尽可能少的节点进行数字化。

  • 仅当您觉得需要精确时才放大到接近范围,例如,在某些角点,或者当您希望一个多边形在特定节点处与另一个多边形连接时。

  • 使用鼠标中键可以在数字化时放大/缩小和平移。

  • 一次仅数字化一个多边形。

  • 数字化一个多边形后,写下您可以从地图上看到的森林林分ID。

现在,您可以开始数字化了:

  1. 定位林木林分编号 357 在地图窗口中。

  2. 选择 forest_stands 一层。

  3. 单击 ToggleEditing Toggle Editing 按钮以启用编辑

  4. 选择 捕获多边形 Add Polygon Feature 工具。

  5. 开始将展台数字化 357 通过将一些点连接起来。请注意,粉色十字表示捕捉。

../../../_images/dgitizing_357_1.png

完成后:

  1. 单击鼠标右键以结束数字化该多边形。

  2. 走进林子里 ID 在表单中(在本例中 357 )。

  3. 单击 OK

如果在完成面的数字化后没有显示表单,请转到 Settings ► Options ► Digitizing 并确保 Suppress attribute form pop-up after feature creation 未选中。

数字化的多边形将如下所示:

../../../_images/dgitizing_357_3.png

现在,对于第二个多边形,拿起358号展位。确保 复选框 Avoid Overlap 已检查是否存在 forest_stands 层(如上所示)。该选项可确保多边形不会重叠。因此,如果在现有多边形上进行数字化,则新的多边形将被修剪以与现有多边形的边界相交。您可以使用此选项自动获取公共边框。

  1. 在与支架357的公共角落之一处开始数字化支架358。

  2. 继续正常行驶,直到你到达两个看台的另一个公共角落。

  3. 最后,数字化多边形357内部的几个点,确保公共边界不相交。请参见下面的左图。

  4. 右击以完成对林木林分358的编辑。

  5. 输入 ID AS 358

  6. 单击 OK 。如下图所示,您的新多边形应该与看台357有一个共同的边界。

../../../_images/dgitizing_358_5.png

与现有多边形重叠的多边形部分已被自动修剪,并留下一个公共边界-正如您希望的那样。

14.3.5. 基本信息 Try Yourself Finish Digitizing the Forest Stands

现在你已经准备好了两个森林看台。还有一个关于如何继续进行的好主意。继续自己进行数字化,直到你已经数字化了所有受主干道和湖泊限制的林地。

这看起来可能需要很多工作,但你很快就会习惯于将林木数字化。大概需要15分钟。

在数字化过程中,您可能需要编辑或删除节点、拆分或合并多边形。中了解了必要的工具 Lesson: 要素拓扑 ,现在可能是再次阅读有关它们的好时机。

请记住,拥有 Enable topological editing 激活后,可以移动两个多边形的公共节点,以便同时编辑两个多边形的公共边界。

您的结果如下所示:

../../../_images/stands_fully_digitized.png

14.3.6. 基本信息 Follow Along: Joining the Forest Stand Data

有可能你的地图上的森林调查数据也是用纸写的。在这种情况下,您必须首先将数据写入文本文件或电子表格。在这项工作中,1994年盘存的资料(与地图相同的盘存)以逗号分隔文本(CSV)文件的形式准备好。

  1. 打开 rautjarvi_1994.csv 文件中的 exercise_data\forestry 目录,并注意库存数据文件有一个名为 ID 上面有林木的数量。这些数字与您为多边形输入的林木ID相同,可用于将文本文件中的数据链接到矢量文件。您可以在文件中看到此库存数据的元数据 rautjarvi_1994_legend.txt 在同一文件夹中。

  2. 现在将此文件添加到项目中:

    1. 使用 添加分隔文本层 Add Delimited Text Layer 工具。可通过以下方式访问 Layer ► Add Layer ► Add Delimited Text Layer...

    2. 按如下方式在对话框中设置详细信息:

      ../../../_images/inventory_csv_import.png
    3. 新闻发布会 Add 加载格式化的 csv 项目中的文件。

  3. 要将数据从 .csv 使用数字化的多边形创建文件,在两个层之间创建连接:

    1. 打开的图层属性 forest_stands 一层。

    2. 转到 Joins 标签。

    3. 单击 符号系统添加 Add new join 在对话框底部。

    4. 选择 rautjarvi_1994.csv 作为 Join layer

    5. 设置 Join 要输入的字段 ID

    6. 设置 Target 要输入的字段 ID

    7. 单击 OK 两次。

文本文件中的数据现在应该链接到您的矢量文件。要查看发生了什么,请选择 forest_stands 分层和使用 OpenTable Open Attribute Table 。您可以看到,库存数据文件中的所有属性现在都链接到数字化的矢量图层。

您将看到字段名称带有前缀 rautjarvi_1994_ 。要更改这一点,请执行以下操作:

  1. 打开的图层属性 forest_stands 一层。

  2. 转到 Joins 标签。

  3. 选择 Join Layer rautjarvi_1994

  4. 单击 ToggleEditing Edit selected join 按钮以启用编辑

  5. 在……下面 复选框 Custom field name prefix 删除前缀名称

    ../../../_images/join_csv.png

这些数据来自 .csv 文件仅链接到您的矢量文件。若要使此链接成为永久链接,以便将数据实际记录到向量文件中,您需要保存 forest_stands 图层作为新的矢量文件。要做到这一点:

  1. 右键单击 forest_stands 图层

  2. Export ► Save Features As...

  3. FormatESRI Shapefile

  4. 将文件名设置为 forest_stands_1994.shpforestry 文件夹

  5. 要将新文件作为图层包含在工程中,请选中 复选框 Add saved file to map

../../../_images/save_vector_layer.png

14.3.7. 基本信息 Try Yourself Adding Area and Perimeter

要完成与这些林分相关的信息收集,您可以计算林分的面积和周长。已在中计算面的面积 Lesson: 补充演练 。如果需要的话,回到那一课,计算森林的面积。为新属性命名 Area 并确保计算的值以公顷为单位。您也可以对周长执行相同的操作。

现在你的 forest_stands_1994 层已准备好,并装满了所有可用信息。

保存项目以保留当前地图图层,以防以后需要返回到该项目。

14.3.8. In Conclusion

它只需点击几下鼠标,但您现在就有了数字格式的旧库存数据,可以在QGIS中使用。

14.3.9. What's Next?

您可以开始使用全新的数据集进行不同的分析,但您可能更感兴趣的是在更新的数据集中执行分析。下一课的主题将是使用当前的航空照片创建森林林分,并将一些相关信息添加到您的数据集中。