在 3D 模式下绘制威尼斯地图
添加栅格数据
如果您已创建过 2D 地图,则您可能对要素数据非常熟悉,即以离散对象或要素显示的数据。 尽管要素数据适合描绘建筑物、运河或地标等对象,但其并非描绘连续表面高程的最好办法。 为此,您将使用其他数据类型,即栅格数据。
栅格数据由许多像素组成,每个像素拥有各自的值。 尽管它看起来与要素数据不同,但是您可以使用相同的方法将其添加到地图。 首先,您将打开一个显示威尼斯 2D 地图的工程,其中包含要素数据。 然后,您将向地图中添加一个显示海拔高度的栅格图层。
- 如果您已完成本系列中的上一个教程:在 2D 模式下绘制威尼斯地图,请打开您在 ArcGIS Pro 中创建的 Venice 工程。
- 如果您未完成上一个教程,请下载 Map Venice in 3D 工程包。 定位已下载的工程包,然后双击该工程包以在 ArcGIS Pro 中将其打开。 如果收到系统提示,请使用您的 ArcGIS 帐户登录。
注:
如果您没有 ArcGIS Pro 的访问权限或者 ArcGIS 组织帐户,请参阅软件访问权限选项。
无论您是使用已在上一教程中创建的工程,还是已下载的工程包,您的工程都会包含一个地图,其中显示了威尼斯的建筑物、运河和地标。
接下来,您需要添加高程数据。
- 单击功能区上的地图选项卡。 在图层组中,单击添加数据按钮。
随即显示添加数据窗口。
注:
如果使用 ArcGIS Enterprise,请下载 Venice_Data.zip 并将其解压缩到您通过工程创建的工程文件夹。 浏览至 Venice_Data 并添加 Venice_Elevation_Data 项目。 出于门户安全性考虑,Enterprise 不允许用户搜索存储在 ArcGIS Online 中的项目。 数据必须托管在您的许可门户、ArcGIS Living Atlas 中或者进行本地托管。
- 在添加数据窗口中的门户下,单击 ArcGIS Online。
- 在搜索框中输入 Venice_Elevation_Data owner:Learn_ArcGIS,然后按 Enter 键。
- 双击 Venice_Elevation_Data 将其添加到地图中。
注:
文件包大小为 150 MB,需要下载几分钟,具体取决于您的网络连接情况。
该包包含两个图层:Venice 1m 和 Venice Ground Surface。
- 在内容窗格中,取消选中 Landmarks、Canals 和 Structures 旁边的对话框,仅保留 Venice 1m 和底图可见。
此图层为栅格图层。 在栅格图层中,每个像素存储各自的值。 图层的名称 Venice 1m 指的是其分辨率:像素的大小。 1m 意味着每个像素表示 1 平方米的面积。
此栅格图层是通过插值一系列点创建的。 由于使用插值方式,此栅格图层可能不够准确,因此其不适合用于实际分析。 但是,考虑到本教程的目的,将认为其可以满足您的需求。
- 在内容窗格中,单击威尼斯 1m 旁边的箭头查看其符号系统。
该图层针对不同的值具有不同的配色方案,而非一个单一符号。 值表示以米为单位的高程。 威尼斯的高程范围是从略低于海平面(深色)到海平面以上约 11 米(浅色) - 非常平坦的地形。
- 在地图上,单击栅格图层内的任意位置。
您单击的像素会显示一个弹出窗口。 在示例图像中,像素的高程约为海平面以上 1.04 米。
- 关闭弹出窗口。
通过检查地图可以总结出,威尼斯的大部分地区海拔仅 1 米左右,城市的东西两端海拔略高一些。 如此低洼的环境使威尼斯很容易受到洪水的影响。 要更好地了解威尼斯极为平坦的地形,您需要在 3D 模式下显示它。
将地图转换为场景
以前,地图在 2D 模式下显示数据。 场景则是在 3D 模式下显示数据的地图。 默认情况下,ArcGIS Pro 将把地图转换为全局场景,从而将整个世界描绘成一个球形地球。 由于您的感兴趣区域是威尼斯,而不是整个地球,所以您需要更改设置,这样地图就会转换成一个当地的场景。
- 单击功能区上的视图选项卡。 在视图组中,单击转换,然后选择至局部场景。
地图转换为 3D,并创建了名为 Map_3D 的视图。 您可以通过单击地图视图选项卡随时返回到 2D 地图。
- 在内容窗格中,取消选中 Venice 1m 将其关闭。 选中 Landmarks、Canals 和 Structures 以将其打开。
场景中,图层将指定为 3D 或 2D 模式。 目前,您的图层为 2D 图层,这是它们仍为平面的部分原因。 您将在本教程的稍后部分中对其进行更改。
- 通过按住 V 键并拖动指针以倾斜并旋转场景来导航 3D 场景。 平移和缩放的方法与在 2D 地图中相同。 您还可以通过右键单击来进行缩放。
威尼斯地势的平坦和远处的山体形成对比。 既然栅格图层并未延伸至威尼斯以外,那么山体是从哪里来的呢? 默认情况下,场景使用名为高程表面的高程数据地图,以确定地面的高程。 该默认表面覆盖整个世界,但分辨率较低(意味着细节较少)。
- 单击功能区上的地图选项卡。 在导航组中,单击书签,然后选择 Venice。
注:
当您将地图转换为场景时,您也将地图的 2D 书签转换为了 3D 书签。 目前两组书签是相同的,因此您可以使用其中任意一组。
添加高程源
出于可视化目的,默认地表准确地将威尼斯描绘得非常平坦。 然而,由于分辨率较低,因此其可能不够详细。 您需要添加一个高分辨率栅格图层作为新的高程表面。
- 在内容窗格中,选中 Venice Ground Surface 图层并将其开启。
Venice Ground Surface 图层的高程数据与 Venice 1m 图层的高程数据相似,但是还包括周围一些泻胡的海平面高程数据。 其他数据为威尼斯高程提供了相关信息,并对场景的设置提供了帮助。 您将使用此图层作为地面高程。
- 在内容窗格中,右键单击 Venice Ground Surface,指向高程,然后选择在地面中复制。
venicesource 图层随即被添加到内容窗格中,位于高程表面部分下。 共有两个高程源。 第一个是您刚刚添加的 venicesource 图层,第二个是默认表面。
新高程源设置为威尼斯周围区域的地面。 默认的高程值还可用于威尼斯以外的区域,这样您依然能够看到后台的山体。
- 在内容窗格中的 2D 图层下,取消选中威尼斯地表以将其关闭。
- 平移、缩放和倾斜以导航至场景,并更好地查看新地面高程。
您可能不得不缩放得非常近才能看到高程的变化 - 威尼斯真的非常平坦和低洼。 从高程的严重缺乏可以看出威尼斯洪水的严重性。
- 完成后,导航至 Venice 书签。
在 3D 模式下显示要素
如您倾斜场景时所见,Landmarks 图层显示为 2D 图层,其图钉符号在地面上呈平面状态。 尽管此图层没有高程数据,但您可以通过更改图层的显示方式为图钉符号指定深度。
- 在内容窗格的 2D 图层下,将 Landmarks 图层从 2D 图层部分拖动到 3D 图层部分中。
当您在 3D 模式下旋转和平移地图时,图钉显示为直立状态。
另一个图层 Structures 图层目前是平的,但可以在 3D 模式下显示。 与 Landmarks 图层不同,Structures 图层的属性中包含高度数据。 要在 3D 模式下显示此图层,您需要使用拉伸命令,它将使用一个常量或属性作为 z 值以在 3D 模式下显示要素。
- 在内容窗格中,将 Structures 图层从 2D 图层部分拖动到 3D 图层部分中,将其放置在 Landmarks 图层下。
Structures 图层的外观发生了轻微的更改,但依然是平的。 要拉伸要素,您需要使用一个属性来确定每个要素的 z 值。
- 在内容窗格中,右键单击 Structures 并选择属性表。
该表有 5 个字段,其中一个字段为 Height。 您将使用此字段中的值拉伸 Structures 图层。
- 关闭属性表。
- 在要素图层选项卡上的拉伸组中,单击类型按钮并选择最大高度。
注:
要素图层选项卡与上下文相关,这意味着它只能在特定情况下显示。 仅当在内容窗格中选择一个图层时,此选项卡才会显示。 确保已选中 Structures 图层,才能继续操作。
- 在拉伸组中,对于字段,选择 Height。 确认单位参数设置为米。
元素已拉伸,这意味着已根据选中的字段赋予了它们高度值。 现在它们在地图上显示为 3D 模式。
- 浏览场景。 完成后,导航回 Venice 书签。
- 保存工程。
您已将 2D 地图转换为场景并调整了高程和渲染设置,从而更有效地显示了数据。 从您的观测中可以发现,威尼斯非常低洼和平坦,即使是小规模的水位上涨,也会使其面临危险。
在本教程中,您学到了许多涉及 ArcGIS Pro 中 3D 模式的基本工作流。 您可以将这些工作流应用于其他位置,并以 3D 方式探索世界。
您可以在教程库中找到更多教程。