Annotation is an important cartographic design technique. When you create a map for printing or for publication in paper, annotation is an essential part of your map design. Although ArcMap allows the user to create labels with rich symbol styles, labels can only be saved with map documents instead of in a geodatabase. Storing labels in map documents is not convenient for sharing cartographic works among geodatabase users. Annotation feature classes resolve this problem.
Annotation feature classes are similar to other feature classes in a geodatabase. A feature in an annotation feature class has a location and a text element which is described by a set of attributes including font, size, color, placement, and so on.
There are two types of annotation feature classes
- Standard annotation feature class
- Feature-linked annotation feature class
A standard annotation feature class is not related to a source feature class. In cartographic design, it is not uncommon that a label, such as a mountain range name, does not have to attach to a specific feature. Moreover, raster datasets, such as satellite images, do not have features at all. In these situations, you have to use standard annotation feature classes.
A feature-linked annotation feature class is related to a source feature class, so that when it draws an annotation, it obtains text from the attribute table and obtains an anchor point from the source feature as well. It's kinda like a dynamic label. For example, a feature-linked annotation feature class can be created to annotate parcels. When it annotates a parcel feature, it obtains a parcel ID as well as an anchor point from the linked feature. Similarly, feature-linked annotation feature classes can be created for roads, rivers, countries, and etc.
Annotation feature classes can be created in either the root or feature datasets of a geodatabase. When you create a feature-linked annotation feature class in a feature dataset, the related feature class must also exist in the same feature dataset. If you create a feature-linked annotation feature class in the root of a geodatabase, the related source feature class must also be in the root of the geodatabase.
Part 1: Creating a feature-linked annotation feature class for the Streets feature class
- Start ArcCatalog.
- Right click on the Transportation feature dataset and select New | Feature Class.
- In the first tab of the creating new feature class dialog, set a name Road_Anno and alias Road Annotations, select Annotation Features in the type of features box, check the Link the annotation to the following feature class, select gdb2016.jb3379.Streets in the drop-down list, leave everything else at their default, and click Next.
- In the second tab, specify a reference scale 1:5000 and check the Require symbol to be selected from the symbol table checkbox. The reference scale is a map scale for the planned output map. It is an important specification for the new annotation feature class because it controls the sizes of annotation symbols in the result map. It is at this scale that symbols will print or display at the size you specify. If you zoom in or create a map at a larger scale, symbols will appear larger than what you specify - symbols could become oversized if actual map scale is too large. If you zoom out or create a map at a smaller scale, symbols will be smaller than the size you designed - symbols could be too small to be seen at times. For the Flagstaff streets map, a map scale of 1:5,000 can decently displays most street segments and annotations. To find out an appropriate scale, you need to use ArcMap to test different scales.
The Require symbol to be selected from the symbol table checkbox requires edited annotation features to maintain a reference to a text symbol in the feature class symbol collection. Without checking on this option, a feature will lose connection to the symbols in the classes (subtypes) you define if it is edited later. This option affects map display performance. - The third tab allows you to create classes (subtypes) in the new annotation feature class. It is the most complex step in configuring a new annotation feature class.
Use the procedure below to configure the default class (subtype):
- Select the FULLNAME field in the attribute table of the related feature class (Streets) from which the new annotation feature class will draw text to annotate features.
- Use the New button to create the following new annotation classes (subtypes): Interstate highways, State highways, and Local roads.Use the specifications below:
Annotation Class (subtype) Parameter Interstate highways State highways Local roads Label field FULLNAME FULLNAME Expression: [PREFIXDIRE] & " " & [BASENAME] & " " & [STREETTYPE] Font Arial Arial Arial Size 10 pt, Bold 8 pt, Italic 6 pt Color Cherrywood Brown gray (80%) Gray (60%) Placement Street Placement Street Placement Street Placement Stack label Off Off Off Offset 3 points 2 points 1 point Scale Range... Zoom out beyond 1:100,000 1:50,000 1:10,000 Zoom in beyond 1:4,000 1:2,500 1:500
- Click NEXT, NEXT, and FINISH to complete the new annotation feature class.
After creating a new feature-linked annotation feature class in the Transportation feature dataset, you can use ArcMap to populate it with annotation symbols.
- Register the Transportation feature dataset as versioned (if it's not versioned). While registering, unlike in previous labs, you'll check on the ... move edits to base option (if the option is available). Close ArcCatalog.
- Open ArcMap, load the Streets feature class and the Road_anno annotation feature class into the map, and zoom the map to 1:5000 by entering the value in the scale box in the toolbar.
- Start an edit session to edit the Road_anno feature class.
- Use Select by Attributes to select all local roads (ROADCLASS = 3) from the Streets feature class.
- In the Table of Contents (TOC), make sure only the Streets layer is highlighted, right click on the streets layer name, and choose Selection | Annotate Selected Features. In the pop-up dialog box, uncheck the checkboxes ahead of all annotation classes except the local roads and click OK, as in the snapshot below. ArcMap will annotate the selected features using the predefined symbols for this class.
- Wait until ArcMap finishes annotating the local roads, clear selections, then pan around the map. If you feel the automatically create annotation symbols are too sparse, you can manually select some road segments and repeat step 5 to add more symbols. If you find symbols over crowded or overlapped at locations, you can manually (use the Edit Tool to) select some symbols and hit the Delete key to delete them, or move symbols to new locations.
In an edit session, another method to manually add annotations in a feature-linked annotation feature class is the following:
- Highlight the Road Annotation feature class in the TOC.
- Select an annotation subtype (e.g. Local Roads), then click a road segment to add an annotation symbol.
- Select the Follow Feature button, and click on the Find Text tool in the Annotation Construction window, then click on a road segment you want to annotate. The name of the road segment should appear in the text box in the Annotation Construction window (if the name of the road segment is not blank). You may change the annotation text if necessary.
- Click on the road segment again to specify an anchor point and move the mouse cursor a little above or below the road segment to find a proper location and click one more time to place the label.
- Repeat steps 4 thru 6 to annotate the state highways (RoadClass=2) and interstate highways (RoadClass=1).
Even though annotation is to some extent automated, correcting automatically created symbols is still very labor-intensive work. The snapshot below shows some examples of improper annotation symbols in the Country Club area. Use the tools on the Annotation toolbar to modify automatically created annotation symbols. Because of limited time, you do not have to fix all symbols, but at least try to use all the annotation tools to fix maybe a couple of dozen symbols. Then save your edits, stop editing, and save your map.


Part 2: Creating A Feature-linked Annotation Class for the Waterline Feature Class
Use what you learned from the first part to create a feature-linked annotation feature class named Waterline_Anno (alias Water line annotation) for the waterline feature class in the Utilities feature dataset to label pipe_func-pipe_type-pipesize (e.g. Water main-20-8). Because of the small features such as service laterals in the water line feature class, you are suggested to use the 1:1000 reference scale. You must create four annotation classes in this annotation feature class, one for each subtype of water line feature class.
Copy and paste the following table into your word document for this lab and take down settings in the table when you design annotation symbols.
Annotation Class (subtype) | |||||
Parameter | Transmission | Water main | Fire lateral | Service lateral | |
Label field | PIPE_FUNCT | PIPE_FUNCT | PIPE_FUNCT | PIPE_FUNCT | |
Font | Arial | Arial | Arial | Arial | |
Size | 10 pt, Bold | 8 pt, Italic | 6 pt | 6 pt | |
Color | Cretan Blue | Ultra Blue | Dark Navy | Dark Navy | |
Placement | Street Placement | Street Placement | Street Placement | Street Placement | |
Stack label | Off | Off | Off | Off | |
Offset | 3 points | 2 points | 1 point | 1 point | |
Scale Range... | Zoom out beyond | 1:100,000 | 1:50,000 | 1:10,000 | 1:10,000 |
Zoom in beyond | 1:1,000 | 1:500 | 1:250 | 1:250 |
Note:
- Once an annotation feature class is created, you can make changes to most of its settings.
- You may need to do a few experiments while figuring out appropriate zoom ranges.
Part 3: Converting Labels to Annotation Feature Class
- Add Parcel feature class from the Land feature dataset to the map.
- Enter a map scale of 1:1500.
- In the TOC, right click on the data frame | reference scale... | set reference scale.
- Right click on the Parcel layer | convert labels to annotation...
- In the resulting dialog box, rename the target annotation feature class to Parcel_Anno.
- Make sure the feature linked checkbox is checked.
- Click convert. After awhile, when it's done, right click the parcel layer and uncheck label features.
- Right click the Parce_Anno layer | Properties, then select the Symbology tab.
- Choose Substitute text symbol colors with this color, and choose red, as shown below.
- Click OK.
Since the condominiums are too small to hold labels at this scale, you need to move the labels outside the parcels and add a leader to each label after converting labels to an annotation feature class. To do so, you need to start an editing session in ArcMap, then use the Edit Annotation Tool to select a label, right click on it and select Add Leader, and finally move the label outside the parcel to a proper location.
