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.
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.
- Unique values symbology to a feature
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})
Parameter | Explanation | Data 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:
Supported field types are as follows:
| Value Table |
update_symbology (Optional) | Specifies whether symbology ranges will be updated.
| String |
Derived Output
Name | Explanation | Data Type |
out_layer | The updated input layer. | Layer |
Code sample
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")
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)
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)
Environments
Licensing information
- Basic: Yes
- Standard: Yes
- Advanced: Yes