访问摄影测量数据和 3D 建筑解决方案

普莱森顿市的评估部门已为您提供 Nearmap 中航空影像产品的访问权限以及普莱森顿山脊底部一个分支机构的建筑物覆盖区。 下载这些数据后,您需将其添加到 ArcGIS Pro 工程,此工程是 3D 建筑物解决方案的一部分。 这些内容将共同为创建此社区的 3D 模型奠定基础。

获取 Nearmap 数据和工程文件

首先,您将下载并解压普莱森顿的 Nearmap 数据。 然后,您将下载一个 ArcGIS Pro 工程,其中包含有助于构建 3D 模型的步骤。

  1. 下载 Pleasanton .zip 文件,并将其内容提取到计算机上合适的位置。

    接下来,您将从 ArcGIS Online 下载 3D 建筑物解决方案 ArcGIS Pro 工程。

  2. 登录到 ArcGIS Online 组织帐户
    注:

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

  3. 单击应用程序按钮,然后从应用程序启动器中选择 Solutions

    Solutions 应用程序

  4. 选择 3D 建筑物解决方案。

    3D 建筑物解决方案

  5. 单击立即部署

    解决方案会将其关联的项目自动部署到 ArcGIS Online 中的内容选项卡中。

  6. 指向 3D 建筑物,然后单击打开

    打开解决方案。

    随即显示 3D 建筑物项目页面。

  7. 解决方案内容下,单击 3D 建筑物

    解决方案内容

  8. 单击下载按钮。

    下载按钮

    名为 3DBuildings 的压缩文件夹将自动下载到计算机的默认下载位置。

  9. 解压 3DBuildings .zip 文件并将其内容提取到计算机上的适当位置。
    注:

    确保 3DBuildings 文件夹的文件路径不包含任何带空格的文件。 这将在工作流中导致错误。

    现在,您已拥有城市的 Nearmap 数据和所需的 ArcGIS Pro 工程。

将 Nearmap 数据添加到工程

现在,您已拥有城市中的所需数据和解决方案的 ArcGIS Pro 工程,您要将城市数据添加到 3D 建筑物解决方案的场景或 3D 地图。

  1. 打开包含解压缩的文件的文件夹,然后打开 3DBuildings ArcGIS 工程文件。

    打开 3DBuildings ArcGIS 工程文件。

    ArcGIS Pro 随即打开,并且将为您提供世界的 3D 场景。 您要将普莱森顿的数据添加到场景。

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

    “添加数据”按钮

    随即显示添加数据窗口。

  3. 浏览至提取 Pleasanton 文件夹的位置。 打开 Pleasanton 文件夹,然后打开 Pleasanton 地理数据库。

    Pleasanton 地理数据库中的文件

    您要将 AI_BuildingsDSMDTM 数据集添加到地图。

  4. Ctrl 键,然后选择 AI_BuildingsDSMDTM 数据集 单击确定

    图层随即添加到场景中。

    数据集随即添加到地图中。

    AI_Buildings 面图层表示派生自 NearMap 人工智能和机器学习算法的建筑物覆盖区。

    DSM 栅格图层是一个数字表面模型。 栅格中的每个像素都表示地形的高程和及地面以上的要素(如建筑物、植被、塔和其他基础设施)。

    DTM 栅格图层是一个数字地形模型。 也称为数字高程模型 (DEM),每个像素都表示裸露地表的高程。 它不包括景观上要素的高程,例如树木或建筑物。

    DSMDTM 栅格的分辨率为 12 英寸。 换句话说,每个像素都表示地球上 12 英寸乘 12 英寸的区域。 在使用栅格时,通常情况下的最佳做法是使用具有相同分辨率的栅格。

    注:

    如果您是 Nearmap 的订阅者并想要使用您自己的数据,可以使用 MapBrowser 的 3D 导出工具提取您感兴趣区域的 DSM 和 DTM。 然后,使用导出 AI 内容提取您感兴趣区域的建筑物覆盖区。

    然后,您将重命名 AI_Buildings 图层。

  5. 内容窗格中,选择 AI_Buildings 图层。
  6. F2 键。 输入 Building Footprints,然后按 Enter 键。

    具有重命名的图层的“内容”窗格

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

    “保存”按钮

现在,数据已下载并添加到场景,您可以开始处理建筑物。


生成 3D 建筑物

您下载的 ArcGIS Pro 工程包括一系列任务,有助于引导您完成获取数据集并为其生成 3D 模型的过程。 您将使用您的三个图层和这些任务来创建普莱森顿的 3D 建筑物。 首先,您将创建一个 nDSM,当您想要提供建筑物高度和正确的屋顶形状时,需要使用此数据。

创建 nDSM

首先,您将使用栅格函数创建一个 nDSM 或标准化数字表面模型。 从 DSM 减去 DTM 时,将创建 nDSM。 结果是一个高程栅格,表示要素的地面高程,以及其高度。

  1. 如有必要,请在 ArcGIS Pro 中打开 3DBuildings 工程。

    您将使用栅格函数从 DSM 减去 DTM。

  2. 单击功能区上的影像选项卡。 在分析组中,单击栅格函数

    栅格函数按钮

    随即显示栅格函数窗格。

  3. 栅格函数窗格中,展开运算,然后单击

    栅格函数窗格

    工具可以将栅格数据集从另一个数据集中减去。

  4. 栅格设置为 DSM。 将栅格 2 设置为 DTM

    栅格和栅格 2 参数

    运行此函数之前,您将确保函数使用正确的像素输出类型运行。 此参数用于确定特定栅格文件可以存储的值的范围。 您将使用 32 位浮点型,以确保输出栅格中的小数位不会丢失。

  5. 单击常规选项卡。 将输出像素类型设置为 32 位浮点型

    包含“输出像素类型”参数的“常规”选项卡

  6. 单击新建图层

    栅格随即添加到地图。

    栅格随即添加到地图。

    默认名称需要更新;接下来,您将执行此操作。

  7. Minus_DSM_DTM 图层重名为 nDSM

    接下来,您将更改图层的符号系统,以便的更好地观察数据。

  8. 内容窗格中的 nDSM 下,右键单击符号。 从下拉菜单中,选中显示名称旁边的框。

    “显示名称”选项

  9. 选择高程 1 符号系统。

    高程 1 符号系统

    为了使此符号系统更加清晰,您将更改拉伸类型。 此操作将更改在地图上绘制栅格颜色时使用的直方图。 使用直方图均衡化拉伸类型将在场景中更好地显示高程数据。

  10. 在功能区上,单击栅格图层选项卡。 在渲染组中,单击拉伸类型下拉菜单,然后选择直方图均衡化

    “直方图均衡化”拉伸类型

    nDSM 图层将使用新的拉伸类型重新渲染;栅格中可以看到更多细节。

    nDSM 图层使用直方图均衡化拉伸类型重新渲染。

    创建 nDSM 图层后,您即可开始处理建筑物覆盖区。 在下一部分中,您将不会看到 nDSM,但是当您将建筑物覆盖区转化至三维时,此数据十分重要。

处理建筑物覆盖区

要开始处理建筑物覆盖区,您将使用提供的任务步骤将 DSM 栅格裁剪至每个建筑物覆盖区。 然后,高程将用于划分屋顶。 这意味着每个建筑物覆盖区都将根据屋顶不同部分的朝向进行细分。

  1. 目录窗格中,展开任务,然后双击 3D 建筑物

    3D 建筑物任务

    随即显示任务窗格。

    “任务”窗格中的 3D 建筑物任务

    3D 建筑物解决方案包括许多任务,但是对于城市工程,您将聚焦于发布建筑物任务组。

  2. 展开发布建筑物,然后双击预处理建筑物覆盖区

    预处理建筑物覆盖区任务

    打开的第一个任务步骤为使用要素分割建筑物覆盖区。 您无需使用此步骤,因此您将跳过该步骤。

  3. 单击跳过

    “跳过”按钮

    您将使用使用高程分割建筑物覆盖区任务步骤。 同样,此步骤将获取您的建筑物覆盖区并为其提供高度,然后将根据其不同的屋顶部分进行分割。

  4. 对于建筑物覆盖区,选择建筑物覆盖区

    “建筑物覆盖区”参数

  5. 对于高程表面 (DSM),选择 DSM

    “高程表面”参数

    接下来,您将设置工具的光谱细节。 这是为 DSM 中高度差异设置的重要性级别。 例如,在具有许多不同高度的屋顶面的高层建筑物所在的市中心区域,使用较低的光谱细节将导致仅在高程变化较大的地方创建分段。 相反,建筑物之间高度差异较小的联排式房屋可能需要更高的光谱细节才能完全分割。 值的有效范围从 1.0 到 20.0。 默认值为 13。

  6. 对于光谱细节,请确保值为 13

    “光谱细节”参数

    注:

    对于此参数以及随后的参数,默认值可以作为很好的起点。 您可能需要考虑尝试不同的值,直到获得所需的结果,具体取决您自己的数据集。

    接下来,您将设置光谱细节。 这是为 DSM 中要素的邻近性设置的重要性级别。 例如,要分割具有许多较小面的复杂建筑物,您可能需要使用更高的空间详细级别。 要平滑不需要制图表达的变化,例如停车场中的空调装置或汽车,您可能会使用更低的空间详细级别。 值的有效范围从 1.0 到 20.0。 默认值为 13。

  7. 对于空间细节,请确保值为 13

    “空间细节”参数

    接下来,您将设置最小分割大小。 此参数以像素为单位,用于控制潜在分割部分的最小尺寸。 如果潜在的分割部分小于设置的阈值,则该分割部分将与周围的分割部分合并。

  8. 对于最小分割大小,确保值为 555

    “最小分割大小”参数

    接下来,您将设置规则化容差。 这是为了将几何规则化为直角和对角,分割面可以调整的最大距离。 对于高分辨率表面栅格,最佳做法是设置像素大小的 5 到 10 倍的标准化容差,以平滑像素的硬直,同时保持高分辨率像素的细节。

  9. 对于标准化容差,在第一个参数中,输入 2,然后确保第二个参数已设置为

    “标准化容差”参数

  10. 对于输出分割建筑物,输入 Footprints

    “输出分割建筑物”参数

    注:

    工具运行时,_segmented 将自动添加到新数据集名称的末尾。

  11. 单击运行
    注:

    工具可能需要几分钟运行,具体取决于您的计算机硬件。

    现在,覆盖区已处理完成,您可以将其用于创建 3D 结构。

  12. 单击完成

    “完成”按钮

    在完成该任务后,任务窗格底部将显示一条消息。

创建 3D 建筑物

现在,您拥有了 nDSM 和分割的建筑物覆盖区,已可以开始创建建筑物的 3D 模型。 您将使用另一个任务来辅助此过程。

基于您的输入数据,您将使用细节层次 2 (LOD2) 创建建筑物。 细节层次指的是 3D 模型的几何复杂性。 有四个细节层次分类,从不太详细的 LOD0 到最详细的 LOD3:

  • LOD0 是一个没有高度或分割特征的平面。
  • LOD1 是一个包含高度特征的 3D 面。
  • LOD2 是一个包含屋顶形状的 3D 面。
  • LOD3 是一个包含屋顶形状以及与结构(窗户、门等)立面相关的细节的 3D 面。

细节层次比较

每个细节层次各有所长,您始终应该尽可能地使用适合工程需求的细节层次。 例如,制作城市真实的街道级别视图的用户可能需要 LOD3。 对于普莱森顿市的需求,LOD2 建筑物可提供矢量细节,以评估建筑物高度和分类屋顶特征。

  1. 任务窗格中,双击创建建筑物

    创建建筑物任务

    此任务仅具有一个步骤,将提取您之前创建或获取的数据集。

  2. 在工具中输入以下参数:
    • 对于建筑物,选择 Footprints_segmented
    • 对于高程表面,选择 DSM
    • 对于地面高程表现,选择 DTM
    • 对于归一化高程表面,选择 nDSM
    • 对于输出建筑物面,输入 BuildingsLOD2

    提取屋顶形态工具参数

    注:

    工具运行时,_roofform 将自动添加到新数据集名称的末尾。

  3. 展开 RoofForm

    处理每个建筑物时,这些工具参数可控制将屋顶视为具有坡度还是平坦。 您将使用默认值。

    RoofForm 参数

    要了解有关如何修改这些参数以调整输出建筑物的详细信息,请单击帮助按钮以查看提取屋顶形式文档。

    帮助按钮

  4. 单击运行
    注:

    工具可能需要几分钟运行,具体取决于您的计算机硬件。

  5. 任务窗格中,单击下一步

    随即显示任务中的下一步。

    使用程序规则步骤应用建筑物符号系统

    该任务的下一步是将 3D 符号系统应用于刚刚创建的输出建筑物图层。 一些任务步骤涉及运行工具,其他任务包含自行执行的步骤。 在此情况中,您将执行任务中列出的操作,以将 3D 符号系统分配给建筑物图层。

  6. 内容窗格中,右键单击 BuildingsLOD2_roofform 图层,然后选择符号系统
  7. 符号系统窗格中,单击现有符号。

    当前符号

  8. 单击属性选项卡,然后单击图层按钮。

    图层按钮

  9. 在当前面填充旁的下拉菜单中,选择程序填充

    程序填充选项

  10. 单击规则按钮。

    规则按钮

  11. 内容窗格中,将 BuildingsLOD2_roofform 重命名为 3D Buildings
  12. 单击浏览按钮,然后浏览至此工程所在的文件夹并双击 rule_packages 文件夹。 单击 LOD2BuildingShells_Meters.rpk 文件,然后单击确定

    选择规则包。

    注:

    您选择了米对应的规则包,因为您的地图单位为米。

    符号系统属性现在反映了您刚才分配的规则。

    规则包的符号系统属性

    为了更好的观察建筑物,您将更改屋顶和立面颜色。

  13. 显示选项下,将 FacadeColor 更改为浅棕色。 将 RoofColor 更改为浅灰色。

    显示选项

  14. 符号系统窗格的底部单击应用
  15. 内容窗格中,将 Buildings_LOD2 图层重命名为 3D Buildings。 将 3D Buildings 图层拖入 3D 图层部分中。

    将图层移至 3D 图层部分。

  16. 2D 图层 下,关闭每个图层。

    关闭 2D 图层下的每个图层。

  17. 单击功能区上的地图选项卡。 在图层组中,单击底图。 选择影像
  18. 使用浏览工具,倾斜视图以在 3D 中查看建筑物。

    符号化的建筑物

    现在,已拥有 3D 建筑物,您将浏览其属性。 城市不仅需要建筑的形状,还需要有关每个建筑物的信息。

  19. 内容窗格中,右键单击 3D Buildings,然后选择属性表

    属性表随即出现。 前几个属性来自 Nearmap 提供的原始 Building Footprints 图层。

    3D 建筑物的属性表

  20. 滚动到属性表的底部。

    建筑物信息属性

    已在创建 LOD2 建筑物时添加多个字段。 这些字段包含城市所需的所有数据。

    • BLDGHEIGHT(建筑物高度)是建筑物的最大高度。
    • EAVEHEIGHT(屋檐高度)是建筑物的最小高度。 无屋檐高度的建筑物采用平屋顶。
    • ROOFFORM(屋顶形态)是屋顶的形状。 屋顶形态可以为平屋顶、双坡屋顶或四坡屋顶。

    屋顶形态

    • BASEELEV(基础高程)是建筑物的基础高度,通常等于建筑物所在位置的地面高程。
    • ROOFDIR(屋顶方向)是屋顶面对的罗盘方向(以度为单位)。 仅双坡屋顶具有此字段值。
    • RoofDirAdjust(屋顶方向调整)是允许调整屋顶方向的字段。 默认值为 0。 将值设置为 1 时,屋顶将逆时针旋转 90 度,将值设置为 2 时,屋顶将旋转 180 度。 此字段用于手动编辑未正确提取的屋顶形态。

  21. 关闭属性表。
  22. 任务窗格中单击完成

    您成功创建并符号化了普莱森顿建筑物的 3D 制图表达。

融合建筑物

尽管您已具有 3D 建筑物,但技术上讲,它们仅是使用 3D 符号系统的 2D 面要素类。 在本课程的最后一部分,您将创建 3D 要素类。 将数据从 2D 转换为 3D 的过程称为融合。

  1. 任务窗格中,双击融合建筑物

    融合建筑物任务

    此工具将获取使用 3D 符号系统的 2D 面,将其转换为可以在 3D 模式下存储建筑物数据的多面体要素类。

  2. 设置以下参数:

    • 对于建筑物图层,选择 3D Buildings
    • 对于唯一 ObjectID,选择 BuildingFID
    • 对于输出建筑物多面体,输入 PleasantonBuildings

    融合建筑物构件参数

  3. 单击完成

    该工具随即运行。

  4. 内容窗格中,关闭 3D Buildings 图层。

    PleasontonBuildings 图层将在内容窗格中显示。 场景外观似乎没有变化,但是新的 PleasantonBuildings 图层是工程地理数据库中的多面体图层。

  5. 目录窗格中,展开数据库。 展开第一个 3DBuildings 地理数据库。

    您创建的所有数据集均在此处。

    注:

    如果数据库中缺少任何数据集,右键单击 3DBuildings 地理数据库,然后选择刷新

    数据库文件夹

    请注意 BuildingsLOD2_roofformPleasantonBuildings 要素类旁边的图标。 BuildingsLOD2_roofform 的符号表示 2D 面要素类,而 PleasantonBuildings 旁边的符号表示 3D 多面体。

  6. 保存工程。

在本教程中,您从 Nearmap 中获取了 DSM、DTM 和建筑物覆盖区,并将它们转换为城市的 3D 模型,以用于城市的规划和安全目的。

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