Ask A Cartographer

Mapbook labeling question

March 27 2009 | 1 comment
Categories: Labeling

I have created a mapbook in 9.3. Everything is fine except that I want to name some of the water bodies on a few of the map pages. These features do not have attribution in their tables and I wanted to use "New Splined Text" button to create the labels (as well as have them be curved). My problem arises because it carries the text from page to page. Obviously the water body I'm trying to label isn't in the same place (or even has the same name) from page to page. How to I embed this label in each page without it carring over to the next mapbook page? Is there another manual way to do this? Help!!


Mapping Center Answer:

I would add the layer you want labels for (sounds like hydro polygons) and your map sheet boundaries to a new map.  Set the reference scale to be the scale your series is being produced at (if your sheets have differen scales, this won't work so well, as the text size will vary from one map to another). 

Another issue is that you want multiple labels for the same feature, because it's going to appear on multiple sheets.  So, first Intersect your hydrp polygons with your sheet boundaries--that will break your polygons along sheet boundary lines.  The result is what you'll want to label.  I would also recommend using an additional label class for the smallest features where you'd label the boundary instead--this would handle the case where only 5-10% of a given feature is appearing on one sheet, while the larger portion is on another sheet.

In the labeling toolbar, set the feature weights for your intersected hydro polygons to be high (not using Maplex) or 1000 (using Maplex).

Next, convert your layer's labels to annotation (store it in a database, not the map). This will give you annotation that won't cross your map sheet boundaries and that you can edit to change the baseline to a spline (by setting the curvature to Curved). 

But, if your map covers a large area relative to your reference scale, the labeling process may run out of memory.  The easiest way to manage that is to divide your extent into four, symmetrically down the middle of the extent.  Then zoom such that the edges of one of the quadrants is exactly on the edge of your data frame's extent (in data view).  Convert that quadrant's labels to annotation.  Then turn labeling back on for your layer, pan to another quadrant, and covert that quadrant's labels to annotation, but use the append option and specify the annotation feature class from the first quadrant as the output location.  Repeat for the other two quadrants. 

If you've got an area larger than what Quadrants will easily handle, you could use the same approach, but it will be much harder to manage.

graphic text posted by David Barnes on Apr 3 2009 8:00AM
If you're determined to use graphic text for this make sure the data frame is focused before you create the text. That way the text will get placed inside the data frame in geographic space and will stay rooted in that geographic location when you switch pages in the map book.

If you would like to post a comment, please login.

Contact Us | Legal | Privacy |