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

  • +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, 2013 at 19:40

1 Answer 1


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.

  • Thanks for your answer. That would work with annotation feature class but this Question is about dynamic label placement. Jun 19, 2013 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 (?)
    – fgcarto
    Jun 20, 2013 at 17:02
  • True. I will see if I can come up with a script. Jun 20, 2013 at 17:40

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.