Skip to main content

Section 5.4 Composition

Composition of the map is the process of bringing all its elements together in order that they portray a complete image of what you are representing. Composition includes considerations of size, proportions, generalisation, simplification, and similar topics. We do not address these here, as they rely so much on the specific purpose of the map being created. Is it for the web? Is it for print? Are detailed outlines of coasts and waterways important, or is a generalised representation of the underlying geography enough? These are questions the map-maker should answer early on, and then pick geometry data, and specify output sizes and resolutions accordingly. In this section instead, we will focus on the element of composition which is concerned with the inclusion of basic map elements — information required by the map readers to make sense of our data, specifically orientation and scale indicators.

Subsection 5.4.1 Orientation indicators

It used to be that no map was complete without the inclusion of an orientation indicator (known colloquially as the "North Arrow"). Readers who are geography fans may know that the issue of where North is maybe not so straightforward. True north (the direction to the North Pole) differs from magnetic north, and the latter actually moves around as the Earth’s geophysical conditions change. There are reference maps which include both; however, for most crime-mapping applications we can conclude that this is overkill. Most maps are oriented to true north, anyway, so we are not being very deviant with choosing this approach.
So how to include this in our mapping in R? Well, we can turn to the ggspatial library, and employ the function annotation_north_arrow(). In this function we can specify some aesthetic properties of our arrow, such as the height and width. Here we do so using millimetres as units.
library(ggspatial)

map + annotation_north_arrow(height = unit(7, "mm"), # specify arrow height
                         width = unit(5, "mm")) # specify arrow width
Once more the same green map of Hungary’s counties has had an addition, a small half white half black arrow pointing upwards in the bottom left corner, with the letter ’N’ for north underneath.
Figure 5.4.1. Add north arrow
You can also change the style with the style = parameter, and then choose from styles such as north_arrow_fancy_orienteering() or north_arrow_minimal():
map <- map + annotation_north_arrow(height = unit(7, "mm"), # specify arrow height
                         width = unit(5, "mm"),
                        style = north_arrow_minimal()) # specify arrow style

map
The arrow above the letter ’N’ is now longer, and bisects the letter.
Figure 5.4.2. Change type of north arrow

Subsection 5.4.2 Scale indicators

Besides the North Arrow another, key feature of maps is the scale indicator, which helps to understand distances we are presenting in our maps. Generally, scale should always be indicated or implied, unless the audience is so familiar with the map area. You could use text to indicate scale. For example you could write: "One centimeter is equal to one kilometer", or you could write 1:10000. But a common, graphical representation is to use a scale bar. Also in the ggspatial library, there is the function annotation_scale(), which helps us achieve this. To plot both the north arrow and the scale indicator, you want to think about where you place these. You can move them along the x axis using the pad_x parameter, and along the y axis with the pad_y parameter.
map <- map +  annotation_scale(line_width = 0.5,      # add scale and specify width
                   height = unit(1, "mm"), # specify height
                   pad_x = unit(6, "cm"))  # adjust on x axis

map
The addition this time is a longer horizontal bar, segmented into five sections alternating black and white. The text ’one hundred kilometers’ appears next to it. It appears beneath the map of Hungary but above the attributions.
Figure 5.4.3. Include scale indicator on map
You can move these elements about to achieve your desired composition.