Varible Depth Masking for Annotaion
I am wanting to mask out specific pieces of annotation in a large base dataset for separate maps.
Thought I had this all sussed and created a polygon feature class and drew masks for the text I wanted to mask. Then went to the Layout Windows options and under advanced drawing options was going to set up masking in here but it seems while a polygon layer can be used to create masking on another polygon, line or point layer it cant be used to mask annotation.
Is there any way to mask annotation around the edges of a map without modifying the annotation class in any way (ie not using the status field in the annotation feature class)
A definition query was the other way I was going to go about it but as there are a large number we were going to create a table of OBJECTIDs (MskObjtsTble) to be masked and then do a join with the Annotation feature class and those that didn't have a join result would be shown. Problem was we found this to be a real performance hit on the large dataset and a bit messy so looks like we will copy and clip the anno layer for each map and use the original for reference at update time but would be nice to be using the base data itself.
Look forwad to any ideas on this—I have also posed in Cartotalk and I know another Cartographer there from the US Marine Corps is interested in the same thing.
Mapping Center Answer:
The short answer is we don't support masking annotation, i.e., polygon data masking annotation features.
Normally, I would say go ahead and use the status field as it's a more permanent solution.
However, you can interactively create selection layers of your annotation. For your case you will still need a way to select the annotation elements that are completely within the bounds of your map's extent. To do that:
- From the selection menu choose Options.
- In the Selection Options dialog box in the uppermost section called Interactive selection, change the option to the second, which is called "Select feature completely within the box or graphic(s).
- Click OK.
Then set your annotation layer to be your only selectable layer. I would do this next step in layout view, which is to use the interactive selection tool to select your annotation. If you've got a polygon feature class with your map sheet's extent you could use that with the select by location tool to achieve the same result. With the interactive method, definitely zoom in, in layout view, and verify your map edges, interactively adjusting the selection set until it's correct.
Then with your TOC showing the display tab, right-click on your annotation layer and choose Selection, and the Create Layer From Selected Features. That will create a selection layer of only those annotation features, and that layer resides in your map, or if you want, you can save to a layer file (.lyr) to use in other maps of the same extent.
If you would like to post a comment, please login.