3D 是 ArcGIS Pro 不可或缺的一部分。 任何 2D 地图都可以转换为 3D 场景以供数据可视化、探索或分析。
概览
- 视频长度:4:57
- 此视频是使用 ArcGIS Pro 2.9 创建的。
在本教程中,您需要将 2D 地图转换为 3D 场景,并使用其 3D 查看属性。
- 预计时间:30 分钟
- 软件要求:ArcGIS Pro Basic
注:
每次发布软件时都会更新快速入门教程。 为了获得最佳体验,请使用与软件版本匹配的在线帮助版本。
打开工程
您的研究区域为新西兰惠灵顿 Kelburn 郊区。
- 启动 ArcGIS Pro 并根据需要进行登录。
- 打开浏览对话框,以通过以下方式之一搜索工程:
- 在开始页面上,单击打开其他工程 。
- 在打开的工程中,单击功能区上的工程选项卡。 在侧面选项卡的列表中,单击打开。 在打开页面上,单击打开其他工程 。
- 在打开工程浏览对话框的导航窗格中,单击门户 下的 ArcGIS Online 。
- 在对话框顶部的搜索框中,输入 Convert a map to a scene,然后按 Enter 键。
- 在搜索结果列表中,单击将地图转换为场景以选择工程包。
注:
如果存在多个具有此名称的工程包,请选择带有权威标记 的工程包。 在 Owner 列中,所有者名称为 ArcGISProTutorials。 如果未得到任何结果,请参阅未返回任何搜索结果。
- 单击确定。
此工程将打开 Kelburn 郊区的地图视图。 表示步行路径、车行道路和区域划分的图层显示在深灰色的底图之上。
从地图创建场景
在 ArcGIS Pro 中,3D 地图被称为场景。 可在全球或局部模式下查看所有场景。 在全球模式下,地球被绘制成球体,您的视点通常是涵盖数千公里的数据。 该视图是大型研究区域的最佳之选。 在局部模式下,地球以视角方式绘制,您的视点通常是涵盖数万千米的数据。 对于小研究区域,此视图是最佳之选。
在此工程中,您感兴趣的区域非常小。 您需要将地图转换为局部场景。
- 单击功能区上的视图选项卡。 在窗口组中,单击重置窗格 ,然后单击重置窗格(默认)。
此操作可确保内容和目录窗格打开,其他窗格关闭。
- 在视图选项卡的视图组中,单击转换 ,然后单击至局部场景 。
地图将转换为名为 Kelburn_3D 的场景。 局部场景图标 将显示在场景的视图选项卡上。
注:
要将任何场景作为全球场景或局部场景来查看,可在视图选项卡的视图组中单击全球 或局部 。
局部场景支持投影坐标系。 全球场景可以使用以下任一地理坐标系:1984 世界大地测量系统 (WGS84) 或 2000 国家大地坐标系 (CGCS 2000)。
在内容窗格中,地图图层已复制到场景中。 地面高程表面图层位于窗格底部,用于在 3D 空间中绘制 2D 地图图层。
- 在内容窗格的高程表面下,展开地面。
地表由名为 WorldElevation3D/Terrain3D 的默认高程源图层定义。 此图层为具有全球覆盖范围的影像服务。 它基于分辨率或详细信息不同的多个高程源创建。 对于新西兰惠灵顿周围的区域,分辨率为 1 米,这意味着 1 平方米的区域对应一个高程值。
要查看世界任意部分的 WorldElevation3D/Terrain3D 分辨率和数据源,请打开高程覆盖范围地图。
注:
可以向地表添加多个高程源图层。 例如,在 WorldElevation3D/Terrain3D 图层分辨率较低的区域中,您可能具有分辨率较高的栅格数据集,例如 DEM。 可以将 DEM 作为图层添加至地表。 地表将在 DEM 覆盖的区域中使用 DEM 高程值,并在其他位置使用 WorldElevation3D/Terrain3D 值。
- 单击功能区上的地图选项卡。 在导航组中,确保已选择浏览工具 。
- 可以使用鼠标按钮和滚轮来放大、平移、倾斜和旋转场景。 (可选)使用位于场景左下角的屏幕导航器 。
- 在地图选项卡的图层组中,单击底图 。 在 2D 底图下,单击 Streets。
接下来,您需要将阴影添加至表面。
- 在内容窗格的高程表面下,单击地面。
功能区中随即显示高程表面图层选项卡。
- 单击高程表面图层选项卡。 在表面组中,选中相对于光照位置创建阴影复选框。
此选项会根据场景的当前照明设置向地形添加阴影。 默认情况下,太阳高度角设置为 45 度。 您需要更改照明设置(场景属性),而不是高程表面。 可以更改光照设置来尝试不同的效果。
- 在内容窗格中,右键单击场景名称 Kelburn_3D,然后单击属性 。
- 在地图属性对话框中,单击照明选项卡。
- 在光照定义方式下,将当前高度角值从 45 更改为 60。
- 在地图属性对话框上,单击常规选项卡。
- 单击背景色下拉箭头。 在调色板中,单击要用于表示天空的颜色。
- 单击确定。
由于太阳现在的高度角较高,因此阴影较少。
- 从更多视角查看场景。
- 在快速访问工具栏上,单击保存工程 。
向场景添加图层
您需要向场景添加两个图层。 其中一个图层代表 Kelburn 郊区的建筑物。 该图层具有可用来拉伸建筑物的属性 - 即对其在地面以上的相应高度处进行绘制。 另一图层代表惠灵顿郊区的边界。
- 在目录窗格的工程选项卡中,展开数据库容器 。 展开 convert_a_map_to_a_scene.gdb。
- 单击建筑物要素类以将其选中。 按住 Ctrl 键并单击 Suburb_Boundaries 要素类以将其同时选中。
- 右键单击选定要素类,然后单击添加到当前地图 。
将图层添加至带有默认符号系统的场景。 Suburb_Boundaries 图层具有实心填充颜色。 您需要将符号设置为空心填充并选择其他轮廓颜色。
- 在内容窗格中,单击 Suburb_Boundaries 图层的符号。
符号系统窗格将出现并显示面符号格式化选项。
- 在窗格顶部,单击属性选项卡。 确保已在其下选中符号选项卡 。
- 在外观下,单击颜色下拉箭头并单击无颜色。
- 单击轮廓颜色下拉箭头,然后单击马臀革褐。
- 将轮廓宽度值更改为 1.5 pt,然后按 Enter 键。
- 在窗格的底部,单击应用。
您现在可以看到 Kelburn 和其他惠灵顿郊区的边界。
- 在内容窗格中,单击建筑物图层的符号。
- 在符号系统窗格的顶部,单击图库选项卡。
- 在搜索框中输入 building,然后按 Enter 键。
- 在 ArcGIS 2D 下,单击米黄色建筑物覆盖区符号。
将在内容窗格和场景中更新此符号。 但建筑物仍平铺在表面上。 您将使用图层属性表中的高度值对其进行拉伸。
- 在内容窗格中,右键单击 Buildings 图层,然后单击属性表 。
Approximate Height 字段可存储每个建筑物在地面以上的高度(以米为单位)。
注:
该表还有一个名为 Base Elevation 的字段,用于存储每个要素的高程。 但是,该图层当前不使用此信息来定位 3D 空间中的要素。 与场景中的其他图层一样,Buildings 图层也在使用地表图层。
- 关闭表。 在内容窗格中,确保已选中 Buildings 图层。
- 在功能区上,单击要素图层选项卡。
- 在拉伸组中,单击类型 ,然后单击最大高度 。
- 单击类型旁的字段下拉箭头,然后单击近似高度。
现在,每个建筑物都根据其在表中的近似高度值进行拉伸。 拉伸单位设置为米,这是正确的。
注:
您已将拉伸应用于要素的最大高度(“最大高度”)。 要理解这是什么意思,请设想一个由 4 个折点定义且位于斜坡上的方形建筑物要素。 要素的最大高度是斜坡上最高点处的折点的高程。 其最小高度是斜坡上最低点处的折点的高程。 所有四个折点将拉伸到相同的高度,以使建筑物屋顶为平面。 因此,按其最大高度拉伸的要素略高于按其最小高度拉伸的要素(除非建筑物位于平坡上)。 有关拉伸的详细信息,请参阅将要素拉伸成 3D 符号系统。
在内容窗格中,Buildings 图层从 2D 图层组移至 3D 图层组,因为拉伸为图层的 3D 属性。
- 在快速访问工具栏上,单击保存工程 。
更改图层的高程属性
如果地图图层未将 z 值存储为其几何的一部分,则该图层为 2D 图层。 在将 2D 地图图层添加至场景后,其要素在由地面高程表面定义的高程处显示。 在此场景中,所有地图图层为 2D 图层。 (Buildings 图层当前在 3D 图层类别中显示,因为之前已对其进行拉伸,而不是因为它具有 3D 几何。)
但是,Buildings 图层与其他图层不同,因为它在属性字段中存储高程值。 之前打开属性表时,会在 Base Elevation 字段中看到这些值。 您需要将 Buildings 图层设置为根据这些值而不是地表进行绘制。
注:
如果地图图层将 z 值存储为其几何的一部分,则该图层为 3D 图层。 可通过属性表的 Shape 字段识别 3D 图层:值末尾会有一个 Z,例如 PointZ、PolylineZ 或 PolygonZ。 默认情况下,3D 图层使用其 z 值在 3D 空间中进行绘制。
- 在内容窗格中,右键单击 Buildings 图层,然后单击属性 。
- 在图层属性对话框中,单击高程选项卡。
要素设置为显示在地面上 - 换句话说,设置为使用场景的地面高程表面的值。 这是 2D 地图图层的默认设置。
- 单击要素为下拉箭头,然后单击在绝对高度 。
现在,可使用除地面高程表面以外的源中的高程值。
- 在其他要素高程使用下,确认已选中 A 字段。 单击表达式下拉箭头,然后单击基础高程。
- 确保垂直单位设置为米。 单击确定。
- 导航场景,然后从不同的视角进行查看。 放大以近距离查看。
在多个位置,建筑物部分陷入地形中。 这是因为 Buildings 图层属性表中的高程值与地面高程表面中对应位置的值不同。 图层中的值可能(可能不)更精确,但是您希望以看起来更真实的方式绘制图层。
- 在内容窗格中,双击 Buildings 图层打开其图层属性。
- 在高程选项卡中,单击要素位于下拉箭头,然后单击在地面上。 单击确定。
- 在快速访问工具栏上,单击保存工程 。