ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • 帮助
  • Sign Out
ArcGIS Desktop

ArcGIS Online

专为贵组织打造的制图平台

ArcGIS Desktop

全面的专业性 GIS

ArcGIS Enterprise

面向企业的 GIS

ArcGIS for Developers

用于构建位置感知应用程序的工具

ArcGIS Solutions

适用于行业的免费模板地图和应用程序

ArcGIS Marketplace

获取适用于组织的应用程序和数据

  • 文档
  • 支持
Esri
  • 登录
user
  • 我的个人资料
  • 登出

ArcMap

  • 主页
  • 入门
  • 地图
  • 分析
  • 管理数据
  • 工具
  • 扩展模块

解决建筑物冲突

  • 摘要
  • 插图
  • 用法
  • 语法
  • 代码示例
  • 环境
  • 许可信息

摘要

通过移动或隐藏建筑物解决建筑物间的符号冲突以及与线状障碍要素有关的符号冲突。

插图

解决建筑物冲突工具
使用解决建筑物冲突工具处理之前与处理之后的建筑物

用法

  • 该工具评估符号化要素的图形冲突。符号系统范围和参考比例会被结合起来考虑。仅在以下操作结束后再运行此工具:确定了符号的外观,并且确保参考比例与所需的最终输出比例相对应。

    要了解有关此工具的详细信息,请参阅解决建筑物冲突工作原理。

  • 警告:

    该工具不会生成输出图层,而是更改输入图层的源要素类。如果输入图层使用制图表达(其编辑行为被设置为存储形状覆盖)进行绘制,则经过修改的要素将以形状覆盖的形式存储在制图表达中。如果图层不是通过制图表达绘制的,则修改输入要素的几何。建议将冲突解决工具与制图表达结合使用。这样,当结果不可接受或使用不同的参数重新运行工具时,只需使用移除覆盖工具将覆盖移除即可。如果未使用编辑行为被设置为存储形状覆盖的制图表达,则强烈建议您创建输入要素的副本。

    了解有关制图表达的详细信息

  • 对于所有输入要素类,必须存在不可见性字段并且指定为相同的字段名。对于仍需显示的要素,将指定一个 0 值;对于应从显示中移除的要素,则指定一个 1 值。通过图层定义查询或选择操作可显示生成的简化集合(即 invisibility <> 1)。您可使用多个不可见性字段存储同一要素类的不同结果(对应于不同的输出比例)。

  • 对冲突进行评估之前,面状建筑物将被放大到最小容许建筑物大小参数所指定的最小大小。最小大小指的是最适合于要素的旋转边界框的最短侧的线性距离。要查看输出结果中的建筑物的最终大小,请向任一名为 RBC_SIZE 的输入建筑物要素类中添加一个双精度型或浮点型的字段。在工具处理的过程中,该字段将使用每个要素周围的旋转边界框的最短侧进行更新。

  • 等级字段参数是可选的。如果未指定等级字段参数,则将根据建筑物的周长及其与障碍之间的距离为建筑物指定其相对重要性。距离多处障碍较近的较大建筑物将被视为比距离一处障碍相对较远的较小建筑物更重要。您可使用部分填充的等级字段,其中只有重要建筑物使用等级值作为属性,而其他所有要素(等级值为 NULL)的相对重要性将在内部进行计算。

  • 如果使用了等级字段参数,可通过将建筑物的等级值指定为 0(零)强制建筑物保持可见。此工具将不会对这些建筑物进行掩膜。等级值为零的建筑物被视为局部重要,因此,如果未强制该建筑物保持可见,附近的建筑物可能会受到更大影响。仍可对等级值为零的建筑物进行变换(移动、旋转或调整大小)以解决冲突并与其他所需参数匹配。

  • 警告:

    如果输入要素未使用投影坐标系,则会发出一条警告消息。该工具基于线性距离单位,如果使用非投影坐标系,则将创建意外的结果。因此,强烈建议您对使用投影坐标系的数据运行此工具,以确保获得有效的结果。如果坐标系缺失或未知,则会生成一条错误消息并且工具将不执行处理操作。

  • 任何与障碍存在几何冲突的建筑物(即建筑物的实际几何与道路等障碍要素的实际几何相重叠,而不只是符号系统相重叠)均不会被移出障碍要素。这些建筑物可被标记以在冲突解决过程中进行掩膜,但不会被移动。冲突将保留。

  • 如果障碍要素的符号系统在几何中不是对称分布的(即线一侧的符号比另一侧粗),则在符号较细的障碍一侧,建筑物与障碍之间的间距看起来可能较大。

  • 处理大型数据集或同时处理多个障碍图层可能会超过内存限制。在这种情况下,考虑通过在分区要素环境设置中确定一个相关的面要素类来通过分区处理输入建筑物数据。将按顺序处理分区边界定义的建筑物数据的各部分。生成的图层无缝,而且在分区边界一致。有关通过分区运行该工具的详细信息,请参阅解决建筑物冲突的工作原理。

语法

ResolveBuildingConflicts_cartography (in_buildings, invisibility_field, in_barriers, building_gap, minimum_size, {hierarchy_field})
参数说明数据类型
in_buildings
[in_buildings,...]

包含可能存在冲突或者小于容许大小的建筑物要素的输入图层。建筑物可以是点或面。将对建筑物进行修改以解决它们与其他建筑物和障碍要素的冲突。

Layer
invisibility_field

存储不可见性值的字段,不可见性值可用于从显示中移除某些建筑物以解决符号冲突。值为 1 的建筑物将从显示中移除;值为零的建筑物将保留。对图层使用定义查询可只显示可见建筑物。不会删除任何要素。

String
in_barriers
[[Layer, Boolean, Linear Unit],...]

作为与输入建筑物要素存在冲突的障碍的所有线状要素或面状要素所在的图层。将对建筑物进行修改以解决建筑物与障碍之间的冲突。定向值为布尔值,用于指定是否应将建筑物定向到障碍图层。

间距用于指定建筑物应朝向或远离障碍图层所移动的距离。输入此值时必须带有单位。

  • 间距值 0(零)表示会将建筑物直接捕捉到障碍线或轮廓符号系统的边缘。
  • null(未指定)间距值表示除解决冲突所需的移动外,建筑物将不会移向或远离障碍线或轮廓线。

注:

如果输入间距值时未带有单位(如输入 10 而不是 10 米),将使用输入要素的坐标系的线性单位。

Value Table
building_gap

某比例下符号化的建筑物之间的最小容许距离。将移动或隐藏间距小于此距离的建筑物以保持此距离。最小容许距离将相对于参考比例进行设置(如,1:50,000 比例下为 15 米)。如果未设置参考比例,最小容许距离值为 0。

Linear Unit
minimum_size

经旋转的最佳大小边界框的最短侧的最小容许大小,此边界框位于以参考比例绘制的符号化的建筑物要素周围。会将边界框侧小于此值的建筑物进行扩大以达到此值。可能会不按比例来调整建筑物大小,这将导致建筑物的形态发生改变。

Linear Unit
hierarchy_field
(可选)

该字段包含要素重要性的等级级别,其中 1 表示非常重要,重要性随整数值的增大而递减。虽然可能会对建筑物进行一定程度的移动以解决冲突,但值 0(零)将强制建筑物保持可见。如果未使用此参数,此工具将根据要素的周长及其与障碍要素的距离对要素重要性进行评估。

String

派生输出

名称说明数据类型
out_layers

代码示例

ResolveBuildingConflicts 示例 1(Python 窗口)

以下 Python 窗口脚本演示了如何在即时模式下使用 ResolveBuildingConflicts 工具。

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.env.referenceScale = "50000"
arcpy.ResolveBuildingConflicts(["C:/data/footprints.lyr", "C:/data/bldg_points.lyr"],                                
                               "invisible",
                               [["C:/data/roads.lyr", "true", "5 Meters"],
                                ["C:/data/trails.lyr", "false", "10 Meters"],
                                ["C:/data/streams.lyr", "false", "5 Meters"]],
                               "10 meters", 
                               "15 meters", 
                               "bldg_hierarchy")
ResolveBuildingConflicts 示例 2(独立脚本)

此独立脚本显示的是使用 ResolveBuildingConflicts 工具的示例。

# Name: ResolveBuildingConflicts_standalone_script.py
# Description: Resolves the symbology conflicts between
#              buildings and nearby barriers,
#              in this case - roads
 
# Import system modules
import arcpy
from arcpy import env

# Set environment settings
env.workspace = "C:/data"
env.referenceScale = "50000"

# Set local variables
in_buildings = "C:/data/footprints.lyr;C:/data/bldg_pts.lyr"
invisibility_field = "invisible"
in_barriers = "'C:/data/roads.lyr' 'true' '5 Meters';\
              'C:/data/trails.lyr' 'false' '10 Meters';\
              'C:/data/streams.lyr' 'false' '5 Meters'"
building_gap = "10 meters"
minimum_size = "15 meters"
hierarchy_field = "bldg_hierarchy"

# Execute Resolve Building Conflicts
arcpy.ResolveBuildingConflicts(in_buildings,
                               invisibility_field,
                               in_barriers,
                               building_gap,
                               minimum_size,
                               hierarchy_field)

环境

  • 制图坐标系
  • 参考比例
  • 制图分区

许可信息

  • ArcGIS Desktop Basic: 否
  • ArcGIS Desktop Standard: 否
  • ArcGIS Desktop Advanced: 是

相关主题

  • 图形冲突工具集概述
  • 了解冲突解决和制图综合
  • 通过地理处理自动化冲突解决和制图综合的工作流
  • 解决建筑物冲突的工作原理
  • 简化建筑物
  • 聚合面
  • 使用分区概化大型数据集
  • 创建制图分区
  • 制图分区(环境设置)
  • 描绘构建区

ArcGIS Desktop

  • 主页
  • 文档
  • 支持

ArcGIS 平台

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

关于 Esri

  • 关于我们
  • 招贤纳士
  • Esri 博客
  • 用户大会
  • 开发者峰会
Esri
分享您的想法。
Copyright © 2019 Esri. | 隐私政策 | 法律声明