Propagate Displacement (Cartography)
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.
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.
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
-
The location of input features are adjusted based on the vector displacements contained in the displacement features. Adjustments are a compromise of all displacements, such that large displacements that occurred near an input feature will have more influence than smaller displacements further away. Conceptually, this action is similar to a rubber-sheeting process that moves features in various directions by various amounts to fit them back to the spatial relationship that they originally had with the roads.
-
This tool does not resolve graphic conflicts and in fact may introduce new conflicts. Topological errors that are introduced can be inspected using the Detect Graphic Conflict tool. If you are using this tool to propagate displacement to building features, consider running the Resolve Building Conflicts tool after propagation.
This tool operates by assessing graphic conflicts of symbolized features. The symbology extent and the reference scale are considered in conjunction with one another. Run this tool only after you have finalized the appearance of your symbols and ensure that the reference scale corresponds to the final intended output scale.
This tool operates on the displacement output generated by the Resolve Road Conflicts and Merge Divided Roads tools, which can be enabled to run by partitioning (using the Cartographic Partitions geoprocessing environment variable) when large datasets are processed. In this case, a single seamless displacement feature class will generated. Although this may be a very large feature class when generated with partitions, the information held within is not complex. This tool can manage the displacement polygons as inputs without using partitioning. See Generalizing large datasets using partitions for more information about processing large datasets.
Syntax
Parameter | Explanation | Data 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.
| String |
Code Sample
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")
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)