在 Advanced 许可等级下可用。
摘要
基于指定距离,查找简化建筑物相互之间重叠或距离过近的位置。
插图
用法
查找简化建筑物之间的冲突是简化建筑物工具后处理的一部分。因此,输入 coverage 中作为区域的建筑物必须是使用“简化建筑物”工具创建,而后使用清理工具通过 POLY 选项进行处理的。
此工具将帮助您找到建筑物位于指定距离内的哪一个位置。将在每个建筑物或每组已连接建筑物的周围创建缓冲区。如果缓冲区重叠,则表示出现冲突。项 FREQUENCY 将被添加到携带共享每个多边形的缓冲区编号的 out_cover.PAT 中。如果 FREQUENCY 值等于 1,则表示未出现冲突区域;如果 FREQUENCY 值大于等于 2(依重叠缓冲区的数目而定),则表示出现冲突区域。不会将一个组内的已连接建筑物视为彼此冲突。仅对此类组的外边界和相邻建筑物或建筑物组进行检查。
仅当发现冲突时才会创建输出 coverage。由于输入建筑物是区域,因此输出 coverage 也将为区域,只是包含子类 BUF。您可以选择并查看冲突区域(FREQUENCY 值大于等于 2 的多边形),然后进行必要的编辑。
语法
FindConflicts_arc (in_cover, out_cover, conflict_distance)
参数 | 说明 | 数据类型 |
in_cover | 输入 coverage,其中包含作为区域的建筑物、BLDGSIM 子类及 BDS-GROUP 项(使用简化建筑物工具创建,然后使用清理工具通过 POLY 选项进行处理而得到)。 | Coverage |
out_cover | 输出 coverage,其中包含重叠区域缓冲区(子类 BUF),用于显示建筑物之间的空间冲突。只有在找到冲突后,才会创建此 coverage。<out_cover> 名称与 <in_cover> 名称必须不同。 | Coverage |
conflict_distance | 以 coverage 单位为单位设置冲突距离。如果建筑物位于此距离之内,则被视为发生空间冲突。冲突距离必须大于 0。 | Double |
代码实例
FindConflicts 示例(独立脚本)
以下独立脚本说明了 FindConflicts 工具的使用方法。
# Name: SimplifyBuilding_Example.py
# Description: Simplifies a building coverage and finds conflicts in the output
# Requirements: ArcInfo Workstation
# Import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data"
# Set local variables for SimplifyBuilding
inSimplifyCover = "campus"
outSimplifyCover = "C:/output/tempcampus"
simplificationTolerance = 6
minimumArea = 55
# Set local variables for FindConflicts
inCover = outSimplifyCover
outCover = "C:/output/cartocampus"
conflictDistance = 5.5
# Execute SimplifyBuilding and Clean
arcpy.SimplifyBuilding_arc(inSimplifyCover, outSimplifyCover,
simplificationTolerance, minimumArea, "", "")
arcpy.Clean_arc(outSimplifyCover)
# Execute FindConflicts
arcpy.FindConflicts_arc(inCover, outCover, conflictDistance)
环境
许可信息
- ArcGIS for Desktop Basic: 否
- ArcGIS for Desktop Standard: 否
- ArcGIS for Desktop Advanced: 需要 已安装 ArcInfo Workstation