20. 准备练习数据

备注

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

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

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

备注

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

20.1. hard Try Yourself Create OSM based vector files

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

  1. 新建QGIS工程

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

  3. 浏览器 选项卡,展开 XYZ Tiles 下拉菜单,然后双击 开放街道地图

    ../../../_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 Try Yourself Create SRTM DEM tiff files

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

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

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

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

20.3. hard Try Yourself Create imagery tiff files

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

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

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

20.4. basic Try Yourself Replace tokens

Having created your localized dataset, the final step is to replace the tokens in the substitutions.txt file so that the appropriate names will appear in your localized version of the Training Manual.

您需要替换的标记如下:

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

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

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

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

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