I am putting together a map of GPS-enabled vehicles, and I am hoping to display them with custom point symbols that change appearance based on a few attributes (things like velocity, heading, and a few other business attributes). For example, the fill color might change depending on the vehicles speed, the shape might change based on vehicle type, and the size might change based on another attribute.

I have considered using the "unique values, many fields" option in the symbology menu, but I don't think it will work for this task because 1) my data has seven attributes that the symbol needs to be based on, and the dialog only allows for three fields, and 2) if I have to create each symbol individually for every combination of attributes, I'd have to build over 350 symbols in total.

I would prefer to specify something like "if speed is X, set fill color to Y; if vehicle type is A, set symbol outline to B, etc."

Is this kind of customization possible in ArcMap, and if so, what is the best approach?

  • Is a programmatic solution acceptable? Oct 6, 2011 at 18:08
  • If you are looking for a programmatic solution, perhaps take a look at some of the ArcObjects samples, such as Multivariate Renderer and RSS Weather Layer.
    – blah238
    Oct 6, 2011 at 18:13
  • Yeah, a programmatic solution would be fine. I would prefer to do it through the ArcMap GUI, but if there is a better way to do it through ArcObjects I am open to trying it.
    – mrohlf
    Oct 6, 2011 at 18:49
  • maybe I mis-read your title. I read vector as the format of symbology. perhaps you meant vector to be directional symbology. ??
    – Brad Nesom
    Oct 6, 2011 at 21:44
  • Do you intend to publish the mxd as an arcgis server mapservice? Oct 7, 2011 at 14:52

3 Answers 3


EMF format is the only vector format symbology I can find documented supported in arcgis.
There is the cartographic representations that "looks" to be a vector format.
But I can't see any documentation on what format it is.
If you look in the style manager, you will see the representation markers.
None of the standard esri have any populated symbols in this category.
Your personal style will have just a handful.
If you search for other questions with "representation" there are some pretty detailed descriptions of the limitations and uses.

  • I have looked at cartographic representations a bit, and it looks like that would do everything I need as far as creating a custom vector symbol, but I have not found a way to dynamically change a representation marker based on attribute fields. Do you know if ArcObjects can be used to modify cartographic representations on the fly?
    – mrohlf
    Oct 7, 2011 at 15:59
  • That is exactly what Representations do. With thec aveat that your attribute has to be the same field as the ruleid field created. And that is a coded value domain field.
    – Brad Nesom
    Oct 7, 2011 at 19:55
  • Use selection rules on your 7 attribute columns to calculate the value for your rule id. You could do this fairly easily with a python script. Nov 6, 2011 at 18:42
  • 1
    I played around a little more with representations, but I wasn't able to get them to do quite what I wanted... I ended up making an approximation by splitting the data into four layers and drawing part of the symbol on each layer. It's about 90% of what I wanted, and the customer is happy with it. I'm planning to take another stab at representations when I have more time, to do it the right way. Thanks!
    – mrohlf
    Nov 7, 2011 at 22:26

One option is to create the symbols using labels rather than symbology. Simply setup a label that is rendered on top of the point and use a transparent marker symbol.

Using the label expression you can create different symbols depending on field values by changing the labels character. The size and colour can then be changed using formatting tags.

This approach can work well, and is easy to setup. However, if you use the default labelling engine you may have problems with closely packed labels. It also limits you to using a single character as your symbol.


Look at Custom Renderers or/and Custom Layers.

  • He mentions in the comments he wants to publish this as an MSD based mapservice. Is there a way to use custom renderers or custom layers in this context? Nov 7, 2011 at 3:06
  • I know you can if you serve MXDs. I do not know if MSD services have this limitation... @KirkKuykendall are you afraid they do have the limation if not, besides performance, is an MXD service not an option? Nov 7, 2011 at 3:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.