访问摄影测量数据

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

获取数据和工程

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

  1. 下载 Pleasanton.zip 文件。 将该文件提取到计算机上的合适位置。

    接下来,您将从 ArcGIS Solutions 下载一个 ArcGIS Pro 工程,即一系列行业特定的应用、地图和工作流的集合。 您将使用 3D 建筑物解决方案,该解决方案已配置用于绘制 3D 建筑物。

  2. 登录到您的 ArcGIS 组织账户。
    注:

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

  3. 在功能区中,单击应用程序按钮,然后选择解决方案。

    Solutions 应用程序

    随即显示解决方案库。

  4. 在搜索栏中,输入 3D 建筑物。
  5. 在结果列表中,单击 3D 建筑物解决方案。

    3D 建筑物解决方案

    随即将显示一个页面,其中包含有关该解决方案的详细信息。 根据该页面,此解决方案可用于开发一组标准的 3D 图层,并以沉浸式方式可视化社区。

  6. 单击部署。

    “部署”按钮

    要部署解决方案,您必须为其指定唯一的名称。

  7. 在部署 3D 建筑物窗口中,对于解决方案名称,输入 3D 建筑物,并添加您的姓名或姓名缩写,使名称唯一。 单击部署。

    该解决方案随即部署。 您将转到部署页面,其中列出了包含的项。 该部署包含一个项,即一个可在 ArcGIS Pro 中打开的桌面应用程序模板。

  8. 在内容下,展开桌面应用程序模板 (1)。 单击 3DBuildings。

    3DBuildings 桌面应用程序模板

    随即将显示 3DBuildings 详细信息页面,列出有关该项的更多信息。 您将下载该项,以便在 ArcGIS Pro 中使用它。

  9. 单击下载按钮。

    “下载”按钮

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

  10. 将 3DBuildings .zip 文件提取到计算机上的合适位置。
    注:

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

向工程添加数据

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

  1. 打开 3DBuildings 文件夹,然后双击 3DBuildings ArcGIS 工程文件 (.aprx),以在 ArcGIS Pro 中打开它。 如果出现提示,请登录 ArcGIS 账户。
    注:

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

    工程随即打开,显示默认 3D 场景。 您要将 Pleasanton 数据添加到场景中。

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

    “添加数据”按钮

    随即显示添加数据窗口。

  3. 浏览至您解压 Pleasanton 文件夹的位置。 打开 Pleasanton 文件夹和 Pleasanton 地理数据库。

    Pleasanton 地理数据库中的文件

    您将把 AI_Buildings、DSM 和 DTM 数据集添加到场景中。

  4. 按 Ctrl 键,然后选择 AI_Buildings、DSM 和 DTM 数据集 单击确定。

    图层随即添加到场景中。

    场景中的数据集

    注:

    建筑物图层具有随机符号系统。 其颜色可能与示例图像不同。 图层颜色不会影响工作流。

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

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

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

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

    注:

    如果您是 Nearmap 订阅者并希望使用自己的数据,请使用 Map Browser 的导出 3D工具提取您感兴趣区域的 DSM 和 DTM。 AI 内容可通过 API 和离线交付访问。 要了解有关如何访问 Nearmap AI 的详细信息,请阅读访问 AI 内容。

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

  5. 在内容窗格中,单击 AI_Buildings 图层以将其选中。
  6. 按 F2 键。 输入 Building Footprints,然后按 Enter 键。

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

  7. 在快速访问工具栏中,单击保存工程按钮。

    “保存工程”按钮

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


生成 3D 建筑物

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

创建 nDSM

nDSM(归一化数字表面模型)是通过从 DSM 中减去 DTM 而创建的。 结果是一个高程栅格,表示要素的地面高程,以及其高度。 您将使用栅格函数创建 nDSM。

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

    栅格函数按钮

    随即显示栅格函数窗格。

  2. 在栅格函数窗格中,展开运算,然后单击减。

    栅格函数窗格

    减栅格函数用于将一个栅格数据集从另一个中减去。

  3. 对于栅格,选择 DSM。 对于 Raster2,选择 DTM。

    栅格和栅格 2 参数

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

  4. 单击常规选项卡。

    “常规”选项卡

  5. 对于输出像素类型,选择 32 位浮点型。

    输出像素类型参数

  6. 在窗格底部,单击创建新图层。

    Minus_DSM_DTM 栅格随即添加到地图中。

    地图上的 Minus_DSM_DTM 栅格

  7. 关闭栅格函数窗格。
  8. 将 Minus_DSM_DTM 图层重名为 nDSM。

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

  9. 在内容窗格中,对于 nDSM,右键单击符号。 单击下拉菜单,然后选中显示名称旁的复选框。

    “显示名称”选项

  10. 单击下拉菜单,然后选择高程 #1 符号。

    高程 #1 符号

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

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

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

    nDSM 图层随即以新的拉伸类型渲染。 栅格中可见更多细节。

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

    nDSM 创建完成后,您就可以开始处理建筑覆盖范围了。

处理建筑覆盖范围

接下来,您将使用解决方案中包含的任务,将 DSM 栅格裁剪至每个建筑覆盖范围。 然后,您将使用高程来分割屋顶。 结果将是,每个建筑覆盖范围将根据屋顶不同部分的朝向进行细分。

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

    如果您未看到目录窗格,请单击功能区上的视图选项卡。 在窗口组中,单击目录窗格。

    3D 建筑物任务

    随即显示任务窗格。 3D 建筑物解决方案包含许多任务,但对于该城市的工程,您将重点关注发布建筑物任务组。

    注:

    如果出现窗口要求您确认要运行的工具箱代码,请单击是。

  2. 在任务窗格中,展开创建和发布 3D 建筑物。 双击预处理建筑物覆盖区(可选)。

    预处理建筑物覆盖区(可选)任务

    第一个任务步骤是使用要素分割建筑覆盖范围。 您不会使用此步骤,因此将跳过它。

  3. 在窗格底部,单击跳过。

    “跳过”按钮

    您将使用使用高程分割建筑物覆盖区任务步骤。 此步骤将为您的建筑覆盖范围赋予高度,并根据其不同的屋顶部分进行拆分。

  4. 对于建筑物覆盖区,选择建筑物覆盖区。 对于高程表面 (DSM),选择 DSM。

    建筑物覆盖区和高程表面参数

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

  5. 对于光谱细节,请确保值为 13。
    注:

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

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

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

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

  7. 对于最小分割大小(以像素为单位),确保该值为 555。

    “光谱细节”、“空间细节”和“最小分割大小”参数

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

  8. 对于标准化容差,在第一个参数中,输入 2。 确保第二个参数设置为米。

    “标准化容差”参数

  9. 对于输出分割建筑物,删除现有文本,然后输入 Footprints。

    “输出分割建筑物”参数

    注:

    运行该工具时,_segmented 将自动添加到输出名称的末尾。

  10. 单击运行。
    注:

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

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

  11. 单击完成。

    “完成”按钮

创建 3D 建筑物

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

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

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

细节层次比较

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

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

    “创建建筑物”任务

    此任务的第一步提取屋顶形态信息将根据您之前创建或获取的数据集,确定每栋建筑的屋顶形态。

  2. 输入以下参数:
    • 对于建筑物,选择 Footprints_segmented。
    • 对于高程表面 (DSM),选择 DSM。
    • 对于地面高程表面 (DTM),选择 DTM。
    • 对于归一化高程表面 (nDSM),选择 nDSM。
    • 对于输出建筑物面,输入 Buildings_LOD2。

    “提取屋顶形态信息”工具参数

    注:

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

  3. 展开 RoofForm。

    RoofForm 参数

    RoofForm 参数控制在处理每栋建筑时,屋顶何时被视为倾斜或平坦。 您将对这些参数使用默认值。

  4. 单击运行。
    注:

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

  5. 工具运行完成后,单击下一步。

    “下一步”按钮

    随即显示任务中的下一步。 此步骤是向您刚创建的输出建筑物图层应用 3D 符号系统。 一些任务步骤涉及运行工具,其他任务包含自行执行的步骤。 在本例中,您将自行对建筑物进行符号化。

    默认情况下,已向该图层应用 3D 符号系统。 但是,建筑物具有白色的立面和屋顶,无法突出屋顶形状。 您将更改符号的颜色。

  6. 在任务窗格的底部,单击内容选项卡。

    “内容”选项卡

  7. 在内容窗格中,对于 Buildings_LOD2_roofform 图层,单击符号。

    当前符号

    将显示符号系统窗格,其中包含符号库。 您将使用解决方案中包含的规则包中的符号。

  8. 在符号系统窗格中,单击属性选项卡。

    属性选项卡

  9. 单击图层按钮。

    “图层”按钮

  10. 向下滚动至显示选项。 对于 FacadeColor,选择浅赭色。

    浅赭色

    提示:

    要在颜色选取器中查看颜色名称,指向该颜色。

  11. 对于 RoofColor,选择灰色 50%。

    FacadeColor 和 RoofColor 参数

  12. 在符号系统窗格的底部单击应用。
  13. 关闭符号系统窗格。 在内容窗格中,将 Buildings_LOD2_roofform 图层重命名为 3D Buildings。
  14. 在 2D 图层 下,关闭每个图层。

    关闭了 2D 图层的“内容”窗格

    您将更改底图,以显示卫星影像作为 3D 建筑物的背景。

  15. 单击功能区上的地图选项卡。 在图层组中,单击底图并选择影像。

    “底图库”中的“影像”选项

  16. 倾斜、平移和缩放场景,以 3D 方式查看建筑物。

    场景中已符号化的建筑物

    您还将浏览 3D 建筑物的属性。 该城市需要有关每个建筑的详细信息,而不仅仅是其形状。

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

    图层的属性表随即显示。 前几个字段来自 Nearmap 提供的原始 Building Footprints 图层。

    3D 建筑物的属性表

  18. 滚动至表的末尾。

    建筑物信息属性

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

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

    屋顶形态

    • BASEELEV(基础高程)建筑物的基础高度,通常等于建筑物所在位置的地面高程。
    • ROOFDIR(屋顶方向)屋顶面对的罗盘方向(以度为单位)。 仅双坡屋顶具有此字段值。
    • RoofDirAdjust(屋顶方向调整)是允许调整屋顶方向的字段。 默认值为 0。 将值设置为 1 时,屋顶将逆时针旋转 90 度,将值设置为 2 时,屋顶将旋转 180 度。 此字段用于手动编辑未正确提取的屋顶形态。
  19. 关闭属性表。
  20. 在内容窗格底部,单击任务选项卡。 在任务窗格中单击完成。

融合建筑物

您的 3D 建筑物在技术上只是一个具有 3D 符号系统的 2D 面要素类。 要最终完成您的建筑物,您将创建一个 3D 要素类。 将数据从 2D 转换为 3D 的过程称为融合。

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

    “融合建筑物”任务

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

  2. 设置以下参数:
    • 对于建筑物图层,选择 3D Buildings。
    • 对于唯一 ObjectID,选择 BuildingFID。
    • 对于输出建筑物多面体,输入 PleasantonBuildings。

    “融合建筑物”工具参数

  3. 单击完成。

    工具随即运行,任务完成。 Pleasanton_Buildings 图层随即添加到场景和内容窗格中。

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

    场景似乎没有变化,因为 Pleasanton_Buildings 图层(仍处于打开状态)与 3D Buildings 图层完全相同。 该图层作为多面体要素类保存在工程地理数据库中。

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

    您创建的所有数据集都位于此地理数据库中。

    注:

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

    数据库文件夹

    Buildings_LOD2_roofform 的符号表示 2D 面要素类,而 Pleasanton_Buildings 旁的符号表示 3D 多面体要素类。

  6. 保存工程。

在本教程中,您从 Nearmap 中获取了 DSM、DTM 和建筑物覆盖区,并将它们转换为城市的 3D 模型,以用于城市的规划和安全目的。 只要您拥有 DSM、DTM 和建筑覆盖范围,就可以对任何研究区域执行此工作流。 请尝试为您自己的城市或感兴趣区域创建一个 3D 多面体要素类。

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