将地图转换为场景

3D 是 ArcGIS Pro 不可或缺的一部分。 任何 2D 地图都可以转换为 3D 场景以供数据可视化、探索或分析。

概览

  • 视频长度:4:57
  • 此视频是使用 ArcGIS Pro 2.9 创建的。

在本教程中,您需要将 2D 地图转换为 3D 场景,并使用其 3D 查看属性。

  • 预计时间:30 分钟
  • 软件要求:ArcGIS Pro Basic

打开工程

您的研究区域为新西兰惠灵顿 Kelburn 郊区。 完成导入 ArcMap 文档教程后,您将熟悉起始地图。

  1. 启动 ArcGIS Pro 并根据需要进行登录。
  2. 在开始页面中,单击最近的工程列表旁边的打开另一个工程
    注:

    如果已打开一个工程,请单击功能区上的工程选项卡。 在侧面选项卡的列表中,单击打开。 在打开页面的最近的工程选项卡 最近的工程 中,单击位于页面顶部的打开另一个工程

  3. 打开工程对话框的门户 门户 下,单击 ArcGIS Online ArcGIS Online
    注:

    如果已登录 ArcGIS Enterprise ArcGIS Enterprise,必须将活动门户设置ArcGIS Online 才能访问教程数据。 如果无法执行此操作,则可以从浏览器下载数据

  4. 在对话框顶部的搜索框中,输入 Convert a map to a scene,然后按 Enter 键。
  5. 在搜索结果列表中,单击将地图转换为场景以选择工程包。
    注:

    如果存在多个具有此名称的工程包,请选择带有权威标记 权威 的工程包。 在 Owner 列中,所有者名称为 ArcGISProTutorials。 如果未得到任何结果,请参阅未返回任何搜索结果

  6. 单击确定

    此工程将打开 Kelburn 郊区的地图视图。 表示步行路径、车行道路和区域划分的图层显示在深灰色的底图之上。

    Kelburn 郊区地图

从地图创建场景

ArcGIS Pro 中,3D 地图被称为场景。 可在全球或局部模式下查看所有场景。 在全球模式下,地球被绘制成球体,您的视点通常是涵盖数千公里的数据。 该视图是大型研究区域的最佳之选。 在局部模式下,地球以视角方式绘制,您的视点通常是涵盖数万千米的数据。 对于小研究区域,此视图是最佳之选。

在此工程中,您感兴趣的区域非常小。 您需要将地图转换为局部场景。

全球场景和局部场景
上图:以新西兰为中心的全球视图。 下图:惠灵顿土地覆盖的局部视图。

  1. 单击功能区上的视图选项卡。 在窗口组中,单击重置窗格 重置窗格,然后单击重置窗格以进行映射

    此操作可确保内容目录窗格打开,其他窗格关闭。

  2. 转换视图选项卡的视图组中,单击转换,然后单击至局部场景 转局部场景

    Kelburn 的 3D 场景

    地图将转换为名为 Kelburn_3D 的场景。 局部场景图标 局部 将显示在场景的视图选项卡上。

    注:

    要将任何场景作为全球场景或局部场景进行查看,可在视图选项卡的视图组中单击全球 全球局部 局部

    局部场景支持投影坐标系。 全球场景可以使用以下任一地理坐标系:1984 世界大地测量系统 (WGS84) 或 2000 国家大地坐标系 (CGCS 2000)。

    内容窗格中,地图图层已复制到场景中。 地面高程表面图层位于窗格底部,用于在 3D 空间中绘制 2D 地图图层。

  3. 内容窗格的高程表面下,展开地面

    显示地面高程表面图层的内容窗格

    地表由名为 WorldElevation3D/Terrain3D 的默认高程源图层定义。 此图层为具有全球覆盖范围的影像服务。 它基于分辨率或详细信息不同的多个高程源创建。 对于新西兰惠灵顿周围的区域,分辨率为 1 米,这意味着 1 平方米的区域对应一个高程值。

    要查看世界任意部分的 WorldElevation3D/Terrain3D 分辨率和数据源,请打开高程覆盖范围地图

    注:

    可以向地表添加多个高程源图层。 例如,在 WorldElevation3D/Terrain3D 图层分辨率较低的区域中,您可能具有分辨率较高的栅格数据集,例如 DEM。 可以将 DEM 作为图层添加至地表。 地表将在 DEM 覆盖的区域中使用 DEM 高程值,并在其他位置使用 WorldElevation3D/Terrain3D 值。

  4. 单击功能区上的地图选项卡。 在导航组中,确保已选择浏览工具 浏览工具
  5. 可以使用鼠标按钮和滚轮来放大、平移、倾斜和旋转场景。 (可选)使用位于场景左下角的屏幕导航器 导航器

    导航到新视角的场景。

    提示:

    如果觉得混乱,在地图选项卡中单击书签 书签,然后选择 Kelburn 书签。 (Kelburn_3D 书签是 Kelburn 书签的副本)有关 3D 导航的帮助,请参阅 3D 导航导航地图和场景快速入门教程。

    深灰色底图容易掩盖 3D 效果,因此您需要更改底图。

  6. 地图选项卡的图层组中,单击底图 底图。 在底图列表中,单击 Streets

    接下来,您需要将阴影添加至表面。

  7. 内容窗格的高程表面下,单击地面

    功能区中随即显示高程表面图层选项卡。

  8. 单击高程表面图层选项卡。 在表面组中,选中相对于光照位置创建阴影复选框。

    此选项会根据场景的当前照明设置向地形添加阴影。 默认情况下,太阳高度角设置为 45 度。 您需要更改照明设置(场景属性),而不是高程表面。 可以更改光照设置来尝试不同的效果。

  9. 内容窗格中,右键单击场景名称 Kelburn_3D,然后单击属性 属性
  10. 地图属性对话框中,单击照明选项卡。
  11. 光照定义方式下,将当前高度角值从 45 更改为 60

    “地图属性”对话框上的“照明”选项卡

  12. 地图属性对话框上,单击常规选项卡。
  13. 单击背景色下拉箭头。 在调色板中,单击要用于表示天空的颜色。
  14. 单击确定

    由于太阳现在的高度角较高,因此阴影较少。

  15. 从更多视角查看场景。

    导航到新视角的场景。

  16. 快速访问工具栏中,单击保存 保存 保存工程。

向场景添加图层

您需要向场景添加两个图层。 其中一个图层代表 Kelburn 郊区的建筑物。 该图层具有可用来拉伸建筑物的属性 - 即对其在地面以上的相应高度处进行绘制。 另一图层代表惠灵顿郊区的边界。

  1. 目录窗格的工程选项卡中,展开数据库容器 数据库。 展开 convert_a_map_to_a_scene.gdb
  2. 单击建筑物要素类以将其选中。 按住 Ctrl 键并单击 Suburb_Boundaries 要素类以将其同时选中。
    “目录”窗格中的选定要素类
  3. 右键单击选定要素类,然后单击添加到当前地图 添加至当前地图

    将图层添加至带有默认符号系统的场景。 Suburb_Boundaries 图层具有实心填充颜色。 您需要将符号设置为空心填充并选择其他轮廓颜色。

  4. 内容窗格中,单击 Suburb_Boundaries 图层的符号。

    符号系统窗格将出现并显示面符号格式化选项。

  5. 在窗格顶部,单击属性选项卡。 确保已在其下选中符号选项卡 符号
  6. 外观下,单击颜色下拉箭头,然后单击无颜色
  7. 单击轮廓颜色下拉箭头,然后单击马臀革褐
    调色板
  8. 轮廓宽度值更改为 1.5 pt,然后按 Enter 键。
    符号系统属性设置
  9. 在窗格的底部,单击应用
    场景中的郊区边界轮廓

    您现在可以看到 Kelburn 和其他惠灵顿郊区的边界。

  10. 内容窗格中,单击建筑物图层的符号。
  11. 符号系统窗格的顶部,单击图库选项卡。
  12. 在搜索框旁边,单击所有样式下拉箭头,然后单击工程样式

    工程样式设置包括默认添加至 ArcGIS Pro 工程的样式,以及您自行添加的任何样式所有样式设置包括随 ArcGIS Pro 一起安装的所有系统样式。 选择工程样式将缩小符号搜索的范围。

  13. 在搜索框中输入 building,然后按 Enter 键。
  14. ArcGIS 2D 下,单击米黄色建筑物覆盖区符号。

    Building Footprint 符号

    将在内容窗格和场景中更新此符号。 但建筑物仍平铺在表面上。 您将使用图层属性表中的高度值对其进行拉伸。

  15. 内容窗格中,右键单击 Buildings 图层,然后单击属性表 Open Table

    Approximate Height 字段可存储每个建筑物在地面以上的高度(以米为单位)。

    注:

    该表还有一个名为 Base Elevation 的字段,用于存储每个要素的高程。 但是,该图层当前不使用此信息来定位 3D 空间中的要素。 与场景中的其他图层一样,Buildings 图层也在使用地表图层。

  16. 关闭表。 在内容窗格中,确保已选中 Buildings 图层。
  17. 在功能区上,单击要素图层选项卡。
  18. 拉伸组中,单击类型 要素拉伸类型,然后单击最大高度 最大高度
  19. 单击类型旁的字段下拉箭头,然后单击近似高度

    现在,每个建筑物都根据其在表中的近似高度值进行拉伸。 拉伸单位设置为米(这是正确的)。

    场景中拉伸的 Buildings。

    注:

    您已将拉伸应用于要素的最大高度(“最大高度”)。 要理解这是什么意思,请设想一个由 4 个折点定义且位于斜坡上的方形建筑物要素。 要素的最大高度是斜坡上最高点处的折点的高程。 其最小高度是斜坡上最低点处的折点的高程。 所有四个折点将拉伸到相同的高度,以使建筑物屋顶为平面。 因此,按其最大高度拉伸的要素略高于按其最小高度拉伸的要素(除非建筑物位于平坡上)。 有关拉伸的详细信息,请参阅将要素拉伸成 3D 符号系统

    内容窗格中,Buildings 图层从 2D 图层组移至 3D 图层组,因为拉伸为图层的 3D 属性。

  20. 快速访问工具栏上,单击保存 保存

更改图层的高程属性

如果地图图层未将 z 值存储为其几何的一部分,则该图层为 2D 图层。 在将 2D 地图图层添加至场景后,其要素在由地面高程表面定义的高程处显示。 在此场景中,所有地图图层为 2D 图层。 (Buildings 图层当前在 3D 图层类别中显示,因为之前已对其进行拉伸,而不是因为它具有 3D 几何。)

但是,Buildings 图层与其他图层不同,因为它在属性字段中存储高程值。 之前打开属性表时,会在 Base Elevation 字段中看到这些值。 您需要将 Buildings 图层设置为根据这些值而不是地表进行绘制。

注:

如果地图图层将 z 值存储为其几何的一部分,则该图层为 3D 图层。 可通过属性表的 Shape 字段识别 3D 图层:值末尾会有一个 Z,例如 PointZ、PolylineZ 或 PolygonZ。 默认情况下,3D 图层使用其 z 值在 3D 空间中进行绘制。

  1. 内容窗格中,右键单击 Buildings 图层,然后单击属性 属性
  2. 图层属性对话框中,单击高程选项卡。

    要素设置为显示在地面上 - 换句话说,设置为使用场景的地面高程表面的值。 这是 2D 地图图层的默认设置。

  3. 单击要素为下拉箭头,然后单击在绝对高度

    现在,可使用除地面高程表面以外的源中的高程值。

  4. 其他要素高程使用下,确认已选中 A 字段。 单击 <表达式> 下拉箭头,然后单击基础高程

    Buildings 图层的“图层属性”对话框

  5. 确保垂直单位设置为。 单击确定
  6. 导航场景,然后从不同的视角进行查看。 放大以近距离查看。

    在多个位置,建筑物部分陷入地形中。 这是因为 Buildings 图层属性表中的高程值与地面高程表面中对应位置的值不同。 图层中的值可能(可能不)更精确,但是您希望以看起来更真实的方式绘制图层。

  7. 内容窗格中,双击 Buildings 图层打开其图层属性。
  8. 高程选项卡中,单击要素位于下拉箭头,然后单击在地面上。 单击确定
  9. 快速访问工具栏上,单击保存 保存

相关主题