描述
由符号化的输入线图层创建一个面掩膜要素类。
使用方法
此工具仅在线的未连接端(亦称为死胡同)创建掩膜。如果线终点与其他线的端点有共同的端点,则被视为连接。此工具仅接受线图层输入。
在使用圆形端头来符号化线以平滑线连接的过渡时,此工具用于提供线端掩膜。如果线端不使用圆形端头,则可使用此工具创建的面要素类来掩膜线端。
通常,边距大于 0。如果边距大小为 0,将创建表示符号化要素的确切形状的掩膜。
如果输入线图层包含多部分线几何,则为所有的未连接线端(包括多部分线内各个部分的线端)创建死胡同掩膜。
创建掩膜时,了解下面这一点非常重要:向地图添加掩膜将增加地图的复杂性,从而降低地图的绘制速度并影响最终的打印和导出。通常,为地图创建掩膜时要考虑三个方面:掩膜的数量、掩膜的复杂性,以及是否用于对用标记或线符号填充的面要素执行掩膜操作。掩膜数量的增加、掩膜复杂性的提高和对标记或面填充符号执行掩膜操作都将导致屏幕上的绘制速度降低。此外,打印和导出两种操作的性能也会变得很糟,甚至无法生成有效的输出。这是因为打印并导出含有掩膜的地图需要执行大量的处理操作;而且如何使用图形文件格式存储具有许多复杂掩膜的地图导出结果受到已知的限制。
边距值可使用页面单位或地图单位指定。通常,您需要使用页面单位来指定边距值。
所选的单位不同,对边距值单位的解释也不同。如果选择磅、英寸、毫米或厘米,则掩膜将通过在页面空间中计算出的边距来创建(可将边距视为纸上测量出的距离)。此计算会将参考比例的参数值纳入考量范围。
如果边距选用了其他单位,则掩膜将通过在地图空间中计算出的边距来创建(可将边距视为地球上测量出的真实距离)。这种情况下,参考比例的参数值不会参与计算。
语法
arcpy.cartography.CulDeSacMasks(input_layer, output_fc, reference_scale, spatial_reference, margin, {attributes})
参数 | 说明 | 数据类型 |
input_layer | 创建掩膜所使用的输入线图层。 | Layer |
output_fc | 含有掩膜要素的要素类。 | Feature Class |
reference_scale | 用于在使用页面单位指定掩膜时计算掩膜几何的参考比例。该比例通常是地图的参考比例。 | Double |
spatial_reference | 将创建掩膜面的地图的空间参考。该空间参考不是要分配给输出要素类的空间参考。它是地图的空间参考;由于投影要素时,符号系统的位置可能发生变化,所以在该空间参考内将使用掩膜面。 | Spatial Reference |
margin | 在用于创建掩膜面的符号化输入要素周围的间距(使用页面单位)。通常,创建掩膜面时,在符号的周围留有小边距,以提高显示效果。边距值可使用页面单位或地图单位指定。通常,您需要使用页面单位来指定边距值。 边距值不能为负。 | Linear Unit |
attributes (可选) | 指定将从输入要素传递到输出要素的属性。
| String |
代码示例
以下 Python 窗口脚本演示了如何在即时模式下使用 CulDeSacMasks 工具。
import arcpy
arcpy.env.workspace = "C:/data"
arcpy.CulDeSacMasks_cartography("C:/data/cartography.gdb/transportation/roads",
"C:/data/cartography.gdb/transportation/cds_polys",
"25000", "", "5 meters", "ALL")
此独立脚本显示的是使用 CulDeSacMasks 工具的示例。
# Name: CulDeSacMasks_standalone_script.py
# Description: Creates masks at the unconnected ends of lines in the input layer.
# Import system modules
import arcpy
# Set environment settings
arcpy.env.workspace = "C:/data"
# Set local variables
input_layer = "cartography.gdb/transportation/roads"
outpuf_fc = "cartography.gdb/transportation/cds_polys"
reference_scale = "25000"
spatial_reference = arcpy.Describe(input_layer).spatialReference
margin = "5 meters"
attributes = "ALL"
# Execute Cul De Sac Masks
arcpy.CulDeSacMasks_cartography(input_layer, output_fc, reference_scale,
spatial_reference, margin, attributes)
环境
许可信息
- Basic: 否
- Standard: 否
- Advanced: 是