If you’ve been keeping up on ArcGIS news you might have noticed we’ve added something new… That something is Arcade. You’re probably still wondering what it is exactly and what it means to you as a GIS user. The simple answer to that is Arcade is a new expression language for ArcGIS that allows you to do more across the ArcGIS Platform in a consistent way… however, that really doesn’t tell the whole story.
One of the great things about ArcGIS is its ability to run everywhere on nearly any device, whether that is on the web, desktop or mobile powered by a rich set of apps. For that to work well every app needs to be speaking the same language; that’s where Arcade comes in. Arcade is a secure (contains no executable code in the syntax), portable expression language that ArcGIS knows how to read. In many ways its very similar to the functionality you have in Excel. It can be used to augment certain aspects of the platform like symbology. In the first release Arcade is focused heavily on allowing users to do more when styling layers. What this ultimately means is now using arcade, you can provide additional logic to labeling and symbology to create even better maps to showcase your work and your data. Many of you are already doing this today in ArcGIS Pro or Desktop to create rich complex labels using Python or another scripting language. Arcade has one main difference. It was created specifically for ArcGIS with the goal of being able to run everywhere across ArcGIS.
Let’s walk through a few examples showing what you can do today and I want to start by talking about something common… units. Units of measure are important and storing data with consistent units makes a lot of sense. It allows for easy analysis, visualization and management. That doesn’t mean that you only ever need to represent your data in one unit. Let’s take a simple example. You have parcels and you store the area of each parcel is meters. What if you wanted to label parcels with their area but have it be in acres? You could add a new field, and using the field calculator, derive the new value and label on that field. That works, but it doesn’t scale well for multiple units, and it’s a bit heavy handed for just wanting to show data in a different unit. This is where Arcade comes in. With Arcade you can quickly do that calculation on the fly to satisfy that requirement without the overhead of storing it in the database.
It’s not just about labels though. You can take the same expressions and use them to create smarter symbology. In the example below you can see an expression being used to map the average traffic count at intersections over a 5-year period using the graduated sizing.
Perhaps it’s something a bit more technical, maybe to make calculations easier you store information about angles in radians within your GIS. However, when it comes to visually displaying that information you might want to show your symbol rotated based on that angle (which requires decimal degrees) using Arcade you can write an expression for your symbol’s rotation value to get that done. You can do the same with transparency values on smart mapping also, allowing you to really draw attention to the aspects of your map that are most important and have less important information blend into the background.