4

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")

3 Answers 3

5

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> """
8
  • That's curious, I have a totally different attribute structure. FontName, bold etc. don't exist: i.imgur.com/azt5DY9.png Oct 20, 2014 at 18:49
  • Ahhh, these annotation were created back in 9.x era. There's an Update Annotation Feature Class tool which I ran on these data. However "color" is not an attribute. How strange. Oct 20, 2014 at 19:30
  • Using Edit Annotation tool and changing a records colour produces zero change in the attribute structure. Other changes such as font name, bold, etc. are reflected. So it looks like I still need to use the Drawing Toolbar approach. Oct 20, 2014 at 19:42
  • with the second method you can change the colour. I haven't tried with a large number of annotations but it worked for a sample.
    – radouxju
    Oct 20, 2014 at 21:03
  • Thank you for the tip about selecting the parent node (the "NUTS_.." in the screenshot above) to edit multiple features at once. I didn't know about that. I confirm it does work for thousands of records, subject to the same extra long wait times my "use Drawing tools instead" answer describes. I'm truly mystified why they'd bother to expose Fontname, size, bold, etc, and leave out colour(!) Oct 20, 2014 at 21:16
1

Esri Mapping Center has another approach, Changing Annotation Feature Class Font:

If you want the change to be permanent, you can add the symbol to the symbol collection in ArcCatalog and then open the annotation feature class in ArcMap and calculate the symbol ID field to the new symbol. You need to be careful using this approach because if there are symbol overrides they will be wiped out. You can work around this by calculating out the override fields, changing the symbol ID field and then calculating back the values.

There would be some research involved in figuring out what Symbol ID to use. In my data they're all -1, e.g. not specified.

1

I found something that works, but it's error prone and would probably crash ArcMap with larger datasets or machines with low memory. A better solution is still desired.

Load the annotation FC in ArcMap, then using the Drawing toolbar, NOT Editor as you might expect:

  1. Select the features to change (Drawing arrow)
    Drawing toolbar arrow selected
  2. Zoom in so only a few features are visible
  3. Start Editing
  4. Change desired property (Drawing toolbar)
    Drawing toolbar font colour selected
  5. De-select (click on a blank spot)
  6. Save edits

Wait for the spinny circle to stop before going to next step or you'll have to start over again. Do not click while waiting. Sometimes the spinny circle doesn't start for awhile. Move the mouse cursor over the ArcMap toolbars, If the help tips don't show, it's spinning, wait.

On my moderately powerful 2.5Ghz machine with 12mb memory I have to wait several minutes between operations with 4356 selected elements.

Step 2 & 4 are just to reduce screen redraw time. I don't know that they really make much difference.

Your Answer

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

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