Convert Marker Placement To Points (Cartography)

Summary

Creates points from the markers of a marker placement in a symbolized polygon feature.

Illustration

Convert Marker Placement To Points tool illustration
Marker symbols placed inside polygons are converted to point features. Points can be displaced to ensure a minimum distance is preserved between markers and can be removed to avoid conflict with boundaries or barrier features.

Usage

  • This tool assesses graphic conflicts of symbolized features to determine which markers will be included in the output. The symbology extent and the reference scale are both used. Run this tool only after you finalize the appearance of the symbols and ensure that the reference scale corresponds to the final intended output scale.

  • The default coordinate system of the output is the same as the current map view. To use a different coordinate system, use the Cartographic Coordinate System environment setting. When the tool is run in a scripting environment without an active map, the coordinate system of the input features will be used.

  • Only Single Symbol and Unique Values symbology are supported on the input layer. Attribute mapping settings saved in the input layer will be honored.

  • When the Keep At Least One Marker parameter is specified, a log file will be created that lists the input features for which a single marker was created that would otherwise have been omitted. The location of the log file is included in the geoprocessing message details.

  • Points will be created for every supported marker layer in an input symbol. To ensure that complex, multilayer markers are treated as a single entity and created as a single point in the output, first create the symbol as a point symbol and save it to a style. Then, on the Layers tab in the Symbology pane, use the Style button in the Appearance settings to set the marker symbol from the style.

  • The Displacement Method and Minimum Marker Distance parameters are available when at least one marker layer uses a random placement. Use these parameters to resolve conflicts between overlapping markers and to preserve a minimum distance between them. The Displace apart option will move markers away from each other until they reach the minimum distance and will remove markers if necessary to avoid conflicts. The Displace toward grid option will move markers until they either reach the minimum distance apart or reach their original grid placement. No markers will be removed with the Displace toward grid option.

Parameters

LabelExplanationData Type
Input Layer

A polygon layer symbolized with a marker placement.

Layer
Output Feature Class

A point feature class containing points created from markers in the input layer's marker placement settings. The points will be added to the active map as a layer symbolized with a unique value renderer using symbols from the input.

Feature Class
Create Multipoints
(Optional)

Specifies whether output point features will be multipoint.

  • Checked—A multipoint feature will be created for the markers in each input polygon. This is the default.
  • Unchecked—A point feature will be created for each marker.

Boolean
Boundary Option
(Optional)

Specifies whether output points will be created for input markers that cross polygon boundaries.

  • May cross boundaryOutput points will be created for input markers that cross polygon boundaries. This is the default.
  • Fixed distanceOutput points will not be created for input markers that are within the distance of polygon boundaries specified by the Boundary Distance parameter.
  • Value from fieldOutput points will not be created for input markers that are within the distance of polygon boundaries specified by the Boundary Distance Field parameter.
String
Boundary Distance
(Optional)

The minimum distance between the output point symbols and the polygon boundaries. This parameter is applied only when the Boundary Option parameter is set to Fixed distance. The default value is 0.

Double
Boundary Distance Field
(Optional)

A numeric field from the input polygons that will be used to determine the boundary distance. This parameter is applied only when the Boundary Option parameter is set to Value from field.

Field
Boundary Distance Unit
(Optional)

Specifies the linear unit that will be used for boundary distance values.

  • KilometersThe unit will be kilometers.
  • MetersThe unit will be meters.
  • DecimetersThe unit will be decimeters.
  • CentimetersThe unit will be centimeters.
  • MillimetersThe unit will be millimeters.
  • Nautical MilesThe unit will be nautical miles.
  • Statute MilesThe unit will be statute miles.
  • YardsThe unit will be yards.
  • FeetThe unit will be feet.
  • InchesThe unit will be inches.
  • DegreesThe unit will be degrees
  • PointsThe unit will be points. This is the default.
String
Input Barrier Layers
(Optional)

The layers containing points, lines, or polygon features that are conflict barriers for input markers. Markers that conflict with barriers will not be created. The symbology of the barrier layers will be considered.

  • Barrier Layer—A layer containing points, lines, or polygon features.
  • Barrier Distance—A numeric value specifying the minimum distance between markers and the barrier. This will be ignored if the Barrier Distance Field value is set. The default value is 0.
  • Barrier Distance Field—A numerical field from the barrier layer that will be used as the barrier distance. This will override the Barrier Distance value. The default value is <None>.
  • Barrier Distance Unit—The linear unit that will be used for barrier distance values. The default value is Points.

Value Table
Keep At Least One Marker
(Optional)

Specifies whether a single marker will be created for input polygons when all markers conflict with boundaries or barriers.

  • Checked—One marker will be created for input polygons when all markers conflict with boundaries or barriers.
  • Unchecked—No markers will be created for input polygons when all markers conflict with boundaries or barriers. This is the default.

Boolean
Displacement Method
(Optional)

Specifies the displacement method that will be used to move markers that are too close to each other. This parameter is applied only when markers are positioned randomly inside the polygons.

  • Do not displaceMarkers will not be displaced. This is the default.
  • Displace toward gridConflicting markers will be moved toward their original regular grid points.
  • Displace apartConflicting markers will be moved away from each other.
String
Minimum Marker Distance
(Optional)

The minimum distance between individual markers. This parameter is applied only when markers are positioned randomly inside the polygons. The default value is 0.

Linear Unit

arcpy.cartography.ConvertMarkerPlacementToPoints(in_layer, out_feature_class, {create_multipoints}, {boundary_option}, {boundary_distance}, {boundary_distance_field}, {boundary_distance_unit}, {in_barriers}, {keep_at_least_one_marker}, {displacement_method}, {minimum_marker_distance})
NameExplanationData Type
in_layer

A polygon layer symbolized with a marker placement.

Layer
out_feature_class

A point feature class containing points created from markers in the input layer's marker placement settings. The points will be added to the active map as a layer symbolized with a unique value renderer using symbols from the input.

Feature Class
create_multipoints
(Optional)

Specifies whether output point features will be multipoint.

  • CREATE_MULTIPOINTSA multipoint feature will be created for the markers in each input polygon. This is the default.
  • CREATE_POINTSA point feature will be created for each marker.
Boolean
boundary_option
(Optional)

Specifies whether output points will be created for input markers that cross polygon boundaries.

  • MAY_CROSS_BOUNDARYOutput points will be created for input markers that cross polygon boundaries. This is the default.
  • FIXED_DISTANCEOutput points will not be created for input markers that are within the distance of polygon boundaries specified by the boundary_distance parameter.
  • VALUE_FROM_FIELDOutput points will not be created for input markers that are within the distance of polygon boundaries specified by the boundary_distance_field parameter.
String
boundary_distance
(Optional)

The minimum distance between the output point symbols and the polygon boundaries. This parameter is applied only when the boundary_option parameter is set to FIXED_DISTANCE. The default value is 0.

Double
boundary_distance_field
(Optional)

A numeric field from the input polygons that will be used to determine the boundary distance .This parameter is applied only when the boundary_option parameter is set to VALUE_FROM_FIELD.

Field
boundary_distance_unit
(Optional)

Specifies the linear unit that will be used for boundary distance values.

  • KilometersThe unit will be kilometers.
  • MetersThe unit will be meters.
  • DecimetersThe unit will be decimeters.
  • CentimetersThe unit will be centimeters.
  • MillimetersThe unit will be millimeters.
  • Nautical MilesThe unit will be nautical miles.
  • Statute MilesThe unit will be statute miles.
  • YardsThe unit will be yards.
  • FeetThe unit will be feet.
  • InchesThe unit will be inches.
  • DegreesThe unit will be degrees
  • PointsThe unit will be points. This is the default.
String
in_barriers
[[barrier_layer, {barrier_distance}, {barrier_distance_field}, {barrier_distance_unit}],...]
(Optional)

The layers containing points, lines, or polygon features that are conflict barriers for input markers. Markers that conflict with barriers will not be created. The symbology of the barrier layers will be considered.

  • barrier_layer—A layer containing points, lines, or polygon features.
  • barrier_distance—A numeric value specifying the minimum distance between markers and the barrier. This will be ignored if the barrier_distance_field value is set. The default value is 0.
  • barrier_distance_field—A numerical field from the barrier layer that will be used as the barrier distance. This will override the barrier_distance value. The default value is <None>.
  • barrier_distance_unit—The linear unit that will be used for barrier distance values. The default value is Points.

Value Table
keep_at_least_one_marker
(Optional)

Specifies whether a single marker will be created for input polygons when all markers conflict with boundaries or barriers.

  • KEEP_AT_LEAST_ONE_MARKEROne marker will be created for input polygons when all markers conflict with boundaries or barriers.
  • DO_NOT_KEEP_AT_LEAST_ONE_MARKERNo markers will be created for input polygons when all markers conflict with boundaries or barriers. This is the default.
Boolean
displacement_method
(Optional)

Specifies the displacement method that will be used to move markers that are too close to each other. This parameter is applied only when markers are positioned randomly inside the polygons.

  • DO_NOT_DISPLACEMarkers will not be displaced. This is the default.
  • DISPLACE_TOWARD_GRIDConflicting markers will be moved toward their original regular grid points.
  • DISPLACE_APARTConflicting markers will be moved away from each other.
String
minimum_marker_distance
(Optional)

The minimum distance between individual markers. This parameter is applied only when markers are positioned randomly inside the polygons. The default value is 0.

Linear Unit

Code sample

ConvertMarkerPlacementToPoints example 1 (Python window)

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

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.env.referenceScale = 5000
arcpy.cartography.ConvertMarkerPlacementToPoints("parks.lyrx", "cartography.gdb/tree_markers")
ConvertMarkerPlacementToPoints example 2 (stand-alone script)

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

# Name: ConvertMarkerPlacementToPoints_standalone_script.py
# Description: Converts markers in a marker placement into point features.

# Import system modules
import arcpy
from arcpy import env

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

# Set local variables
in_layer = "parks.lyrx"
out_feature_class = "cartography.gdb/tree_markers"
create_multipoints = "CREATE_MULTIPOINTS"
boundary_option = "VALUE_FROM_FIELD"
boundary_distance = ""
boundary_distance_field = "distance"
boundary_distance_unit = "Points"
in_barriers = [["roads.lyrx", 1, "", "Points"],["rivers.lyrx", 0, "distance", "Points"]]
keep_at_least_one_marker = "KEEP_AT_LEAST_ONE_MARKER"
displacement_method = "DISPLACE_APART"
minimum_marker_distance = "2 Points"


arcpy.cartography.ConvertMarkerPlacementToPoints(in_layer,
                                                 out_feature_class,
                                                 create_multipoints,
                                                 boundary_option,
                                                 boundary_distance,
                                                 boundary_distance_field,
                                                 boundary_distance_unit,
                                                 in_barriers,
                                                 keep_at_least_one_marker,
                                                 displacement_method,
                                                 minimum_marker_distance
)

Licensing information

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

Related topics