agricultural land use patterns
agricultural land use patterns

More on pattern use in maps


Area fill patterns and their application in cartography are a topic i have written about previously already – when we are talking about simple uniform patterns some of the most important advantages in practical use are

  • you can differentiate areas without using different colors – and can differentiate much more because the number of discernible patterns you can use is much larger than the number of discernible colors.
  • intuitive understanding of the meaning of a pattern is easier to accomplish than with colors alone. With colors you have a few overall conventions (like blue for water and green for vegetation) and sometimes the rule of similarity (similar colors have similar meaning) but beyond that the meaning of colors in a map is usually something you need to look up and learn or learn based on examples while with a good pattern there is often at least some possibility to deduce the meaning from the shapes and structure used in the pattern.

I here want to discuss a few examples how this can be used to design a better map.

Industrial land use

The first example is something i implemented in the alternative-colors style some time ago but i had not discussed so far. It concerns industrial land uses in the strict sense – with that i don’t mean landuse=industrial which refers to land on which industrial infrastructure is built, i mean areas where the land itself is used for industrial purposes, specifically landuse=quarry (mining, extraction from material from the ground), landuse=landfill (where material is deposited), landuse=construction (where stuff is built) and landuse=brownfield (as a precursor to construction).

In OSM-Carto these are currently rendered with three different colors, brownfield and construction are identical. At least two of these have the problem of being too similar to other colors used with a very different meaning. This is a symptom of the standard style having reached the end of the line regarding colors. It is almost impossible to introduce a new color without clashing with existing ones. Most more recent color choices there suffer from this problem.

What i did now for industrial land use to avoid this is choosing one color instead of three for all four landuses – which as explained share common characteristics – and differentiate between them at higher zoom levels using patterns. Here is how these look like.

industrial land use patterns

While most of them (except maybe quarry) are probably not completely clear intuitively to the average map reader – this is in a way the price you have to pay for a small grained pattern that can be used on relatively small areas – there is certainly a better possibility for intuitive understanding than with plain colors.

Agricultural details

The other example is display of additional details on agricultural landuses, specifically landuse=farmland and landuse=orchard.

First a bit of information on tagging – the differentiation between different plants being grown on agriculturally used land is complex and somewhat arbitrary in OpenStreetMap. This starts with the primary differntiation into different landuses. Specifically we have:

  • landuse=farmland – which is either used as a generic tag for all agriculturally used land or (more commonly) only for uses that are not covered by one of the other following tags
  • landuse=meadow for areas of pasture or where grass is grown for hay
  • landuse=orchard – which is for trees and scrubs grown for fruit and nut production (or other products except wood)
  • landuse=vineyard – which is essentially a separate tag for a subtype of landuse=orchard

Further differentiation is done using crop=* (for farmland) or trees=* (for orchard) or produce=*.

The distinction between landuse=farmland and landuse=meadow is not handled very consistently – there are 19k occurances of landuse=farmland + crop=grass. And what is to be tagged as landuse=orchard is also somewhat strange – tea plantations are mostly tagged as landuse=farmland + crop=tea, likewise for coffee – though there are also some tea and coffee plantations tagged as landuse=orchard.

The four listed landuses are rendered in distinct styling in the standard style – originally all in different colors, i wrote about the history of the farmland color recently. A few years back i unified orchard and vineyard to use a common base color and only differentiate them by pattern reflecting the strong similarity between them.

All of this demonstrates a British and Central European perspective based on the forms of agriculture common in these regions. For the structure in tagging this is natural given the origin of OpenStreetMap. Tagging ideas, once broadly established, are pretty hard to change. But that is not the core of the problem. OpenStreetMap has a free form tagging system so mappers elsewhere are free to use their own tags or establish supplemental tags. Since completely new tags have the disadvantage that data users, in particular maps, will not use them at first, supplemental tags are the more common choice. And therefore we have a lot of supplemental tags for landuse=farmland and for landuse=orchard for crops that do not grow in Britain and Central Europe.

And here is where the problem starts – map style developers rightfully say they can’t differentiate all of the different crops and trees that are tagged in rendering in a general purpose map and therefore limit differentiation to the main landuse classes, classes which as explained though represent a very strong geographic bias. What makes the problem worse is that style developers seem completely unaware of this in most cases, they usually consider the classification to be a natural ang globally valid one, even though the fairly arbitrary line between landuse=farmland and landuse=orchard and the special separation of landuse=vineyard well demonstrate that the opposite is the case. If there is a discussion on rendering farmland or orchards you can almost universally see how in the minds of developers these manifest as fields of wheat or corn (or similar) or apple trees and berry bushes and there hardly ever is reflection about how biased this view is.

A map style aiming to provide mapper feedback has an additional problem here. Not differentiating the main landuse classes but differentiating different crops (like unifying orchard and vineyard but differentiating two classes of orchard based on other criteria) could be irritating for the mapper. But if you are fine with differentiating to some extent it is imperative to not look at this with a narrow European mindset but with a more global perspective.

This is what i tried to do with farmland and orchard rendering – differentiating three different subtypes for each by using a pattern in addition to the generic rendering.

new farmland and orchard types

The types chosen are based on how distinct the different types of plantation are to the observer and how widespread and consistent use of the corresponding tags in OpenStreetMap is. I specifically did not include any type of grain other than rice because in many parts of the world growing of grain is done with crop rotation – therefore a specified single crop is frequently inaccurate. The types of crop i chose are usually not rotated.

Here a few real data examples for orchard types:

olive tree orchards at z16 – click to view larger area

oil palm plantations at z15 – click to view larger area

banana plantations at z16 – click to view larger area

And here for farmland types:

rice fields at z15 – click to view larger area

hop plantations at z15 – click to view larger area

tea plantations at z16 – click to view larger area

The symbology is derived from the appearance of the plants in question in the field and explicitly not as sometimes practiced based on the product harvested. This matches the approach used otherwise in patterns in the standard style. The reasons for this i have previously explained.

The whole thing is right now of course a depictions of individual types of crops and it is – as already indicated – not practicable to depict all types of plants grown in agriculture world wide with distinct symbols. Therefore there will be a need to group and classify products, even if some of the plants i now show could due their overall importance and special characteristics constitute a class on their own. Such a classification however must not be exclusively based on the historic dominance of the European perspective in OpenStreetMap as it is currently in the standard style. Developing such a system is new terrain not only for OpenStreetMap but also for cartography in general.

I think this example also nicely shows that when inventing tagging systems it is very bad to base this on some seemingly logical coarse classification system – like the distinction between farmland and orchard – that does not have a clear, verifiable and universally applicable basis. In such cases it is better to resort to defining more limited scope but better defined tags – even if in your culture there are broader terms you might use in everyday conversation.

As usual these changes are available in the alternative-colors style.


  1. Hi Christoph, I’ve been following along with your posts on the alternative-colors style and really like what you’ve been doing to improve legibility of the map. Is there any plan to provide this style via the rendered map at either as an alternative “layer” like the Humanitarian and Cycle styles or as an updated primary style? Alternatively, is this style available by any publicly usable tile-servers? I’d love to use it to evaluate areas I’m editing but haven’t taken the plunge on actually maintaining a planet-wide tile-server.

    Thanks again for the innovative work and also for writing so clearly about it!

    • Hello Adam,

      thanks for you supportive comment. I have no plans at the moment to run a tile server with this style – mainly because i want to concentrate on style development in this project and not invest a significant amount of time and money into running and administering a tile server. If anyone would like to run a public tile server with it – either for a smaller area or globally, that would be great and i would very much support this.

  2. Patterns not only allows for differentiation using the same background color, but also for making over backgrounds with other styles. In my case, it’s ASL height coded into colors:

    The style is still quite rough, but proves the technique is also useful there.

    • Yes, that’s why i specifically mentioned in the introduction that this is about simple uniform patterns. You can use both the background and the pattern to transport additional information.

      Your example looks nice but also illustrates some of the practical problems of combining patterns with relief rendering – in particular the shading leading to non-uniform contrast and therefore visibility of the pattern and the pattern symbols and contour lines and labels interfering with each other.

  3. As map should be a simplified and symbolised view of reality, and plants mentioned in test renderings grow on a green fields, don’t you think that showing some of them as yellow might be confusing? As wheat or rye fields are yellow in real life, I support rendering them yellow, but when something is green in real life, I think rendering it as yellow is not good.

    I know that mentioned tags are from 2 different keys (farmland and orchard), but it should’t interest us more than what the thing is like in real life. It’s just a mess with tags which we are facing with on Github from time to time.

    • Seeing maps as a depiction of the physical appearance of reality is a common misunderstanding of the idea behind cartography. This approach mostly leads to a ‘simulated aerial imagery’ type of map. This is a valid approach to geovisualization but it has very little to do with cartography which is about creating an abstract depiction based on human understanding of reality.

      Citing from the cartographic guidelines of the alternative colors style: The difference in rendering between different types of features should foremost be based on their difference in meaning and purpose for the target map users. Differences in physical appearance are only relevant as far as they also represent differences in meaning and purpose.

      As explained in the post due to the cultural bias in the established tagging implementing this while maintaining useful mapper feedback comes with some difficulties – but much less than if you’d indeed focus on physical appearance.

Leave a Reply to Marcos Dione Cancel reply

Required fields are marked *.




By submitting your comment you agree to the privacy policy and agree to the information you provide (except for the email address) to be published on this blog.