Propagate Displacement (Cartography)

License Level:BasicStandardAdvanced

Summary

Propagates the displacement resulting from road adjustment in the Resolve Road Conflicts and Merge Divided Roads tools to adjacent features to reestablish spatial relationships.

An optional output of both the Resolve Road Conflicts and Merge Divided Roads tools is a displacement feature class. Displacement features store the amount and direction of change from the initial state of the data before these tools are run. Displacement information can then be applied to nearby features from different themes to ensure that spatial relationships are retained using this tool. For example, if roadways are separated by the Resolve Road Conflicts tool, it is often necessary to shift adjacent buildings along the roads accordingly.

CautionCaution:

This tool does not produce output layers but instead alters the source feature classes of the input layers. If the input layers are drawn with a representation (whose editing behavior is set to store shape overrides), the modified features are stored as shape overrides in the representation. If the layer is not drawn with a representation, the geometry of the input features is modified. Using representations is recommended when working with the conflict resolution tools. That way, if the results are not acceptable, or to rerun the tool with different parameters, simply remove the overrides using the Remove Override tool. It is strongly suggested that you make a copy of your input features if you are not using representations whose editing behavior is set to store shape overrides.

Learn more about representations

CautionCaution:

This tool will act cumulatively if run on the same dataset multiple times. In some cases, features may be moved further and further away from their original location, which may lead to unexpected and unwanted results.

Usage

Syntax

PropagateDisplacement_cartography (in_features, displacement_features, adjustment_style)
ParameterExplanationData Type
in_features

The input feature layer containing features that may be in conflict. May be point, line, or polygon.

Feature Layer
displacement_features

The displacement polygon features created by the Resolve Road Conflicts or the Merge Divided Roads tools which contain the degree and direction of road displacement that took place. These polygons dictate the amount of displacement that will be propagated to the input features.

Feature Layer
adjustment_style

Defines the type of adjustment that will be used when displacing input features.

  • AUTOThe tool will decide for each input feature whether a SOLID or an ELASTIC adjustment is most appropriate. In general, features with orthogonal shapes will have SOLID adjustment applied, while organically shaped features will have ELASTIC adjustment applied. This is the default.
  • SOLIDThe feature will be translated. All vertices will move the same distance and direction. Topological errors may be introduced. This option is most useful when input features have regular geometric shapes.
  • ELASTICThe vertices of the feature may be moved independently to best fit the feature to the road network. The shape of the feature may be modified slightly. Topological errors are less likely to be introduced. This option only applies to line and polygon input features. This option is most useful for organically shaped input features.
String

Code Sample

PropagateDisplacement tool example 1 (Python window)

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

import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.PropagateDisplacement_cartography("footprints.lyr", "displacement.lyr", "AUTO")
PropagateDisplacement tool example 2 (stand-alone Python script)

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

# Name: PropagateDisplacement_standalone_script.py
# Description: Propagate the displacement of road features to nearby buildings
# Author: ESRI
 
# Import system modules
import arcpy
from arcpy import env

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

# Set local variables
in_features = "footprints.lyr"
displacement_features = "displacement.lyr"
adjustment_style = "AUTO"

# Execute Propagate Displacment
arcpy.PropagateDisplacement_cartography(in_features, displacement_features, adjustment_style)

Environments

Related Topics

Licensing Information

ArcGIS for Desktop Basic: No
ArcGIS for Desktop Standard: No
ArcGIS for Desktop Advanced: Yes
3/3/2014