Summary
Finds representation markers that overlap or are too close to one another based on symbology and reference scale, and spreads them apart based on a minimum spacing and dispersal pattern.
Illustration
Usage
The input must be a point feature layer containing representations. A reference scale must be set. Multipoint features are not a valid input. Location changes are stored based on the editing behavior specified on the input representation. See Setting the geometry editing behavior for more information.
Clustered or coincident representation markers are assessed and processed in groups. The analysis of marker groups is based on a minimum rectangular envelope around each marker. Groups are composed of markers with envelopes that overlap or are within the minimum spacing of others. Within each group, markers are dispersed to the minimum spacing.
Graphical overlaps may be introduced between marker groups. Use the Detect Graphic Conflict tool to identify conflicts.
Syntax
arcpy.cartography.DisperseMarkers(in_point_features, minimum_spacing, {dispersal_pattern})
Parameter | Explanation | Data Type |
in_point_features | The input point feature layer containing marker representations. | Layer |
minimum_spacing | The minimum separation distance between individual markers in page units. A distance must be specified and must be greater than or equal to zero. When a positive value is specified, markers will be separated by that value; when a value of zero is specified, markers will touch. The default page unit is Points. | Linear Unit |
dispersal_pattern (Optional) | Specifies the pattern in which the dispersed representation markers are placed. A group of markers will have a center of mass derived from the locations of all markers in the group. The center of mass is used as the anchor point around which the dispersal pattern operates.
| String |
Derived Output
Name | Explanation | Data Type |
out_representations | The updated input features. | Feature Layer |
Code sample
DisperseMarkers example 1 (Python window)
The following Python window script demonstrates how to use the DisperseMarkers function in immediate mode.
import arcpy
arcpy.env.workspace = "C:/data"
arcpy.env.referenceScale = "50000"
arcpy.DisperseMarkers_cartography("crime.lyr", "2 Points", "EXPANDED")
DisperseMarkers example 2 (stand-alone script)
This stand-alone script shows an example of using the DisperseMarkers function.
# Name: DisperseMarkers_standalone_script.py
# Description: creates visible space between representation markers which are graphically overlappig or coincident
# Author: ESRI
# Import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data"
env.referenceScale = "50000"
# Set local variables
in_point_features = "crime.lyr"
minimum_spacing = "2 Points"
dispersal_pattern = "EXPANDED"
# Execute Disperse Markers
arcpy.DisperseMarkers_cartography(in_point_features, minimum_spacing, dispersal_pattern)
Environments
Licensing information
- Basic: No
- Standard: No
- Advanced: Yes