Help with Data Driven Page Labeling (Annotation)

1754
4
Jump to solution
03-04-2013 12:44 PM
WilliamTrachtman
New Contributor III
I am brand new with DDP, and I just took an introductory course on python 2 weeks ago, so please go easy on me lol.

I would think that this question has been asked before, but I searched to no avail.

Anyhow, I want to be able to label items in selected regions, but not have the labels (or the items themselves) show up in adjacent regions.  In this case, I am labeling schools in individual zipcodes in a city.  If I allow for labels of schools in other adjacent zipcodes to show up, it gets way to crowded.  Through trial and error, the labels are have now been converted to annotation in a database, grouped by zipcode.

I have partially solved the problem by:

using the clip options on the data frame----clip to current data driven page extent

This works great if all of the labels can fit inside the the zip code.  However, if it gets too crowded inside the polygon for all the labels, the labels that are placed outside of the polygon get clipped.

I know that if I can exclude layers from the clip options; however, if I do that for the labels layers, they will show up again for every zip code, not just the one that I am working on.....unless I manually tell it to only exclude the labels for the zip code in which DDP map is being made.  This means that I will have to do that for every zip code, and then, there is really no automation any longer.

One possible solution that I have thought of is to make a new layer with "larger" zip codes.  These areas would be extended out slightly form the actual zip code, and could be used for the clipping area.

In brief, I think my question is: Is there a way to use DDP to show the labels of points inside of a polygon1, with the actual labels extending outside of polygon1.  Then using DDP to show the labels inside of polygon2, with the actual labels extending outside of polygon2 and so on?  Does that make sense?  I have attached a sample of the map that I am working on.  It is one of many DDP maps.

[ATTACH=CONFIG]22356[/ATTACH]
0 Kudos
1 Solution

Accepted Solutions
MelanieSummers
Occasional Contributor III
Hi,

Depending on how your data is set up you could use Page Definition Queries.

Best,
Melanie S.

View solution in original post

0 Kudos
4 Replies
MelanieSummers
Occasional Contributor III
Hi,

Depending on how your data is set up you could use Page Definition Queries.

Best,
Melanie S.
0 Kudos
WilliamTrachtman
New Contributor III
I think that might be exactly what I needed.  I will give it a shot.
Thanks!
0 Kudos
WilliamTrachtman
New Contributor III
Yes, that is exactly what I needed, but I don't want to close out the thread yet as I have a related question now.

I am not wild about the automatic placement of the labels, so I have turned them into annotation.  In order to keep the scales of the labels correct, I am having to turn the labels into annotation for each map (using the Page Definition Queries so that only the labels for the selected zipcode are turned into annotation at 1 time).  For each map, I turn the labels into annotation...meaning that I currently have about 20 databases of labels in my geodatabase.  I have already done this manually, but is there a way to do this automatically?  A pre-written script perhaps?

Also, in order for the now 20 databases of annotation to show up only in the selected map, I have again used Page Definition Queries.  I added a column to each of the annotation databases with the number of the zipcode.  Is there a way to do this automatically as well?  I originally planned to use a spatial join: joining the annotation of all the labels (all zip codes) to the zip code in which they were contained; however, I found out that the labels were considered polygons (not points), and was therefore not sure how the results of the join would be for labels that went outside of the zipcode polygon.

I have it all working correctly now, but it was a lot of work.

Thanks.
0 Kudos
MelanieSummers
Occasional Contributor III
Glad Page Definition Queries are working for you. You may want to look into Tiled Labels to Annotation for your first issue.

I'd play around with the spatial join if  I were you, using one of the CLEMENTINI selection types could at least narrow down the number you have to do manually.

Best,
Melanie S.
0 Kudos