"Convert Label to Annotation" gives different result than normal labeling?

397
3
Jump to solution
05-04-2012 05:17 AM
MarcoBoeringa
MVP Regular Contributor
Hi all,

I am having an issue with the "Convert Labels to Annotation".

For the record:
- WinXP SP3
- ArcGIS 10.0 SP4
- ArcEditor with just the basic labeling engine, so no Maplex.

I would like to setup a number or Annotation feature classes in my FGDB. I spend a lot of time tweaking cartographic display including the usage of symbol levels on road and city feature classes, but also setting up labeling rules, including setting up individual labels classes for each type of road or town as part of the settings of the Data Frame and layers. I set Feature Weights and Labeling Weights, labeling priority etc and when I view the labeling result using just the normal labeling option (right click layer and choosing "Label Features"), everything looks fine and how I want it. The results of the labeling settings and layer order in the TOC seem to be considered well.

However, as soon as I attempt to export the exact same labels to my FGDB using the "Convert Labels to Annotation", I notice I get a different result. Labels that should have been placed with high priority, e.g. the town names, are missing in the view. The final result is not what I want and not consistent with the normal labeling. It seems the "Convert Labels to Annotation" tool ignores settings, or doesn't apply them in the right order.

Anyone else experiencing similar issues or having tips how to resolve this?

Marco Boeringa
Tags (2)
0 Kudos
1 Solution

Accepted Solutions
MarcoBoeringa
MVP Regular Contributor
OK, well, I think I now figured it out myself... 🙂 what I hadn't reckoned with, is that when using normal labeling, the labels are actually only placed within the visible extent of the data frame on the layout. That is good for display, as labels are not "cut off" at the borders of the data frame on the layout, but it also means that when exporting annotation to an Annotation feature class, where you would usually want to export the entire feature class so as to support panning across the entire dataset and still see labels, labels may be placed OUTSIDE the current view if there are long lines like roads. Hence they are not visible in the same way as with normal labeling...

You can solve this by choosing "Only label current extent" in the export options for "Convert Labels to Annotation", but this also means the exported annotation will not cover the entire dataset.

Seems we have a trade off here: either label only "Features in current extent" when exporting to annotation to get consistency between the dynamic labeling and annotation, but with the drawback of not being able to pan your entire dataset with annotated labels, or label using "All features" when exporting to annotation, but risk labeling to be different from what the current extent of the data frame in layout view shows...

Food for thought... :confused:

*** EDIT ***: this also opens up another possibility/ solution:

If you have an already predefined set of extents for which you want to make maps, like 5 regions (not necessarily equal in size like a regular map grid!), you could simply create a (poly-)line feature class of the outlines of the regions and add it to the view. Set it to be high "Feature Weight" so as to enforce that the features may not be overlapped by labels. Set other labeling lower weight. This is what happens at the borders of a data frame in layout view. And set symbology to 100% transparent so as to hide it's existence. You probably need to enable labeling as well for the labeling engine to have it participate in the labeling process. Maybe you need to set labels as well to transparent.

You now have a dataset that will at least enforce that created annotation during export to the geodatabase will hopefully not overlap / be cut off at borders, and more or less confine itself within the polyline feature.

It is not entirely the same as the dynamic labeling, but it might help in some cases (I haven't tested this thought yet though!).

I also see now that using so called "Map document Annotation" might be better suitable for my purposes. Have to read a bit more though about that and annotation groups.

View solution in original post

0 Kudos
3 Replies
MarcoBoeringa
MVP Regular Contributor
OK, well, I think I now figured it out myself... 🙂 what I hadn't reckoned with, is that when using normal labeling, the labels are actually only placed within the visible extent of the data frame on the layout. That is good for display, as labels are not "cut off" at the borders of the data frame on the layout, but it also means that when exporting annotation to an Annotation feature class, where you would usually want to export the entire feature class so as to support panning across the entire dataset and still see labels, labels may be placed OUTSIDE the current view if there are long lines like roads. Hence they are not visible in the same way as with normal labeling...

You can solve this by choosing "Only label current extent" in the export options for "Convert Labels to Annotation", but this also means the exported annotation will not cover the entire dataset.

Seems we have a trade off here: either label only "Features in current extent" when exporting to annotation to get consistency between the dynamic labeling and annotation, but with the drawback of not being able to pan your entire dataset with annotated labels, or label using "All features" when exporting to annotation, but risk labeling to be different from what the current extent of the data frame in layout view shows...

Food for thought... :confused:

*** EDIT ***: this also opens up another possibility/ solution:

If you have an already predefined set of extents for which you want to make maps, like 5 regions (not necessarily equal in size like a regular map grid!), you could simply create a (poly-)line feature class of the outlines of the regions and add it to the view. Set it to be high "Feature Weight" so as to enforce that the features may not be overlapped by labels. Set other labeling lower weight. This is what happens at the borders of a data frame in layout view. And set symbology to 100% transparent so as to hide it's existence. You probably need to enable labeling as well for the labeling engine to have it participate in the labeling process. Maybe you need to set labels as well to transparent.

You now have a dataset that will at least enforce that created annotation during export to the geodatabase will hopefully not overlap / be cut off at borders, and more or less confine itself within the polyline feature.

It is not entirely the same as the dynamic labeling, but it might help in some cases (I haven't tested this thought yet though!).

I also see now that using so called "Map document Annotation" might be better suitable for my purposes. Have to read a bit more though about that and annotation groups.
0 Kudos
JonMorris
Occasional Contributor II
Hi Marco,

You could try the Tiled Labels To Anno tool or export using Data Driven Pages - either way a new labelling run takes place for each extent so you should see every feature labelled when you zoom in.
0 Kudos
MarcoBoeringa
MVP Regular Contributor
Hi Marco,

You could try the Tiled Labels To Anno tool or export using Data Driven Pages - either way a new labelling run takes place for each extent so you should see every feature labelled when you zoom in.


Thanks Jon, that is a useful tip and good addition to this thread. I am already setting up Data Driven Pages and determining which labels I would like to have tiled, if not all. Of course, if you already have a fully annotated layer stored in an Annotation feature class, and disabled "Label features" for the corresponding layer, the Data Driven Pages will not solve the issue. That is just one minor caveat to that solution, it needs active labeling set.
0 Kudos