20. 准备练习数据

备注

此流程适用于课程召集人,或希望为其课程创建本地化样本数据集的资深QGIS用户。培训手册提供了默认数据集,但如果您希望替换默认数据集,可以按照以下说明操作。

培训手册提供的 样本数据 是指 Swellendam 镇及其周边地区, Swellendam 位于南非西开普省开普敦以东约2小时车程处。该数据集包含英语和南非荷兰语的要素名称。

任何人都可以毫无困难地使用此数据集,但您可能更喜欢使用来自自己国家或家乡的数据。如果如此,您的本地化数据可用于单元 3 至 7.2 的所有课程。以后单元使用更复杂的数据源,这些数据源可能适用也可能不适用于您所在的地区。

备注

这些说明假设您精通QGIS,并且不打算用作教学材料。

20.1. hard 试一试 创建基于OSM的矢量文件

如果您希望课程所用的默认数据集替换为本地化数据,可以使用QGIS内置工具轻松完成。您选择使用的地区应具有合适的城市和农村混合区域,包括不同用途的道路、区域边界 (如自然保护区或农场) 和地表水 (如不同大小的河流)。

  1. 新建QGIS工程

  2. 选择 图层 ► 数据源管理器 ,打开 数据源管理器 对话框

  3. 浏览器 选项卡,展开 XYZ Tiles 下拉菜单,然后双击 OpenStreetMap

    ../../../_images/browser_xyztiles.png

    世界地图现在可以在地图画布上看到。

  4. 关闭 数据源管理器 对话框

  5. 移到到您想用作研究区域的地方

    ../../../_images/swellendam_neighborhood.png

现在有了要从中提取数据的范围,让我们启用提取工具。

  1. 转到 插件 ► 管理并安装插件...

  2. 全部 选项卡的搜索框中键入 QuickOSM

  3. 选择QuickOSM插件,按 安装插件 按钮,然后 关闭 对话框。

    ../../../_images/quickosm_plugin_download.png
  4. 矢量 ► QuickOSM ► QuickOSM... 菜单执行新插件

  5. 快速查询 选项卡的 关键字 下拉菜单中选择 building

  6. 字段留空,这意味着您正在查询所有建筑。

  7. 在下一个下拉菜单中选择 画布范围

  8. 展开下面的 高级 组,取消勾选右侧除 多边形集 之外的所有几何图形类型。

  9. 运行查询

    ../../../_images/building_query_builder.png

    新的 building 图层将添加到 图层 面板,显示选定范围内的建筑。

  10. 按上述方法提取其他数据:

    1. 关键字 = landuse多边形集 几何图形类型。

    2. 关键字 = boundary, = protected_area多边形集 几何图形类型。

    3. 关键字 = natural, = water多边形集 几何图形类型。

    4. 关键字 = highway 和勾选 线线串集 几何图形类型。

    5. 关键字 = waterway, = river 和勾选 线线串集 几何图形类型。

    6. 关键字 = place 几何图形类型。

此处理将图层添加为临时文件 (由其名称旁边的 indicatorMemory 图标标示)。

../../../_images/osm_data_loaded.png

可以对您所在地区包含的数据进行采样,并查看结果。

我们现在需要保存生成的数据,以便在课程中使用。根据数据请使用 ESRI Shapefile、GeoPackage 和 SpatiaLite 格式。

要将 place 临时图层转换为其他格式,请执行以下操作:

  1. 单击 place 图层旁边的 indicatorMemory 图标,打开 保存临时图层 对话框。

    备注

    如果需要更改临时图层的属性 (CRS、范围、字段…),请使用 导出 ► 要素另存为... 上下文菜单代替,并确保勾选 将已保存的文件添加到地图中 选项。这将添加一个新图层。

  2. 选择 ESRI Shapefile 格式

  3. 使用 ... 按钮浏览到 exercise_data/shapefile/ 文件夹,并将文件另存为 places.shp

    ../../../_images/save_osm_place.png
  4. 确定

    图层 面板,临时 place 图层将替换为保存的 places Shapefile 图层,并移除其旁边的临时图标。

  5. 双击图层打开其 图层属性 ► 源 选项卡,并更新 图层名 以匹配文件名。

  6. 对其他图层重复此过程,按如下方式重命名:

    • natural_water 变成 water

    • waterway_river 变成 rivers

    • boundary_protected_area 变成 protected_areas

    每个生成的数据集都应保存在 exercise_data/shapefile/ 目录中。

下一步是从 building 图层创建 GeoPackage 文件,以便在课程中使用:

  1. 单击 building 图层旁边的 indicatorMemory 图标

  2. 选择 GeoPackage 格式

  3. 将文件保存在 exercise_data/ 文件夹下的 training_data.gpkg

  4. 默认情况下, 图层名 填充为文件名,将其替换为 buildings

    ../../../_images/save_osm_building.png
  5. 确定

  6. 在属性对话框中重命名图层

  7. highway 图层重复此过程,将其保存为同一个GeoPackage数据库中的 roads

最后一步是将其他的临时文件保存为SpatiaLite文件。

  1. 单击 landuse 图层旁边的 indicatorMemory 图标

  2. 选择 SpatiaLite 格式

  3. 将文件保存在 exercise_data/ 文件夹的 landuse.sqlite 。默认情况下,图层名填充为文件名,不需要修改。

    ../../../_images/save_osm_landuse.png
  4. 确定

您现在应该有一张这样的地图 (符号肯定会不同,因为当图层添加到地图时,QGIS会随机分配颜色):

../../../_images/post_osm_import.png

重要的是,您有7个矢量图层需要匹配,并且所有这些图层都有一些数据。

20.2. hard 试一试 创建 SRTM DEM tiff 文件

对于 单元: 创建矢量数据单元: 栅格 两个单元,您还需要覆盖为课程选择地区的栅格图像 (SRTM DEM)。

CGIAR-CGI 提供了一些 SRTM DEM,您可以从 https://srtm.csi.cgiar.org/srtmdata/ 下载。

您需要选择使用覆盖整个地区的图像。要查找范围坐标,请在QGIS中使用 zoomToLayer 缩放到最大图层的范围,并在状态栏的 extents 范围 框中拾取值。保留 GeoTiff 格式。填写表格后,单击 单击此处开始搜索 >> 按钮并下载文件。

下载所需文件后,应将其保存在 exercise_data 目录中的 raster/SRTM 子文件夹下。

20.3. hard 试一试 创建影像 tiff 文件

在单元 单元: 创建矢量数据 跟我做: 数据源 课程中展示了三个学校运动场的特写图像,学生们被要求将其数字化。因此,您需要使用新的 SRTM DEM tiff 文件复制这些图像。不是必须使用学校运动场:可以使用任何三种学校用地类型 (例如不同的学校建筑、操场或停车场)。

作为参考,示例数据中的图像为:

../../../_images/field_outlines.png

20.4. basic 试一试 替换标记

创建本地化数据集后,最后一步是替换 substitutions.txt 文件中的标记,以便合适的名称出现在培训手册的本地化版本中。

您需要替换的标记如下:

  • majorUrbanName: 默认为 "Swellendam" ,替换为您所在地区主要城镇的名称。

  • schoolAreaType1: 默认为 "田径场" ,替换为您所在地区最大学校区域类型的名称。

  • largeLandUseArea: 默认为 "Bontebok National Park" ,替换为您所在地区大型土地利用多边形的名称。

  • srtmFileName: 默认为 srtm_41_19.tif ,将其替换为您的 SRTM DEM 文件的文件名。

  • 本地CRS: 默认为 WGS 84 / UTM 34S ,您应该将其替换为您所在地区正确的CRS。