[GIS] Change annotation symbol properties in bulk

annotation;arcgis-desktop

How can a person change annotation properties in bulk?

For example: take the 4500 records in "Waterbody text" annotation feature class and change all occurrences of "Times New Roman", "Cyan" to "Revival", "Cretan Blue".

I don't want to use layer symbol substitution if it can be avoided (and Esri recommends against it for this anyway: "…is not designed to be a wholesale replacement of annotation symbol editing and symbol management")

Best Answer

you can work with the annotation properties like with a normal attribute table. So you can update your properties using the field calculator. You just need to know the exact string (or value), so I would first change one annotation manually in order to observe the right syntax. enter image description here

EDIT : another approach for full control is to start an edit session, select the annotations that you wish to modify, and update based on the attribute window (on the editor toolbar).

If you select the annotation class name it modifies all selected items. Note that you need to press "apply" to actually change your annotations.

enter image description here

Another approach consists in using text formatting instead of annotation properties. This way you have all information in your text string. For instance :

<CLR cyan = "100">Annotation_text</CLR>

that you can create with the filed calculator (python parser used here)

""" <CLR cyan = "100"> """ + !TextString! + """ </CLR> """
Related Question