This tutorial will first walk you through the best cartographic practices of labeling, if you wish you can skip to ‘LabelPro Steps’ for the step-by-step tutorial on how to use LabelPro.
Labeling your map is one of the last steps in the map-making process. There are two reasons for this, you want to make sure that your data is cleaned up and all styling and symbology on your map is complete, this will ensure that the labeling process can be completed quickly and efficiently. Labels play an important role in the look and feel of your map, therefore it is important to think about what you want to label on your map based on the ‘purpose’ of your map. For this map, our purpose is to give an overview of what Ouray, Colorado looks like, therefore we want to label all the major features we have included on the map, roads, trails, rivers, and parks.
We also will want to think about what our labels will be cartographically representing on our map. It is important to think about the font, size, colour, and location of our labels as these will all play a factor in how others view our map. We want to make sure that we have built a visual hierarchy for the labels and text that will be featured on our map. A visual hierarchy allows those viewing our map to more quickly and easily execute basic map reading tasks like categorizing, grouping, searching, and scanning for information. What this means is that we want to make sure that the features on our map that we have deemed most important are labeled in such a way that they are noticed first by the reader of the map and that less important features, that are included to add context to our map, are styled in such a way that they do not draw attention away from our most important features.
For this map, we have decided that our most important features are our roads. The road system of Ouray has already been visually stylized in a way that we can tell just by looking at the map that it is the dominant feature. Therefore, we will want to ensure that the road labels showcase the same level of importance as their visual style does.
Setting Up Your Layers To Label
To begin the labeling process we will start by clicking the LabelPro button in the MAPublisher toolbar which opens up the MAP LabelPro window, then we click on Setup Layers.
If you notice these layers are our MAP Views.
We are going to select, PrimaryRoads, SecondaryRoads, Trails, Waterways, and RecreationalSpace.
Once we have selected the layers we wish to label they will appear in the Source list in the MAP LabelPro window -- these layers can be set as obstacles, as labels, or both and be given a priority number -- these can be set when selecting a layer.
Obstacles are map objects that are included in the conflict resolution decision-making process and are considered objects that must be avoided when trying to place a label essentially they are used to prevent labels from being placed over or around specified features.
The Priority setting allows for complex hierarchical labeling sequences and is the order of preference in which labels are placed.
By selecting a layer in the Source list you can view its settings to the right, where you will set the if it’s labeled or an obstacle, the priority of the layer, the label source, and the style and rules that will apply to the labels within that layer.
Going down the Source list we will begin inputting our label settings, starting with PrimaryRoads. We know based on looking at the MAP attribute table that Primary Roads are our Highways and the feature we want to label is ‘name’, therefore that is the feature we will select for the Label source.
We are going to leave the Output layer field as the default, [Create on label generation], if we wanted we could add these labels to an already existing Text layer.
The Priority setting allows for complex hierarchical labeling sequences and is the order of preference in which labels are placed. For this map, we are going to leave all the labels set to priority 1, as there are no labels that are going to take precedence over another.
We are now going to click on the pencil icon next to ‘Style’.
Within the Style window is where we will set the Font Family, Style, Size, and Colour of the labels.
When we stylized our roads we categorized them as primary and secondary road types, we should stick to this categorization when labeling, therefore our primary roads, the major highway that runs through Ouray, will have a higher visual priority than our secondary roads, the size of the label will be slightly larger to distinguish that it is a different road class than the others.
We are now going to look set the Rules for our labels. Rules are where you can set numerous label placement options for a high level of label detail and a variety of configurations. LabelPro generates a [Default] rule for each data type. It is loaded by default and used until new rules have been created or selected. The default rules are a good starting choice as it is configured to be useful for the most common labeling situations, however, creating custom rules can be very useful when specific labeling conventions are required.
We are now going to click on the pencil icon next to ‘Rules’
There are four categories of Rules we can set for Line features, Placement, Grouping, Fitting and Conflict Avoidance.
We will set the Placement settings to ‘Centered’ and ‘Centerline Only’
We have chosen these placement options as we have stylized the roads to be thicker and therefore our labels can sit within the roads instead of on top or beneath them.
For Grouping rules, we will set ‘Label contiguous features as one feature’. Our road system on this map is numerous line features and not one continuous line feature, this grouping Rule allows lines that are joined together to only be labeled once.
For Fitting rules, we will select ‘Repeat labels every’ and set the distance to 1 inch. Having LablePro place multiple labels on the road will allow you to better choose which one you like the placement of best and then you can delete the rest. This is extremely helpful when you have a winding road as we do for our Primary Roads.
For Conflict Avoidance, we won’t select any of the rules as we don’t want any overlapping, or leader lines for our labels. These rules are useful for maps that are a lot ‘busier’ and require more labels than this map will.
We have now completed all the stylizing and rules needed for the Primary Roads labels and we can move onto the Secondary Roads.
Looking at the MAP Attribute table for SecondaryRoads we can see that there are 3 types of road classifications in this feature: residential, service, and unclassified.
We are going to use the Label Filters tool which is designed to allow you to label unique values for a specified attribute and we are going to filter the SecondaryRoads into those 3 road classifications.
For each road classification, we will need to complete the ‘Limit by Expression:’
Click the pencil icon to create the expression.
We know based on looking at the MAP attribute table the attribute ‘name’ holds the name of each road, therefore that is the feature we will select for the Label source.
For every filter on the SecondaryRoads we are going to keep the Style the same as the PrimaryRoads, however, we are going to adjust the size of the Font to keep with our visual hierarchy.
Residential Roads will have a Font size of 4.5 pt
Service & Unclassified Roads will have a Font size of 3 pt
The Rules for each of the road classifications we are going to keep the same as the Rules we applied to the Primary Roads. (See above)
Labeling Trails and Waterways
The labels for Trails and Waterways, we are going to leave fairly simple and they will have the same Style and Rules that we applied to our Service and Unclassified Roads. The only change we are going to make is that Trails will have a green font and Waterways will have a blue font.
The last feature we are going to label is RecreationalSpace. This feature is different from all the previous features we have labeled in that this is an area feature. The only thing that changes in how we create the labels for this feature will be the Rules that we apply.
First, we will set the ‘Label source:’ to ‘name’.
Then we will then set the Style of the labels
Now we will set the Rules by clicking on the pencil. There are three categories of Rules for Area features: Placement, Fitting, and Conflict Avoidance.
For Placement, we will check ‘Allow dominant angle’, this will allow the label to be placed parallel to the dominant angle of the polygon.
For Fitting, we are going to check both ‘Allow stacking’ and ‘Allow font reduction’. Our RecreactionalSpace features are parks, and we have some parks that are very small and others that are quite large. Using these rules will allow us to keep the same style of font for our labels of the RecreactionalSpace while also making it possible for those labels to be placed within the boundaries of the feature.
For Conflict Avoidance we are going to make sure everything is unchecked, we don’t want any overlapping or leader lines on our map.
Now that we have completed filling out all the settings for each feature we wish to label we can go ahead and click ‘Label’.
As you can see we have a lot of labels, this is because we set the ‘Repeat labels’ fitting rule for all our road features. This allows us to see which label placement we like best and remove the rest.
If we look at this section of the highway, this is a great example of why we chose to repeat labels, we can now choose which of these labels we like the placement of best and then remove the rest. It is important to note that even with creating a detailed workflow you will most likely still have edits to make on your labels so that your map meets your cartographic standards.
After going through and removing some of the labels, making a few minor adjustments, and adding the last of the map elements we have our completed map.
For further information on how to use LabelPro please see our documentation article, LabelPro Summary.