Create Underpass (Cartography)

Summary

Creates bridge parapets and polygon masks at line intersections to indicate underpasses.

Illustration

Illustration of the Create Underpass tool options
A yellow polygon mask is created from margin dimensions to obscure a blue below line feature where it crosses a red above line feature. Gray bridge parapet decorations with angled wing ticks are also created.

Usage

  • Intersecting symbolized line features as inputs are required.

  • This tool is identical to the Create Overpass tool except that the Expression parameter selects from the Input Below Features parameter in this tool as well as from the Input Above Features parameter in the Create Overpass tool.

  • The Input Above Features layer can be the same as the Input Below Features layer in the case of self-overlapping features. When Input Above Features and Input Below Features layers are the same, an SQL expression is required for further refinement of feature selection.

Parameters

LabelExplanationData Type
Input Above Features

The input line feature layer containing lines that intersect—and will be symbolized as passing above—lines in the Input Below Features parameter.

Layer
Input Below Features

The input line feature layer that intersects—and will be symbolized as passing below—lines in the Input Above Features parameter. These features will be masked by the polygons created in the Output Underpass Feature Class parameter.

Layer
Margin Along

Sets the length of the mask polygons along the Input Above Features parameter by specifying the distance in page units that the mask should extend beyond the width of the stroke symbol of the Input Below Features parameter. The Margin Along parameter must be specified, and it must be greater than or equal to zero. Choose a page unit for the margin; the default is points.

Linear Unit
Margin Across

Sets the width of the mask polygons across the Input Above Features parameter by specifying the distance in page units that the mask should extend beyond the width of the stroke symbol of the Input Below Features parameter. The Margin Across parameter must be specified, and it must be greater than or equal to zero. Choose a page unit for the margin; the default is points.

Linear Unit
Output Underpass Feature Class

The output feature class that will be created to store polygons to mask the Input Below Features parameter.

Feature Class
Output Mask Relationship Class

The output relationship class that will be created to store links between underpass mask polygons and the lines of the Input Below Features parameter.

Relationship Class
Expression
(Optional)

An SQL expression used to select a subset of features in the Input Above Features parameter.

Use quotation marks—for example, "MY_FIELD"—or if you're querying personal geodatabases, enclose fields in square brackets—for example, [MY_FIELD].

See SQL reference for query expressions used in ArcGIS for more information on SQL syntax.

SQL Expression
Output Decoration Feature Class
(Optional)

The output line feature class that will be created to store parapet features.

Feature Class
Wing Type
(Optional)

Specifies the wing style of the parapet features.

  • Wing ticks angled between above and below featuresThe wing tick of the parapet will be angled between the Input Above Features parameter and the Input Below Features parameter. This is the default.
  • Wing ticks parallel to below featuresThe wing tick of the underpass wing will be parallel to the Input Below Features parameter.
  • No wing ticks createdNo wing ticks will be created on the parapets.
String
Wing Tick Length
(Optional)

The length of the parapet wings in page units. The length must be greater than or equal to zero; the default length is 1. Choose a page unit (points, millimeters, and so on) for the length; the default is points. This parameter does not apply to the Wing Type value of NONE.

Linear Unit

arcpy.cartography.CreateUnderpass(in_above_features, in_below_features, margin_along, margin_across, out_underpass_feature_class, out_mask_relationship_class, {where_clause}, {out_decoration_feature_class}, {wing_type}, {wing_tick_length})
NameExplanationData Type
in_above_features

The input line feature layer containing lines that intersect—and will be symbolized as passing above—lines in the Input Below Features parameter.

Layer
in_below_features

The input line feature layer that intersects—and will be symbolized as passing below—lines in the Input Above Features parameter. These features will be masked by the polygons created in the Output Underpass Feature Class parameter.

Layer
margin_along

Sets the length of the mask polygons along the Input Above Features parameter by specifying the distance in page units that the mask should extend beyond the width of the stroke symbol of the Input Below Features parameter. The Margin Along parameter must be specified, and it must be greater than or equal to zero. Choose a page unit for the margin; the default is points.

Linear Unit
margin_across

Sets the width of the mask polygons across the Input Above Features parameter by specifying the distance in page units that the mask should extend beyond the width of the stroke symbol of the Input Below Features parameter. The Margin Across parameter must be specified, and it must be greater than or equal to zero. Choose a page unit for the margin; the default is points.

Linear Unit
out_underpass_feature_class

The output feature class that will be created to store polygons to mask the Input Below Features parameter.

Feature Class
out_mask_relationship_class

The output relationship class that will be created to store links between underpass mask polygons and the lines of the Input Below Features parameter.

Relationship Class
where_clause
(Optional)

An SQL expression used to select a subset of features in the Input Above Features parameter.

Use quotation marks—for example, "MY_FIELD"—or if you're querying personal geodatabases, enclose fields in square brackets—for example, [MY_FIELD].

See SQL reference for query expressions used in ArcGIS for more information on SQL syntax.

SQL Expression
out_decoration_feature_class
(Optional)

The output line feature class that will be created to store parapet features.

Feature Class
wing_type
(Optional)

Specifies the wing style of the parapet features.

  • ANGLEDThe wing tick of the parapet will be angled between the Input Above Features parameter and the Input Below Features parameter. This is the default.
  • PARALLELThe wing tick of the underpass wing will be parallel to the Input Below Features parameter.
  • NONENo wing ticks will be created on the parapets.
String
wing_tick_length
(Optional)

The length of the parapet wings in page units. The length must be greater than or equal to zero; the default length is 1. Choose a page unit (points, millimeters, and so on) for the length; the default is points. This parameter does not apply to the Wing Type value of NONE.

Linear Unit

Code sample

CreateUnderpass example 1 (Python window)

The following Python window script demonstrates how to use the CreateUnderpass function in immediate mode.

import arcpy
arcpy.env.workspace = "C:\data"
arcpy.env.referenceScale = "50000"
arcpy.CreateUnderpass_cartography("roads.lyr", "railroads.lyr", "2 Points", "1 Points",
                                 "cartography.gdb/transportation/under_mask_fc",
                                 "cartography.gdb/transportation/under_mask_rc", "'RelationshipToSurface' = 3",
                                 "cartography.gdb/transportation/tunnel", "PARALLEL", "1 Points")
CreateUnderpass example 2 (stand-alone script)

This stand-alone script shows an example of using the CreateUnderpass function.

# Name: CreateUnderpass_standalone_script.py
# Description: creates a mask where one feature
#              is visually below another feature
 
# Import system modules
import arcpy
from arcpy import env

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

# Set local variables
in_above_features = "roads.lyr"
in_below_features = "railroads.lyr"
margin_along = "2 Points"
margin_across = "1 Points"
out_overpass_feature_class = "cartography.gdb/trans/under_mask_fc"
out_mask_relationship_class = "cartography.gdb/trans/under_mask_rc"
where_clause = "'RelationshipToSurface' = 3"
out_decoration_feature_class = "cartography.gdb/trans/tunnel"
wing_type = "PARALLEL"
wing_tick_length = "1 Points"

# Execute Create Underpass
arcpy.CreateUnderpass_cartography(in_above_features,
                                  in_below_features,
                                  margin_along,
                                  margin_across,
                                  out_overpass_feature_class,
                                  out_mask_relationship_class,
                                  where_clause,
                                  out_decoration_feature_class,
                                  wing_type,
                                  wing_tick_length)

Licensing information

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

Related topics