Apply Symbology From Layer (Data Management)

Summary

Applies the symbology from a specified layer or layer file to the input. It can be applied to feature, raster, network analysis, TIN, and geostatistical layers.

Usage

  • The symbology layer must match the data type of the input layer; for example, a feature layer cannot be applied to a raster layer and vice versa.

  • The symbology can only be applied to features of the same geometry; for example, point symbology cannot be applied to a polygon layer.

  • 3D properties such as extrusion and offset are not supported with this tool.

  • If the input is a feature class or dataset path, this tool will automatically create and return a new layer with the result of the tool applied.

  • You can choose to maintain or update the symbology ranges in the Update Symbology Ranges by Data parameter. Default symbology methods are dynamic. For example, the five-class Natural Breaks classification method from the symbology layer is applied to the input layer, and the range values are updated to reflect the Shape_Area values of the input layer. Maintain ranges will use the same values as the symbology layer. Update will make the five-class Natural Breaks classification method from the input layers Shape_Area field.

    Example of Apply Symbology From Layer

    The following methods are dynamic:

    • Unique values symbology to a feature
      • The unique values are updated to reflect the input layer's values.
      • If you do not want the unique values classification to be updated, choose the <all other values> default symbol in the symbology layer.
    • Graduated color symbology to a feature
      • The range values are updated to the values of the input layer.
      • If you do not want the range output to be updated, choose manual classification.
    • Classified value rendering to a raster
      • The range values are updated to reflect the values of the input layer.
      • If you do not want the range output to be updated, choose manual classification.

  • Setting the Update Symbology Ranges by Data parameter to Maintain ranges will copy the labels from the Symbology Layer to the Input Layer. If the parameter is set to Update ranges, the labels will be recomputed.

Syntax

arcpy.management.ApplySymbologyFromLayer(in_layer, in_symbology_layer, {symbology_fields}, {update_symbology})
ParameterExplanationData Type
in_layer

The layer to which the symbology will be applied.

Feature Layer; Raster Layer; Layer
in_symbology_layer

The symbology of this layer will be applied to the input layer. Both .lyrx and .lyr files are supported.

Layer
symbology_fields
[[field_type, source_field, target_field],...]
(Optional)

The fields from the input layer that match the symbology fields used in the symbology layer. Symbology fields contain three properties:

  • Field type—Specifies the field type: symbology value, normalization, or other type.
  • Source field—The symbology field used by the symbology layer. Use a blank value or "#" if you do not know the source field and want to use the default.
  • Target field—The field from the input layer to use when applying the symbology.

Supported field types are as follows:

  • VALUE_FIELD—Primary field used to symbolize values
  • NORMALIZATION_FIELD—Field used to normalize quantitative values
  • EXCLUSION_CLAUSE_FIELD—Field used for the symbology exclusion clause
  • CHART_RENDERER_PIE_SIZE_FIELD—Field used to set the size of pie chart symbols
  • ROTATION_XEXPRESSION_FIELD—Field used to set the rotation of symbols on the x-axis
  • ROTATION_YEXPRESSION_FIELD—Field used to set the rotation of symbols on the y-axis
  • ROTATION_ZEXPRESSION_FIELD—Field used to set the rotation of symbols on the z-axis
  • TRANSPARENCY_EXPRESSION_FIELD—Field used to set the transparency of symbols
  • TRANSPARENCY_NORMALIZATION_FIELD—Field used to normalize transparency values
  • SIZE_EXPRESSION_FIELD—Field used to set the size or width of symbols
  • COLOR_EXPRESSION_FIELD—Field used to set the color of symbols
  • PRIMITIVE_OVERRIDE_EXPRESSION_FIELD—Field used to set various properties on individual symbol layers

Value Table
update_symbology
(Optional)

Specifies whether symbology ranges will be updated.

  • DEFAULTSymbology ranges will be updated, except in the following situations:
  • UPDATESymbology ranges will be updated.
  • MAINTAINSymbology ranges will not be updated; they will be maintained.
String

Derived Output

NameExplanationData Type
out_layer

The updated input layer.

Layer

Code sample

ApplySymbologyFromLayer example 1 (Python window)

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

import arcpy
arcpy.env.workspace = "C:/data.gdb"
arcpy.ApplySymbologyFromLayer_management("sf_points", "sf_points_water.lyrx")
ApplySymbologyFromLayer example 2 (stand-alone script)

The following stand-alone script shows how to use the ApplySymbologyFromLayer function in a stand-alone script.

# Import system modules
import arcpy

# Set the current workspace
arcpy.env.workspace = "C:/data.gdb"

# Set layer to apply symbology to
inputLayer = "sf_points"

# Set layer that output symbology will be based on
symbologyLayer = "water_symbols_pnt.lyrx"

# Apply the symbology from the symbology layer to the input layer
arcpy.ApplySymbologyFromLayer_management(inputLayer, symbologyLayer)
ApplySymbologyFromLayer example 3 (stand-alone script)

The following stand-alone script shows how to use the ApplySymbologyFromLayer function in a stand-alone script.

# Import system modules
import arcpy

# Set the current workspace
arcpy.env.workspace = "C:/data.gdb"

# Set layer to apply symbology to
inputLayer = "InlandEmpireBlocks"

# Set layer that output symbology will be based on
symbologyLayer = "USCensusBlocks.lyrx"

# The symbology layer is symbolized by population normalized by area.
# Symbolize the input by Pop2014 field normalized to Square Miles
symbologyFields = [["VALUE_FIELD", "#", "Pop2014"], 
                   ["NORMALIZATION_FIELD", "#", "SQ_MILES"]]

# Apply the symbology from the symbology layer to the input layer
arcpy.ApplySymbologyFromLayer_management(inputLayer, symbologyLayer, 
                                         symbologyFields)

Licensing information

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

Related topics