CIMbology
The CIM spec allows you to create some amazing and sometimes complex symbols for use in your ArcGIS apps. We’ve been able to use them in the ArcGIS API for JavaScript via the CIMSymbol for a while now. Ideally, you could use a DictionaryRenderer using some predefined symbols.But you could definitely build your own custom CIM in your apps with the API.
I’m not going to lie, it can get complex pretty quick. CIM symbols are defined very similar to SVG. You define geometry in symbol space. You can have multiple layers in the symbol, even text labels. And to top it all off, these can be data driven, even using Arcade expressions! Mind blown.
Here’s an old sample I made where I attempted to draw hospital beds by hand. I learned a lot writing it, but not it’s definitely not the kind of complex symbol I would want to do again.
Enter the CIM Symbol Builder. This tool is amazing. You can add as many layers as you want, change the color, even add a picture to the symbol. It’s great, because when you are ready, you can copy the JSON for the CIM, use it as-is, or modify it with expressions or any other crazy stuff you want to do. This simple little tool is a map-making lifesaver. Combine this with the Symbol playground and you have all your symbol needs covered.
You can see a quick video where I stumble my way through the CIM builder below.