摘要
在保持建筑物基本形状和大小不变的前提下简化建筑物面的边界或轮廓。
插图
用法
最小面积参数仅适用于简化的建筑物。任何在简化过程完成后小于最小面积的建筑物都将从输出要素类中移除。
输出要素类将包含名为 BLD_STATUS 的字段来指明简化状态,如下所示:
- 1 = 已简化单个建筑物
- 2 = 已将单个建筑物简化为自身的最小外接矩形
- 3 = 已将小于平方容差的建筑物简化为自身的最小外接矩形
- 5 = 尚未简化建筑物
如果使用了检查空间冲突参数,则该工具将检测空间冲突并将名为 SimBldFlag 的新字段添加到输出中以存储冲突标记。值为 0 意味着无冲突;值为 1 意味着存在冲突。
该工具不能在编辑会话下执行。
如果在“环境设置”中指定了输入 z 值,则输入 z 值可保留。在输出折点与输入要素折点的重合处,z 值将传递到输出折点。在其他位置,将从现有的 z 值或通过插值得到 z 值。
在简化的过程中,可能创建无效(自相交)的几何,并将对无效的几何进行修复,但不会将其改进。例如,如果一个面与自身交叉,则该面将成为多部分面,但显示效果依然是自相交。
处理大型数据集可能会超出内存限制。在这类情况下,考虑通过在 Cartographic Partitions 环境设置中确定一个相关的面要素类来通过分区处理输入数据。将按顺序处理分区边界定义的数据部分。生成的要素类无缝,而且在分区边界一致。有关详细信息,请参阅使用分区概化大型数据集。
语法
SimplifyBuilding_cartography (in_features, out_feature_class, simplification_tolerance, {minimum_area}, {conflict_option})
参数 | 说明 | 数据类型 |
in_features | 要简化的建筑物面。 | Feature Layer |
out_feature_class | 要创建的输出要素类。 | Feature Class |
simplification_tolerance | 设置建筑物的简化容差。必须指定一个容差,且值必须大于零。可以选择首选单位;默认为要素单位。 | Linear Unit |
minimum_area (可选) | 使用要素单位来设置要保留的简化建筑物的最小面积。默认值为零,即保留所有建筑物。可以指定首选单位;默认为要素单位。 | Areal Unit |
conflict_option (可选) | 指定是否检查建筑物之间的潜在冲突,即叠置或接触。将名为 SimBldFlag 的字段添加到输出,以存储冲突标记。值为 0 意味着无冲突;值为 1 意味着存在冲突。
| Boolean |
代码示例
简化建筑物 (SimplifyBuilding( 示例 1(Python 窗口)
以下 Python 窗口脚本演示了如何在即时模式下使用 SimplifyBuilding 函数。
import arcpy
import arcpy.cartography as CA
arcpy.env.workspace = "C:/data"
CA.SimplifyBuilding("buildings.shp", "C:/output/output.gdb/simplified_buildings", 10)
简化建筑物 (SimplifyBuilding) 示例 2(独立脚本)
以下独立脚本演示了如何使用 SimplifyBuilding 函数。
# Name: SimplifyBuilding_Example2.py
# Description: Aggregate building features and then simplify them
# Import system modules
import arcpy
import arcpy.cartography as CA
# Set environment settings
arcpy.env.workspace = "C:/data/Portland.gdb/Buildings"
# Set local variables
inBuildingFeatures = "houses"
aggregatedFeatures = "C:/data/PortlandOutput.gdb/residential_areas"
simplifiedFeatures = "C:/data/PortlandOutput.gdb/residential_simplified"
# Aggregate house polygons.
CA.AggregatePolygons(inBuildingFeatures, aggregatedFeatures, 10, 100, 100, "ORTHOGONAL")
# Simplify residential building polygons.
CA.SimplifyBuilding(aggregatedFeatures, simplifiedFeatures, 10, 100, "CHECK_CONFLICTS")
环境
许可信息
- ArcGIS Desktop Basic: 否
- ArcGIS Desktop Standard: 否
- ArcGIS Desktop Advanced: 是