标注 | 说明 | 数据类型 |
输入高度源 | 为建模建筑物提供高程信息的栅格或镶嵌图层。 | Raster Layer; Mosaic Layer |
输入建筑物覆盖区 | 代表要提取的建筑物覆盖区的面要素。 | Feature Layer |
输出多面体要素类 | 将包含 3D 建筑模型的输出多面体要素。 | Feature Class |
细节层次 (可选) | 指定将在建筑物模型中用于生成屋顶的细节层次。 每个建筑物将从屋顶延伸到周围的地面。
| String |
平滑度级别 (可选) | 一个介于 0.0 和 1.0 之间的值,用于控制建筑物细节的保留或概化程度。 值越高,输出越简化;值越小,越有可能提取建筑物的子元素。 较高的值有助于最大限度地减少输入高程源参数中提供的高程源中的噪声的影响。 默认值为 0.5。 | Double |
提取精度 (可选) | 指定结果建筑物模型的整体精度。
| String |
摘要
使用建筑物覆盖区面和栅格高程表面创建 LOD2 建筑物的 3D 模型。
插图

使用情况
输出建筑物模型的特征由 CityGML 标准中的细节层次 (LOD) 概念描述。 本工具支持生成 LOD 1.2、LOD 1.3 和 LOD 2.0 级别的模型。 LOD 1.x 模型使用平坦的屋顶表示;LOD 2.x 模型则捕捉屋顶的坡度和方向。
建筑物覆盖区面应与栅格高程源中建筑物的高程剖面保持一致。 覆盖区和高程栅格之间的未对齐可能会导致输出要素变形。
每个建筑物覆盖区应代表一个连续的结构,没有任何面重叠。 属于同一建筑物的子元素应从覆盖区中排除。 可以通过运行融合工具来解决面重叠问题。
如果输入高程源噪声较大,请考虑提高平滑度级别,克服可能在输出 3D 建筑物中引入的变形。
参数
arcpy.ddd.ExtractLOD2Buildings(in_height_source, in_features, out_feature_class, {level_of_detail}, {smoothness_level}, {extraction_accuracy})
名称 | 说明 | 数据类型 |
in_height_source | 为建模建筑物提供高程信息的栅格或镶嵌图层。 | Raster Layer; Mosaic Layer |
in_features | 代表要提取的建筑物覆盖区的面要素。 | Feature Layer |
out_feature_class | 将包含 3D 建筑模型的输出多面体要素。 | Feature Class |
level_of_detail (可选) | 指定将在建筑物模型中用于生成屋顶的细节层次。 每个建筑物将从屋顶延伸到周围的地面。
| String |
smoothness_level (可选) | 一个介于 0.0 和 1.0 之间的值,用于控制建筑物细节的保留或概化程度。 值越高,输出越简化;值越小,越有可能提取建筑物的子元素。 较高的值有助于最大限度地减少 in_height_source 参数中提供的高程源中的噪声的影响。 默认值为 0.5。 | Double |
extraction_accuracy (可选) | 指定结果建筑物模型的整体精度。
| String |
代码示例
下面的示例演示了如何在 Python 窗口中使用此工具。
import arcpy
arcpy.env.workspace = "C:/data"
arcpy.ddd.ExtractLOD2Buildings("lidar/dsm_30cm.tif",
"city.gdb/building_footprints",
"city.gdb/buildings_3D",
"LOD1.3",
0.7,
"MEDIUM")