How to style OpenStreetMap data with Arcade in ArcGIS Pro

In August 16, 2021 John Nelson kindly hosted on Esri ArcGIS Blog my article about Styling OpenStreetMap data with Arcade in ArcGIS Pro.

In this article I thoroughly narrate how I style and label spatial data from the OpenStreetMap database to quickly and efficiently produce nice and impressive pretty maps. I use Luxembourg for my area of study, because it is a small country and contains lots of information in a small space. My step-by-step process starts from scratch and builds a street-level map in 1:90,000 scale.

Wherever possible I use Arcade to write custom styling and/or labelling expressions. I do this most of the times to avoid creating complicated symbol or label classes for my layers. Arcade is easy to learn and there are numerous benefits from its integration in ArcGIS Pro. To effectively label some quite demanding layers, such as the roads, I also make use of the Text Formatting Tags, available for ArcGIS Pro, in my Arcade expressions.

Here is a slideshow with all the screenshots used in my article:

Visual Portfolio, Posts & Image Gallery for WordPress

Adding Paper Texture Tiles from the Living Atlas

Styling the Countries Boundaries layer with Shape marker

Styling the Countries Areas layer with Arcade expression and a Donut effect

Labelling the Countries Areas layer

Styling the City of Luxembourg and the Urban Areas

Styling the Populated Places with Arcade expression

Labelling the Populated Places with Arcade expression

Styling and positioning the labels of the Populated Places

Styling the Forests layer

Styling the Water Bodies

Labelling the Water Bodies

Styling the Rivers

Labelling the Rivers

Styling the Roads Back layer with an Arcade Expression

Styling the Roads Front layer with Unique Values to control the Color of each type

Styling the Roads Front layer by varying symbology by size and Arcade

Symbol layer drawing for the Roads Front layer

Labelling the Roads Front layer with Arcade and Text Formatting Tags

Label Priority Ranking for all label classes

Label Weight Ranking for all label classes

Converting all labels to a single output annotation class

I have also uploaded on my ArcGIS Online account the OpenStreetMap Styling Map Package, which includes all data used in the project, as well as all the styling and labelling properties, including the Arcade expressions.

You may download it and use it under a CC BY-NC-SA 4.0 license.

I have downloaded all OpenStreetMap data from the Overpass Turbo with appropriate queries in GeoJSON format and I have further converted them to feature classes with the JSON To Features Geoprocessing Tool.

In my article I don’t dive into the Overpass Turbo, but I include the link for those who wish to learn how to use it. Here is also the table with all the OpenStreetMap layers I use in my article, with links which go directly to Overpass Turbo with the corresponding queries. Just hit Run and then export the data.

Cultural FeaturesPhysical FeaturesTransportation Features
Countries BoundariesForestsRoads
Countries AreasWater Bodies
City of Luxembourg AreaRivers
Urban Areas
Populated Places

You may also change the extent of the area of study, which at those queries is set to Luxembourg. The scheme goes like [bbox: bottom, left, top, right] and if you wonder how on Earth you can find the extent coordinates for your own area of study, here is the Set the map extent topic for ArcGIS Pro!

And if you read and enjoy my article and find it useful and learn from it, don’t neglect to like and/or comment on Esri Twitter and Instagram.

I want to thank Esri and John Nelson personally for sharing my article. It is a great honor to see it on Esri’s blog and it feels so great to see people benefit from my work.

I am open to any feedback and suggestions for improvements on my techniques and workflows.

Kindest regards from Crete, Greece.

Your support is welcome!

If you really enjoy my blog and have benefited from the knowledge and experience I share here, you are more than welcome to make a donation or become a Patron, to help keep this content open, free and up-to-date!