为华盛顿的 Oso 镇泥石流构建 3D 场景

创建工程

首先,您将下载本教程所需的数据。 接下来,在 ArcGIS Pro 中创建一个工程。

  1. 下载 Oso_Elevation.zip 压缩文件夹。
  2. Microsoft File Explorer 中,在 C:\ 盘中创建一个名为 LearnArcGIS 的文件夹。
  3. 在计算机上找到下载的文件,并将其解压缩到 LearnArcGIS 文件夹。
  4. 打开 Oso_Elevation 文件夹。

    Oso_Elevation 文件夹中的内容

    该文件夹包含以下文件夹:

    • Oso_Imagery 文件夹 - 包含泥石流前后的图像
    • Oso_Mapping_Terrain_Data 文件夹 - 包含用于存储事件前后高程图层的地理数据库 (Oso_Landslide_Data.gdb)

    该影像已由华盛顿交通部提供,由 Esri 灾难响应计划重新托管。 已从 Puget Sound 激光雷达联盟的激光雷达数据中提取数字高程模型。

  5. 启动 ArcGIS Pro。 如果收到系统提示,请使用您获得许可的 ArcGIS 组织帐户登录。
    注:

    如果您没有 ArcGIS Pro 的访问权限或者 ArcGIS 组织帐户,请参阅软件访问权限选项

  6. 单击局部场景

    此选项将基于局部场景工程模板创建 ArcGIS 工程。

    “局部场景”选项

    随即显示新建工程窗口。

  7. 新建工程窗口中,对于名称,键入 Oso_Elevation
  8. 对于位置,单击浏览按钮,浏览到 LearnArcGIS 文件夹,单击该文件夹,然后单击确定

    新建工程窗口

  9. 单击确定

    随即将创建工程。

向场景添加影像

ArcGIS Pro 包含倾斜 2D 地图并在 3D 场景中查看空间关系的功能。 这样能够使数据更易于理解,并在过程中发现新的见解。 要了解华盛顿州 Oso 镇附近受泥石流影响的区域,您需要添加泥石流发生前该区域的一些影像。

  1. 在功能区地图选项卡的图层组中,单击添加数据下拉箭头。

    “添加数据”按钮

  2. 添加数据菜单中,选择数据

    数据选项

    随即显示添加数据窗口。

  3. 添加数据窗口中,浏览至 Oso_Elevation 文件夹的位置。
  4. 打开 Oso_Imagery 文件夹并选择 Oso_Imagery_Before.jpg 文件。

    所选 Oso_Imagery_Before 图像

    该文件描述了感兴趣区域在泥石流之前的样貌。

  5. 单击确定

    在“绘制顺序”中选择 Oso 泥石流

    注:

    如果出现“转换警告”窗口或要求您创建统计数据的窗口,请单击后继续。

    在场景渲染时,底图内容会存在距离,因此小块影像看起来有些错位。 可以将局部场景的可见区域裁剪到有限范围(感兴趣区域)。

    可以手动输入范围,根据当前视点计算范围,或者从场景中的图层导入范围。

将场景裁剪到感兴趣区域

将通过从图层导入来裁剪场景,以将视图限制在数据范围内。

  1. 内容窗格中,右键单击场景并选择属性

    “属性”选项

    随即出现地图属性窗口。

  2. 地图属性窗口中,单击裁剪图层选项卡。 单击下拉菜单并选择裁剪到自定义范围选项。

    “裁剪到自定义范围”选项

  3. 对于从以下位置获取范围,单击 Oso_Imagery_Before.jpg

    Oso Imagery Before 图像选项

  4. 单击确定

    将隐藏底图,现在场景中仅影像图层可见。

    泥石流前的 Oso 镇图像

  5. 内容窗格的 2D 图层组中,取消选中 World Topographic Map 底图图层。
  6. 快速访问工具栏上,单击保存或按 Ctrl+S 以保存您的工程。

    “保存”按钮

导航视图

可以通过使用默认处于活动状态的浏览工具在视图中导航来探索感兴趣区域。

  1. 在视图中单击鼠标右键,按住按钮,然后向下拖动以进行放大。
  2. 单击鼠标滚轮按钮,按住按钮,然后四处移动鼠标以旋转视图。

    泥石流前 Oso 镇区域的 3D 视图

  3. 在视图中单击,按住按钮,然后四处移动以进行平移。
    注:

    了解有关 ArcGIS Pro 中导航的详细信息。 您也可以使用屏幕上的导航器控件

    导航器控件

    地面和图像不能完全互补;地面过于平滑和简单,无法正确匹配更高分辨率的影像。 这是因为场景中唯一的高程表面为默认全球服务,其中每个像元的分辨率介于 10 米 x 10 米到 30 米 x 30 米之间。 这意味着,在最好的情况下,接近 1,000 平方英尺的区域仅存在一个高程值。

添加数字高程模型

高程表面图层是 3D 场景的一个组成部分。 它们代表其范围内每个点的高度值,通常用于为地图中的其他内容提供高度值。 可以将高程表面定义为地图的一部分,然后地图中的图层可以根据需要使用这些表面。

为了使数据更加精确地反映现实世界,您将添加泥石流前感兴趣区域的高分辨率数字高程模型 (DEM)。 此类型的高程内容将捕获地表的底层裸露地表地形,并排除地面以上的元素,例如建筑物和树木。

  1. 内容窗格的高程表面图层组中,右键单击 Ground,然后选择添加高程源图层

    “添加高程源图层”选项

    添加高程源图层窗口随即显示。

  2. 添加高程源图层窗口中,浏览至 Oso_Elevation 文件夹的位置,打开 Oso_Mapping_Terrain_Data 文件夹,然后打开 Oso_Landslide_Data.gdb 文件。
  3. 选择 DEM3ft_Before。 (确认单击 DEM3ft_Before,而非 DSM3ft_Before。)

    所选 DEM3ft_Before 栅格数据集

  4. 单击确定
  5. 在视图中导航。

    高程和影像的对齐效果更佳,尤其沿河流边缘以及没有树木的位置更是如此。

    泥石流区域附近河流的 3D 视图

添加数字表面模型

在制作 3D 地图时,您通常需要附加 3D 矢量内容(例如建筑物、树木和电线杆),这些内容从裸露地表突出,以使其更加完整。 如果您没有此类附加数据,则可以使用数字表面模型 (DSM) 作为高程图层。

DSM 可将所有内容捕获到地表中,包括地面以上的元素,由此会包含现实世界的障碍物。 这些障碍物会对能见度、阴影和邻域分析产生影响。 对于一定的查看距离,DSM 可以呈现更加逼真的表面。 但是,当靠近表面进行查看时,由于数据分辨率的限制以及缺乏悬垂的垂直墙变得明显,因此这种方法通常不太有效。

对于此场景,您打算保持合理的查看距离,因此 DSM 是一个合理且省时的选择。 对于地面,您需要将 DEM 数据源替换为 DSM 数据源。

  1. 内容窗格的高程表面图层组中,右键单击 DEM3ft_Before,然后选择移除

    “移除”选项

  2. 右键单击 Ground,然后选择添加高程源图层
  3. 如有必要,请浏览至 Oso_Elevation 文件夹的位置,打开 Oso_Mapping_Terrain_Data 文件夹,然后打开 Oso_Landslide_Data.gdb 文件。
  4. 选择 DSM3ft_Before

    所选 DSM3ft_Before 栅格数据集

  5. 单击确定
  6. 内容窗格中,单击 Scene 以将其高亮显示,然后再次单击以对其进行重命名。 键入 Before Mudslide,然后按 Enter 键。

    Before Mudslide 场景名称

  7. 在视图中导航。

    由于地表要素已合并到地表中,因此地表将变得更加极端。

  8. 放大接近表面以查看其限制。

    河流弯道

  9. 缩小以更加美观的方式进行查看。

    缩小河流的 3D 视图

    内容现在看起来更加逼真。 这是 3D 地图之前的状态,小半岛上的房屋及其周围的树木看起来非常田园。

    所有这一切都在 2014 年 3 月 22 日当地时间上午 10:37 发生了变化。 在发生一次重大山体滑坡后,一座不稳定的山丘倒塌,泥土和碎片蔓延,并吞没了一个乡村社区。 存在一些人员伤亡,一些房屋和其他建筑物损坏。 您需要检查泥石流后的该区域。

创建第二个场景

您将创建第二个场景,并向该区域添加在泥石流后立即采集的航空影像,以增强 3D 场景。 您需要两个表面:一个用于地形的前状态,另一个用于后状态。

  1. 在功能区插入选项卡的工程组中,单击新建地图下拉箭头,然后选择新建局部场景

    “新建局部场景”选项

  2. 内容窗格中,将创建的场景重命名为 After Mudslide

    After Mudslide 场景

  3. 在功能区地图选项卡的图层组中,单击添加数据按钮。

    随即显示添加数据窗口。

  4. 添加数据窗口中,浏览至 Oso_Elevation 文件夹的位置,然后打开 Oso_Imagery 文件夹。
  5. 选择 Oso_Imagery_After.jpg 文件,然后单击确定

    所选 Oso_Imagery_After 栅格数据集

  6. 单击创建统计数据。

    Before Mudslide 场景类似,您需要将场景裁剪到影像。

  7. 内容窗格中,右键单击 After Mudslide,然后选择属性

    随即出现地图属性窗口。

  8. 地图属性窗口中,选择裁剪图层。 单击无裁剪,然后在下拉菜单中选择裁剪到自定义范围
  9. 图层的范围列表下,选择 Oso_Imagery_After.jpg,然后单击 OK

    显示泥石流后的图像。

    所选 Oso_Imagery_After 图层

    默认情况下,新影像图层将绘制在地面上(即,前高程表面的上方)。 从影像中可以看出,这不再是地面的精确制图表达。 泥石流后高程需要一个单独的不同表面。 为了解决这个问题,您将为后状态创建一个表面。

    注:

    您可能需要缩小,才能看到完整的影像图层。

  10. 内容窗格中,右键单击高程表面,然后选择添加高程表面图层

    “添加高程表面图层”选项

    出现一个名为表面的图层。

  11. Surface 重命名为 After
  12. 右键单击 After,然后选择添加高程源图层

    “添加高程源图层”选项

    添加高程源图层窗口随即显示。

  13. 如有必要,请在添加高程源图层窗口中,浏览至 Oso_Elevation 文件夹。
  14. Oso_MappingTerrain_Data 文件夹中,打开 Oso_Landslide_Data.gdb 文件。 选择 DSM4ft_After,然后单击确定

    您将使用 After 表面作为后航空影像图层。

  15. 内容窗格中,右键单击 Oso_Imagery_After.jpg 图层并选择属性
  16. 图层属性窗口中,单击高程选项卡。
  17. 对于要素位于,单击下拉菜单并选择在自定义高程表面上
  18. 对于自定义表面,确认选择 After 表面。

    After 表面选项

  19. 单击确定
  20. 内容窗格中,关闭 Ground 高程表面下的 WorldElevation3D/Terrain3D 高程源。

    泥石流

    变化非常明显。 通过更新的影像和高程图层,清晰地显示了被泥石流吞噬的巨大山坡和半岛上的房屋。

    接下来,您将并排比较泥石流前后的场景。

  21. 拖动 After Mudslide 场景选项卡,将其放置在 Before Mudslide 场景旁边。

    After Mudslide 位置

  22. 在功能区视图选项卡的链接组中,单击链接视图,然后选择中心和比例
  23. 在视图中导航以查看改变。

    最终地图

  24. 保存工程。

在本教程中,您使用了不同的数据源来表示 Oso 泥石流场景的地表。 存在两种类型的表面:裸露地表高程表面和地面以上高程表面,它们在两个不同的时刻捕获。 通过将高程表面与匹配的影像图层相结合,您可以观察并了解自然灾害如何对区域的地形造成灾难性的改变。

您可以在教程库中找到更多教程。