U.S. counties styled with a UniqueValueRenderer showing the predominant political party affiliation of registered voters.
What is Arcade?
Sometimes you need to render an attribute that doesn't exist in your layer. Arcade is an expression language that allows you to calculate values for each feature in a layer at runtime and use those values as the basis for a data-driven visualization. This is convenient when you need to derive new data values on data sources that update frequently, or on layers that you don't own.
See the Arcade - expression language guide for more details about how to use Arcade in other parts of the ArcGIS Maps SDK for JavaScript.
When used in a ClassBreaksRenderer, DotDensityRenderer, or any of the visual variables, the value expression must evaluate to a number. Expressions may evaluate to either strings or numbers in UniqueValueRenderer.
Examples
Predominance with UniqueValueRenderer
In this example, Arcade is used to create a predominance map showing the most common political party affiliation in each U.S. county. The underlying layer has three fields that identify the number of republicans, democrats, and independent/non-party voters in each county. Since the service does not contain a field indicating the predominant party, we can write an Arcade expression to identify that for each feature.
The Arcade expression is referenced in the valueExpression property of a UniqueValueRenderer.
Arcade can be used anywhere a data value is referenced in a renderer, including visual variables. The following snippet references an Arcade expression in an opacity visual variable to calculate the percentage of voters comprising the predominant party in each county. The opacity stops map the expected data values to opacity values.
Opaque counties indicate areas where the predominant political party comprises the vast majority of voters. Transparent counties show areas where there is a more diverse mix of individuals belonging to each political party.