Some time ago i wrote about use of patterns in map rendering and introduced a tool to generate non-regular periodic patterns. This however was all about generic patterns, that is patterns that are designed once and then used as a generic pattern tiling in all applications.
As also mentioned there this is far from ideal, especially due to the edges. This is also one of the reasons why patterns are used comparatively seldom today – because this kind of pattern never looks really good. If you want to render really high quality maps using patterns you have to generate the patterns specifically for every area they cover. The nice thing about this is that when doing so you do not only get better readable and more visually pleasing maps, you also can introduce other variations to the pattern you cannot do when using generic arrangements. Here are a few examples.
The simplest type of pattern are simple dot arrangements and historically these are extremely common for all types of applications – based on one of the most common current uses they are often called a scree pattern. A generic pattern of this type is now used for rendering scree areas in the standard OpenStreetMap style.
Now when you dynamically generate the pattern for every feature using it you have two huge advantages:
- You can relax the dot positions not only with respect to one another but also in relation to other map elements. This way you can avoid pattern symbols intersecting other elements and thereby disturbing the map appearance.
- You can vary the pattern parameters, primarily symbol size and distance, to convey additional information.
The following examples uses such a dot pattern for depicting glacier moraines in Novaya Zemlya.
You can see that the dots of the pattern are separated from contour lines, waterbodies and labels. This only works well if these other elements are not too dense and rendering resolution is fairly high. These examples are already marginal in this regard.
One common application for local pattern variation in scree patterns is for relief rendering. By varying the symbol distance you can transport shading information and thereby give or emphasize the impression of the local topography. This is shown in the following example.
And of course use of dynamic patterns is not limited to simple dot symbols. Here an example of vegetation rendering with symbol size variation.