交叉图层掩膜 (制图)

摘要

在两个符号化输入图层(“掩膜”图层和“被掩膜”的图层)的相交处按照指定的形状和大小创建掩膜面。

了解更多有关要素轮廓线掩膜和交叉图层掩膜的工作原理

使用情况

  • 该工具接受点、线和面要素图层以及地理数据库注记图层作为输入。

  • 通常,边距大于 0。 如果边距大小为 0,将创建表示符号化要素的确切形状的掩膜。

  • 向地图添加掩膜将增加地图的复杂性,从而降低地图的绘制速度并影响最终的打印和导出。 通常,为地图创建掩膜时要考虑三个方面:掩膜的数量、掩膜的复杂性,以及是否用于对用标记或线符号填充的面要素执行掩膜操作。 所有这些操作都将导致屏幕上的绘制速度降低。 此外,打印和导出两种操作的性能也会变得很糟,甚至无法生成有效的输出。 这是因为打印并导出含有掩膜的地图需要执行处理操作;而且如何使用图形文件格式存储具有许多复杂掩膜的地图导出结果受到已知的限制。

  • 如需提高绘图性能、打印和导出性能以及可靠性,请根据地图的用途,使用必要的而且是最简单的掩膜。 特别是使用掩膜类型参数对注记文本执行掩膜操作时,凸多边形选项足以实现许多地图用途。 如果需要更为详细的文本掩膜,请使用精确简化选项。 在相对较大的地图上对大量文本执行掩膜操作时,应避免使用精确选项,因为该类型的掩膜会创建过多的复杂掩膜以至于无法高效地生成有效的输出。

  • 边距值可使用页面单位或地图单位指定。 通常,边距距离值以页面单位指定。

    所选的单位不同,对边距值单位的解释也不同。 如果选择磅、英寸、毫米或厘米,则掩膜将通过在页面空间中计算出的边距来创建(可将边距视为纸上测量出的距离)。 此计算会将参考比例参数值纳入考量范围。

    如果您为边距值选择其他单位,则掩膜将通过在地图空间中计算出的边距来创建(可将边距视为地球上测量出的真实距离)。 并且在这种情况下,计算中不会考虑参考比例参数值。

  • 如果其中某一个输入图层是注记图层,则参考比例将自动设置为图层的要素类的参考比例,以确保掩膜计算的准确性。 如果正在交叉两个注记图层,则这两个注记图层必须具有相同的参考比例。

  • 对动态投影的注记执行掩膜操作时,应通过计算坐标系参数对地图的空间参考进行适当的设置,然后利用地图的空间参考来创建掩膜。 对文本进行动态投影时,保留了可读性,所以在不同的投影中,文本所在的空间区域可能存在差异。

  • 注记要素的掩膜是字体特定的。 使用含文本的掩膜时,要保证屏幕上和输出中使用的字体相同。 为此,请将字体嵌入到矢量输出中或下载 SoftFonts 到打印机或绘图机。

  • 同时处理大型数据集可能会超出内存限制。 在这种情况下,考虑通过在制图分区环境设置中确定一个相关的面要素类来通过分区处理输入数据。 将按顺序处理分区边界定义的数据部分。 输出要素类无缝,而且在分区边界一致。

  • 将基于当前地图旋转来创建掩膜,在创建掩膜后,如果将地图设置为不同的旋转,则掩膜可能无效。

参数

标注说明数据类型
掩膜图层

将与被掩膜的图层相交以创建掩膜面的符号化输入图层。 这就是对被掩膜的图层应用掩膜时将显示的图层。

Annotation Layer
被掩膜的图层

将掩膜的符号化输入图层。 这就是将被掩膜面遮挡的图层。

Annotation Layer
输出要素类

含有掩膜要素的要素类。

Feature Class
参考比例

在使用页面单位指定掩膜时,将用于计算掩膜几何的参考比例。 该比例通常是地图的参考比例。

Double
计算坐标系

将创建掩膜面的地图的空间参考。 该空间参考不是要分配给输出要素类的空间参考。 它是地图的空间参考;由于投影要素时,符号系统的位置可能发生变化,所以在该空间参考内将使用掩膜面。

Spatial Reference
边距

在用于创建掩膜面的符号化输入要素周围的间距(使用页面单位)。 通常,创建掩膜面时,在符号的周围留有小边距,以提高显示效果。 边距值可使用页面单位或地图单位指定。 大多数情况下,边距距离值以页面单位指定。

边距值不能为负。

Linear Unit
掩膜类型

指定要创建的掩膜几何类型。

  • 创建表示符号化要素的范围的面。
  • 凸包创建要素的符号化几何的凸多边形。 这是默认设置。
  • 精确简化创建表示符号化要素的确切形状的概化面。 与使用精确选项创建的面相比,使用该方法创建的面的折点数将显著降低。
  • 精确创建表示符号化要素的确切形状的面。
  • 创建表示符号化要素的范围的面。
  • 凸包创建要素的符号化几何的凸多边形。 这是默认设置。
  • 精确简化创建表示符号化要素的确切形状的概化面。 与使用 EXACT 选项创建的面相比,使用该方法创建的面的折点数将显著降低。
  • 精确创建表示符号化要素的确切形状的面。
String
为未放置的注记创建掩膜

指定是否为未放置的注记创建掩膜。 该参数仅在对地理数据库注记图层执行掩膜操作时使用。

  • 所有注记要素为所有的注记要素创建掩膜。 这是默认设置。
  • 仅放置的注记要素仅为状态为已放置的要素创建掩膜。
String
传递属性
(可选)

指定将从输入要素传递到输出要素的属性。

  • 仅 FID 字段仅输入要素的 FID 字段将传递到输出要素。 这是默认设置。
  • 除 FID 字段以外的所有属性输入要素中,除 FID 以外的所有属性都将传递到输出要素。
  • 所有属性输入要素的所有属性都将传递到输出要素。
String

arcpy.cartography.IntersectingLayersMasks(masking_layer, masked_layer, output_fc, reference_scale, spatial_reference, margin, method, mask_for_non_placed_anno, {attributes})
名称说明数据类型
masking_layer

将与被掩膜的图层相交以创建掩膜面的符号化输入图层。 这就是对被掩膜的图层应用掩膜时将显示的图层。

Annotation Layer
masked_layer

将掩膜的符号化输入图层。 这就是将被掩膜面遮挡的图层。

Annotation Layer
output_fc

含有掩膜要素的要素类。

Feature Class
reference_scale

在使用页面单位指定掩膜时,将用于计算掩膜几何的参考比例。 该比例通常是地图的参考比例。

Double
spatial_reference

将创建掩膜面的地图的空间参考。 该空间参考不是要分配给输出要素类的空间参考。 它是地图的空间参考;由于投影要素时,符号系统的位置可能发生变化,所以在该空间参考内将使用掩膜面。

Spatial Reference
margin

在用于创建掩膜面的符号化输入要素周围的间距(使用页面单位)。 通常,创建掩膜面时,在符号的周围留有小边距,以提高显示效果。 边距值可使用页面单位或地图单位指定。 大多数情况下,边距距离值以页面单位指定。

边距值不能为负。

Linear Unit
method

指定要创建的掩膜几何类型。

  • BOX创建表示符号化要素的范围的面。
  • CONVEX_HULL创建要素的符号化几何的凸多边形。 这是默认设置。
  • EXACT_SIMPLIFIED创建表示符号化要素的确切形状的概化面。 与使用 EXACT 选项创建的面相比,使用该方法创建的面的折点数将显著降低。
  • EXACT创建表示符号化要素的确切形状的面。
String
mask_for_non_placed_anno

指定是否为未放置的注记创建掩膜。 该参数仅在对地理数据库注记图层执行掩膜操作时使用。

  • ALL_FEATURES为所有的注记要素创建掩膜。 这是默认设置。
  • ONLY_PLACED仅为状态为已放置的要素创建掩膜。
String
attributes
(可选)

指定将从输入要素传递到输出要素的属性。

  • ONLY_FID仅输入要素的 FID 字段将传递到输出要素。 这是默认设置。
  • NO_FID输入要素中,除 FID 以外的所有属性都将传递到输出要素。
  • ALL输入要素的所有属性都将传递到输出要素。
String

代码示例

IntersectingLayersMasks 示例 1(Python 窗口)

以下 Python 窗口脚本演示了如何在即时模式下使用 IntersectingLayersMasks 函数。

import arcpy
arcpy.cartography.IntersectingLayersMasks("C:/data/cartography.gdb/transportation/roads",
                                          "C:/data/cartography.gdb/transportation/railroads",
                                          "C:/data/cartography.gdb/transportation/ilm_polys",
                                          "25000", "", "5 meters", "EXACT_SIMPLIFIED", "", "ALL")
IntersectingLayersMasks 示例 2(独立脚本)

此独立脚本显示的是使用 IntersectingLayersMasks 函数的示例。

# Name: IntersectingLayersMasks_standalone_script.py
# Description: Creates masking polygons at a specified
#              shape and size at the intersections of symbolized features. 
 
# Import system modules
import arcpy

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

# Set local variables
masking_layer = "roads.lyrx"
masked_layer = "buildings_poly.lyrx"
outpuf_fc = "cartography.gdb/transportation/ilm_polys"
reference_scale = "25000"
spatial_reference = arcpy.Describe(masking_layer).spatialReference
margin = "5 Points"
method = "CONVEX_HULL"
mask_for_non_placed_anno = "ALL_FEATURES"
attributes = "ALL"

# Execute Intersecting Layers Masks
arcpy.IntersectingLayersMasks_cartography(masking_layer,
                                          masked_layer,
                                          output_fc,
                                          reference_scale,
                                          spatial_reference,
                                          margin, method,
                                          mask_for_non_placed_anno,
                                          attributes)

许可信息

  • Basic: 否
  • Standard: 否
  • Advanced: 是

相关主题