检测图形冲突 (制图)
摘要
在两个或多个符号化的要素发生图形冲突的位置创建面。
插图
用法
-
此工具可评估符号(而不是几何)之间的冲突。输入图层和冲突图层可以相同。
可以使用标准符号或制图表达符号系统对输入图层进行符号化。输入图层可包括要素类注记(包括符号替换)。Shapefile、coverage 和 CAD 图层也是可接受的输入。
此工具不接受以下输入:CAD、coverage 或 VPF 注记、尺寸、图表、点密度或比例符号、栅格图层、网络分析图层或 3D 符号。
输出要素类存储面,每个面表示符号化的输入要素与符号化的冲突要素之间图形冲突的区域。与这两个冲突要素关联的要素 ID 与冲突面一同存储在 FID_<input_layer_name> 和 FID_<conflict_layer_name> 字段中。如果冲突图层与输入图层相同,则第二个字段将被命名为 FID_<input_layer_name>_1。如果没有发现图形冲突,则输出要素类将为空。
-
使用冲突距离参数检测输入和冲突符号系统比指定距离近的区域。将在符号周围创建大小为冲突距离值一半的临时缓冲区。将在这些缓冲区叠置的任意位置生成冲突面。当冲突距离为零时,在符号系统本身叠置的位置检测冲突;这是默认值。冲突计算以参考比例为基础。如果从 ArcMap 中访问此工具,将使用包含输入图层的数据框的参考比例,除非“参考比例”环境设置已设置。必须指定环境设置才能从 ArcCatalog 中执行此工具。
-
使用线连接容许值参数可以忽略对线端点相交处符号叠置的检测。如果使用线符号端头确保线直观连接,但是不想把每个实例作为冲突来检测,这非常有用。线连接容许值采用页面单位,与参考比例相关。它等于中心位于线连接位置的圆的半径,在此圆内不会检测到图形叠置;默认值为 1 磅。使用至少为线符号一半宽度的值来忽略上述连接。零值意味着没有容许值,并且在这种情况下将检测每个线连接处的冲突。仅在输入图层和冲突图层相同时,才考虑此参数。
该工具评估符号化要素的图形冲突。符号系统范围和参考比例会被结合起来考虑。仅在以下操作结束后再运行此工具:确定了符号的外观,并且确保参考比例与所需的最终输出比例相对应。
语法
参数 | 说明 | 数据类型 |
in_features |
包含符号化要素的输入要素图层。 | Layer |
conflict_features |
包含可能与输入图层中符号化要素产生冲突的符号化要素的要素图层。 | Layer |
out_feature_class |
为存储冲突面而要创建的输出要素类。它不能为与输入图层关联的任何一个要素类。 | Feature Class |
conflict_distance (可选) |
设置冲突距离。将在输入和冲突图层中的符号周围创建大小为冲突距离值一半的临时缓冲区。将在这些缓冲区叠置的位置生成冲突面。冲突距离以页面单位(磅、英寸、毫米、厘米)测量。如果以地图单位输入冲突距离,则会使用参考比例将其转换为页面单位。默认冲突距离为 0,此时不创建缓冲区,而且只会将物理上互相叠置的符号检测为冲突。 | Linear unit |
line_connection_allowance (可选) |
中心位于线连接位置的圆的半径,在此圆内不会检测到图形叠置。仅在输入图层和冲突图层相同时,才考虑此参数。零容许值将检测各线连接处的冲突(如果端头叠置)。以页面单位(磅、英寸、毫米、厘米)计算线连接容许值。如果以地图单位输入冲突距离,则会使用参考比例将其转换为页面单位。该值不能为负;默认值是 1 磅。 | Linear unit |
代码示例
以下 Python 窗口脚本演示了如何在即时模式下使用 DetectGraphicConflict 工具。
import arcpy from arcpy import env env.workspace = "C:/data/cartography.gdb/buildings" env.referenceScale = "50000" arcpy.DetectGraphicConflict_cartography("footprints.lyr", "roads.lyr", "C:/data/cartography.gdb/buildings/dgc_polys", "25 meters", "0 meters")
此独立脚本显示的是使用 DetectGraphicConflict 工具的示例。
# Name: DetectGraphicConflict_standalone_script.py # Description: Detects graphic conflicts between feature representations and stores the overlaps as polygons in the output feature class. # Import system modules import arcpy from arcpy import env # Set environment settings env.workspace = "C:/data/cartography.gdb/buildings" env.referenceScale = "50000" # Set local variables in_features = "footprints.lyr" conflict_features = "roads.lyr" out_feature_class = "C:/data/cartography.gdb/buildings/dgc_polys" conflict_distance = "25 meters" line_connection_allowance = "0 meters" # Execute Detect Graphic Conflict arcpy.DetectGraphicConflict_cartography(in_features, conflict_features, out_feature_class, conflict_distance, line_connection_allowance)