[GIS] Uniform Annotation Font Size in Multiple Data Frames

annotation;arcgis-desktopcartographydata-frame

I'm making a map that has five inset maps that display a smaller map scale where point features are more dense. I have exported my labels to annotations in the geodatabase so that I could fit the labels that maplex wouldn't draw and move things around for the final touches. I am using the same annotation layer across all the insets so my GDB isn't cluttered with multiple annotation classes.

The problem is that because these data frames use different map scales the annotations are drawing at different sizes because it is set to a single reference scale. I can't set it to 0 because it is in a geodatabase. Using Symbol Substitution changes the font size, but it doesn't scale the font to the same sizes (10pt in one data frame displays at a different size than 10pt in another data frame).

My question is:
How do you display the same geodatabase annotation class in multiple data frames, with diffent scales, at the same page layout font size?

Best Answer

Text placement is very scale specific. There are many cases where drawing text at the same screen/page size for different map scales will result in text collisions. If you happen to be in the rare case where you can re-size without collisions, use Symbol Substitutions as @Jakub notes. You'll need to calculate a text size to mimic the size seen at the other scales etc.

For cases where you need to generate annotation at different scales, I'd recommend using the Tiled Labels to Annotation tool. This works with data driven pages workflows etc. and can generate different scales.

[UPDATE] To do the size calculation, it's a matter of remembering that scales are fractions:

original size / anno reference scale = x / new scale

so for a scale where I have twelve point font at a reference scale of 1:90,000,000 and I want that text to draw at 1:400,000,000, do this:

12 / 90,000,000 = x / 400,000,000

which means x ~ 35.56

Setup symbol substitation with a size of 35.56 pts and you'll be ok.