You can customize symbols to show different aspects of the data they draw. For example, you can symbolize a layer to show quantitative or qualitative differences in features, control the symbol's visualization using a variable (such as size or transparency), or extrude the features to make 3D symbols. You can also enable attribute-driven symbology for the entire layer, which allows you to control the customization of specific aspects of symbols by connecting individual symbol properties to feature attributes.
Enable attribute-driven symbology
You can enable a feature layer to leverage attribute-driven symbology to connect symbol properties to attributes in the data. Once enabled, the symbol properties of the symbols in this layer, which can be connected to a feature attribute, are shown with the No attribute mapping defined button .
Tip:
A layer that includes a symbol with a procedural layer always has attribute-driven symbology enabled.
- In the Contents pane, highlight a feature layer.
- On the Feature Layer tab, in the Drawing group, click Symbology .
- In the Symbology pane, on the Vary symbology by attribute tab , check Allow symbol property connections.
You can now attach feature attributes to certain properties of the symbols within this layer. These attributes show the No attribute mapping defined button next to them.
Caution:
Connecting many properties to attributes can slow draw performance because many unique symbols have to be rendered. However, this is mostly incurred in the first drawing of the layer, as display caching will be used in subsequent draws. Consider setting limits on when the layer draws (scale-based in 2D or distance-based in 3D) to minimize this impact.
Connect symbol properties to attributes
Once a layer is enabled for attribute-driven symbology, you can connect most symbol properties to the value in a feature attribute field or on an expression.
Tip:
When you are in the Format Symbol mode of the Symbology pane, click the menu button to ensure that Allow symbol property connections is checked, indicating that the layer is enabled for attribute-driven symbology. If this option is checked but cannot be edited, one or more properties are already connected for this layer.
Symbol properties can only be connected to matching field types and values. Size properties require numeric fields with values greater than 0. If type conversion or multiple values are necessary, write an expression. See Attribute-driven color in symbology for detailed information about connecting color properties.
To connect symbol properties to attributes, follow these steps:
- In the Contents pane, highlight a feature layer.
- On the Feature Layer tab, in the Drawing group, click Symbology .
- In the Symbology pane, click a symbol to modify.
- In the Format Symbol mode of the Symbology pane, click the Properties tab and click the Layers tab .
- Click the No attribute mapping defined button next to the property to be mapped to an attribute.
- On the Set Attribute Mapping dialog box, choose an attribute field.
The values in this field are used as the symbol property value for each feature.
Note:
Click the Set an expression button to write an expression in the Arcade language.
Tip:
To set the image of a picture marker symbol layer to an attribute, the images must be stored in either a string, a raster, or a BLOB field. Consider storing these in an attachments table, joining the table to the feature class, and specifying the attachment field for the symbology. In the case of an image stored in a string field, the value in the field referencing the picture must be a Base64 encoded image as shown in this example: data:image/png;base64,<data>.
- Click OK to close the Set Attribute Mapping dialog box.
An icon appears next to the property to indicate that it is connected to an attribute. Hover over this icon to see the field or expression that is being used or to modify it further.
- Click Apply in the Symbology pane to apply the changes.
Each feature is drawn with a customized symbol where the attribute value is applied as a symbol property value.
Review and update attribute-driven symbology
Once you have defined attribute-driven symbology for a layer, you can review and update the settings on the Symbology pane for the layer.
- In the Contents pane, highlight a feature layer.
- On the Feature Layer tab, in the Drawing group, click Symbology .
- In the Symbology pane, click the Vary symbology by attribute tab , and expand the symbol groups as necessary to review the connected properties.
- To connect to a different property, choose a different field from the drop-down menu. Choosing <None> disconnects the property from attribution.
- To disconnect a property, hover over it and click the delete button , or choose <None> from the menu.
- To go to the corresponding portion of the symbol where a connected property is set, hover over the property and click the Layers button .