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. 单击 AddClose 。图像将加载到您的地图中。

    ../../../_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_propertyLayers 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.445020.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.shpexercise_data 目录,具有属性 idtype (使用上面的方法指导您。)

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

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

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

  6. 设置 type 属性值为 pathtrack

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

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

5.1.6. In Conclusion

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

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

5.1.7. What's Next?

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