5.1. Lesson: 创建新的矢量数据集

你使用的数据必须来自某个地方。对于大多数常见的应用程序,数据已经存在;但项目越具体和专门化,数据就越不可能已经可用。在这种情况下,您需要创建自己的新数据。

The goal for this lesson: 创建新的矢量数据集。

5.1.1. 基本信息 Follow Along: The Layer Creation Dialog

在添加新的矢量数据之前,需要将其添加到矢量数据集。在我们的例子中,您将从完全创建新数据开始,而不是编辑现有的数据集。因此,您需要首先定义您自己的新数据集。

  1. 打开QGIS并创建一个新的空白项目。

  2. 导航到菜单项并单击 Layer ► Create Layer ► New Shapefile Layer 。你将被授予 New Shapefile Layer 对话框,该对话框允许您定义新的层。

    ../../../_images/create_vector_layer.png
  3. 单击 ... 对于 File name 菲尔德。此时将出现保存对话框。

  4. 导航到 exercise_data 目录。

  5. 将新图层另存为 school_property.shp 。

    在这个阶段决定您想要哪种类型的数据集很重要。每种不同的矢量层类型在背景中都是以不同的方式构建的,所以一旦创建了层,就不能更改它的类型。

    在下一个练习中,我们将创建描述区域的新要素。对于此类要素,您需要创建一个面数据集。

  6. 为 Geometry Type ,选择 Polygon 从下拉菜单中:

    ../../../_images/polygon_selected.png

    这不会影响对话框的其余部分,但会导致在创建矢量数据集时使用正确类型的几何体。

    下一个字段允许您指定坐标参考系或CRS。CRS是一种将数字坐标与地球表面上的位置相关联的方法。请参阅上的用户手册 Working with Projections 了解更多信息。

    对于本例,我们将使用与此项目相关联的默认CRS,即WGS84。

    ../../../_images/default_crs.png

    接下来是分组在下面的一组字段 New Field 。默认情况下,新层只有一个属性,即 id 字段(您应该在 Fields list )。然而,为了使您创建的数据有用,您实际上需要说明您将在此新层中创建的要素。对于我们当前的目的,添加一个名为的字段就足够了 name 这一点可以坚持下去 Text data 并将限制为文本长度为 80 人物。

  7. 复制下面的设置,然后单击 Add to Fields List 按钮:

    ../../../_images/new_attribute.png
  8. 检查您的对话框现在是否如下所示:

    ../../../_images/new_attribute_added.png
  9. 单击 OK

新层应显示在您的 Layers 面板。

5.1.2. 基本信息 Follow Along: Data Sources

当你创建新数据时,它显然必须是关于真正存在于地面上的对象的。因此,您需要从某个地方获取信息。

有许多不同的方法可以获取有关对象的数据。例如,您可以使用GPS捕捉真实世界中的点,然后将数据导入QGIS。或者,您可以使用经纬仪测量点,然后手动输入坐标以创建新要素。或者,你可以使用数字化过程来追踪遥感数据中的对象,例如卫星图像或航空摄影。

在我们的示例中,您将使用数字化方法。我们提供了样例栅格数据集,因此您需要根据需要导入它们。

  1. 点击 DataSourceManager Data Source Manager 纽扣。

  2. 选择 栅格 Raster 在左边。

  3. 在 Source 面板中,单击 ... 按钮:

  4. 导航到 exercise_data/raster/ 。

  5. 选择文件 3420C_2010_327_RGB_LATLNG.tif 。

  6. 单击 Open 关闭对话窗口。

    ../../../_images/add_raster.png
  7. 单击 Add 和 Close 。图像将加载到您的地图中。

    ../../../_images/raster_added.png
  8. 如果未显示航拍图像,请选择新图层,右键单击,然后选择 Zoom to Layer 在上下文菜单中。

    ../../../_images/zoom_to_raster.png
  9. 按下 缩放 Zoom In 按钮,并缩放到下面以蓝色突出显示的区域:

    ../../../_images/map_area_zoom.png

现在,您可以将这三个字段数字化:

../../../_images/field_outlines1.png

在开始数字化之前,让我们将 school_property 位于航拍图像上方的层。

  1. 选择 school_property 中的层 Layers 窗格并将其拖到顶部。

../../../_images/move_school_layer.png

要开始数字化,您需要输入 edit mode 。地理信息系统软件通常需要这样做,以防止您意外编辑或删除重要数据。为每个层单独打开或关闭编辑模式。

要进入编辑模式,请使用 school_property 层:

  1. 按下 school_property 中的层 Layers 面板以将其选中。

  2. 按下 ToggleEditing Toggle Editing 纽扣。

    如果找不到此按钮,请检查 Digitizing 工具栏处于启用状态。旁边应该有一个复选标记 View ► Toolbars ► Digitizing 菜单项。

    一旦进入编辑模式,您就会看到一些数字化工具已激活:

    • 捕获多边形 Capture Polygon

    • 顶点工具ActiveLayer Vertex Tool

    其他相关按钮仍处于非活动状态,但当我们开始与新数据交互时,这些按钮将变为活动状态。

    请注意,该层 school_property 在 Layers Panel现在有一个铅笔图标,表示它处于编辑模式。

  3. 按下 捕获多边形 Capture Polygon 按钮开始数字化我们学校的田野。

    你会注意到你的鼠标光标变成了一个十字准线。这使您可以更准确地放置要数字化的点。请记住,即使在使用数字化工具时,也可以通过滚动鼠标滚轮来放大和缩小地图,还可以通过按住鼠标滚轮并在地图中四处拖动来平移地图。

    您要数字化的第一个功能是 athletics field :

    ../../../_images/school_area_one.png
  4. 通过单击场边缘的某个点来开始数字化。

  5. 通过沿边缘进一步单击来放置更多点,直到所绘制的形状完全覆盖该区域。

    ../../../_images/school_field_outline.png
  6. 放置最后一个点后,单击鼠标右键以完成多边形的绘制。这将最终确定该功能并向您显示 Attributes 对话框中。

  7. 填写如下所示的值:

    ../../../_images/school_area_one_attributes.png
  8. 单击 OK ,并且您已经创建了一个新功能!

    ../../../_images/new_feature.png
  9. 在 Layers 面板选择 school_property 一层。

  10. 右键单击并选择 Open Attribute Table 在上下文菜单中。

    ../../../_images/open_attribute_table.png

    在该表中,您将看到您刚刚添加的功能。在编辑模式下,您可以通过双击要更新的单元格来更新属性数据。

    ../../../_images/feature_table.png
  11. 关闭属性表。

  12. 要保存我们刚刚创建的新要素,请单击 保存编辑 Save Edits 纽扣。

请记住,如果您在数字化要素时出错,则始终可以在完成创建后对其进行编辑。如果犯了错误,请继续数字化,直到如上所述完成要素创建。然后:

  1. 点击 顶点工具ActiveLayer Vertex Tool 纽扣。

  2. 将鼠标悬停在要移动的顶点上,然后在该顶点上单击鼠标左键。

  3. 将鼠标移动到顶点的正确位置,然后左键单击。这会将顶点移动到新位置。

    ../../../_images/select_vertex.png
    ../../../_images/moved_vertex.png

    可以使用相同的步骤移动线段,但您需要将鼠标悬停在线段的中点上。

    如果要撤消更改,可以按 撤销 Undo 按钮或 Ctrl+Z 。

  4. 记住要通过单击保存更改 保存编辑 Save Edits 纽扣。

  5. 编辑完成后,请单击 ToggleEditing Toggle Editing 按钮退出编辑模式。

5.1.3. 基本信息 Try Yourself Digitizing Polygons

将学校本身和上层场地数字化。使用此图像可帮助您:

../../../_images/field_outlines1.png

请记住,每个新功能都需要具有唯一的 id 价值!

备注

将要素添加到层后,请记住保存您的编辑,然后退出编辑模式。

备注

的填充、轮廓、标签放置和格式设置样式 school_property 使用前面课程中学到的技巧。

5.1.4. 适度 Follow Along: Using Vertex Editor Table

编辑要素的另一种方法是使用手动输入每个折点的实际坐标值 Vertex Editor 桌子。

  1. 确保您在图层上处于编辑模式 school_property 。

  2. 如果尚未激活,请单击 顶点工具ActiveLayer Vertex Tool 纽扣。

  3. 将鼠标移动到在中创建的其中一个面要素上 school_property 层,然后右击它。这将选择该功能和一个 Vertex Editor 窗格将会出现。

    ../../../_images/vertex_editor_table.png

    备注

    此表包含要素顶点的坐标。请注意,该要素有七个顶点,但在地图区域中仅直观地标识了六个顶点。仔细观察,人们会注意到第0行和第6行具有相同的坐标。这些顶点是要素几何图形的起点和终点,是创建闭合的多边形要素所必需的。

  4. 在选定要素的一个或多个顶点上单击并拖动一个框。

    ../../../_images/vertex_select.png

    选定的折点将更改为蓝色,并且 Vertex Editor 表将突出显示相应的行,其中包含顶点的坐标。

    ../../../_images/vertex_selected.png
  5. 要更新坐标,请左键双击表中要编辑的单元格,然后输入更新值。在本例中,行的x坐标 4 更新自 20.4450 至 20.4444 。

    ../../../_images/edit_vertex_in_vertex_editor.png
  6. 输入更新值后,按Enter键应用更改。您将看到顶点移动到地图窗口中的新位置。

  7. 编辑完成后,请单击 ToggleEditing Toggle Editing 按钮退出编辑模式,并保存您的编辑。

5.1.5. 基本信息 Try Yourself Digitizing Lines

我们将数字化两条尚未标记在Roads层上的路线;一条是路径,另一条是轨道。我们的小路沿着雷顿郊区的南缘,起点和终点都是有标志的道路:

../../../_images/path_start_end.png

我们的轨道稍微往南一点:

../../../_images/track_start_end.png
  1. 如果 roads 图层还不在您的地图中,则添加 roads GeoPackage文件中的图层 training-data.gpkg 包括在 exercise_data 您下载的培训数据的文件夹。你能读懂 Follow Along: Loading vector data from a GeoPackage Database 获取操作指南。

  2. 创建名为的新ESRI shapefile线数据集 routes.shp 在 exercise_data 目录,具有属性 id 和 type (使用上面的方法指导您。)

  3. 在上激活编辑模式 routes 一层。

  4. 由于您使用的是线要素,因此请单击 捕获线路 Add Line 按钮以启动线路数字化模式。

  5. 一次一个,数字化上的路径和轨迹 routes 一层。尽量准确地遵循路线,在拐角或转弯处增加额外的点。

  6. 设置 type 属性值为 path 或 track 。

  7. 使用 Layer Properties 对话框可为您的管线添加样式。您可以随意为路径和轨迹使用不同的样式。

  8. 通过按保存您的编辑并关闭编辑模式 ToggleEditing Toggle Editing 纽扣。

5.1.6. In Conclusion

现在您知道如何创建功能了!本课程不包括添加点要素,因为一旦您使用了更复杂的要素(线和面),就不再需要添加点要素。它的工作原理完全相同,只是您只需在您想要的点所在的位置单击一次,像往常一样为其赋予属性,然后创建要素。

知道如何数字化是很重要的,因为这是地理信息系统程序中非常常见的活动。

5.1.7. What's Next?

地理信息系统图层中的要素不仅是图片,而且是空间中的对象。例如,相邻的多边形知道它们彼此相关的位置。这叫做 topology 。在下一课中,您将看到一个示例,说明这为什么有用。