Calculate Line Caps (Cartography)

Summary

Modifies the cap type for stroke symbol layers in the line symbols of the input layer.

Illustration

Calculate Line Caps

Usage

  • Stroke symbol layers symbolizing the Input Features must have the Cap Type property connected to an attribute field with no expression applied. The values in this field are updated by this tool.

  • Line symbols that are relatively wide and drawn with multiple stroke symbol layers to display a "cased road" effect are often joined together at their endpoints with round line caps to prevent symbol gaps appearing at sharp angles between features. However, a round end cap is generally not desirable cartographic appearance for dead-end street (dangling line features that are not connected at their endpoint to another feature.) The line cap style is generally overriden to a butt or square style in these situations. This tool detects dangles and overrides the cap type of the stroke symbol layer.

Syntax

arcpy.cartography.CalculateLineCaps(in_features, {cap_type}, {dangle_option})
ParameterExplanationData Type
in_features

The input feature layer containing line symbols. Stroke symbol layers must have the Cap Type property connected to just a single attribute field with no expression applied. The values in this field are updated by this tool.

Layer
cap_type
(Optional)

Defines how the ends of stroke symbol layers are drawn. The default cap type of strokes is round, where the symbol is terminated with a semicircle of radius equal to stroke width is centered at the line endpoint. This tool changes cap type to Butt or Square.

  • BUTTSpecifies to end the stroke symbol exactly where the line geometry ends. This is the default.
  • SQUARESpecifies to end the stroke symbol with closed, square caps that extend past the endpoint of the line by half of the symbol width.
String
dangle_option
(Optional)

Controls how line caps are calculated for adjoining line features that share an endpoint but are drawn with different symbology.

  • CASED_LINE_DANGLEModifies the cap style for dangling lines (those not connected at their endpoints to another line) and also for the lines where a cased-line symbol is joined at the endpoint of a single-stroke layer line symbol. This is the default.
  • TRUE_DANGLEModifies the cap style only for endpoints that are not connected to another feature.
String

Derived Output

NameExplanationData Type
out_representations

The updated input line feature layer.

Layer

Code sample

CalculateLineCaps example (Python window)

The following Python window script demonstrates how to use the CalculateLineCaps tool in immediate mode.

import arcpy
arcpy.env.workspace = "C:\data"
arcpy.CalculateLineCaps_cartography("roads.lyr", "BUTT", "CASED_LINE_DANGLE")
CalculateLineCaps example (stand-alone script)

This stand-alone script shows an example of using the CalculateLineCaps tool.

# Name: CalculateLineCaps_standalone_script.py
# Description: Calculates the cap type for stroke symbol layers in the line 
#              symbols of the input layer
 
# Import system modules
import arcpy

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

# Set local variables
in_features = "roads.lyrx"
cap_type = "BUTT"
dangle_option = "CASED_LINE_DANGLE"

# Execute Calculate Line Caps
arcpy.CalculateLineCaps_cartography(in_features, cap_type, dangle_option)

Environments

This tool does not use any geoprocessing environments.

Licensing information

  • Basic: No
  • Standard: Yes
  • Advanced: Yes

Related topics