Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have a feature linked annotation feature class with a number of annotations displayed only partially on the edges of the visible extent of the layout data frame.

The link annotation class will be used in a number of other maps of the same scale and paper size but showing different locations.

Is there a way to dynamically hide the partially displayed annotations?

Out of the box solution preferred, programmatic (ArcObject, VB.Net Addin) acceptable enter image description here

share|improve this question
+1 Great question. This capability should be built in to any decent labeling engine and available either by default or as an option. (It's not hard for a developer to code, nor would it lead to inefficient display: they just have to elect to exclude any text whose bounding box is not wholly contained in the map view.) If it's not already a part of ArcGIS, consider submitting an enhancement request. – whuber May 30 '13 at 19:40

I do this with a bounding box. I had a script (that need to be update since it was in VBA), that create an extent rectangle in the map (as a .shp) and then I used it to select any annotations that intersects the boundary of my extent layers. Then I set the placement properties to those labels to "unplaced".

Could all be placed into a tool in ArcToolbox.

share|improve this answer
Thanks for your answer. That would work with annotation feature class but this Question is about dynamic label placement. – Jakub Jun 19 '13 at 19:42
Feature linked annotations are still in a geodatabase, right? Then it should work since the annotation are "physical" and not only dynamic (?) – fgcartographix Jun 20 '13 at 17:02
True. I will see if I can come up with a script. – Jakub Jun 20 '13 at 17:40

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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