Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

When mapping an value as a color to render a thematic map the objects borders can alter the map readability a lot. For example in this thematic map of the US counties with black borders: enter image description here

There are a lot of small objects in some areas, and it makes them look darker because of the borders without respect to the thematic color. If the borders are drawn with 30% opacity it results in the following map: enter image description here

This one is obviously better at communicating the data mapped on the objects. However having a static opacity rate can also degrade readability since it makes the objects boundaries less visible, which is a problem if there is only a few big objects. Moreover the change in readibility also depends on the contrast between border and fill colors.

Do automatic ways of finding the good color/opacity for layers exist? What GIS software provide method to properly handle this issue?

share|improve this question
up vote 7 down vote accepted

You can have a different approach for that problem.
1)from line width: line width units=map units.
2)map scale rules: close maps=thick lines, far maps=thin lines.

In QGIS you can do both.

enter image description here

share|improve this answer

My favorite effect for readability/aesthetics is a "gradient fill". If you are using ArcGIS software, this effect is fairly simple to implement... Here is a good blog post from ESRI's team at the Mapping Center:

Quick tint bands

share|improve this answer
I like this effect, but just reading the blog-post it feels a little harder on my eyes (perhaps that is due to their color choice). Does anyone else find this? – djq Mar 22 '11 at 18:52
I've done a similar version of this effect by buffering the interiors of polygons, coloring the buffer the same as the poly but changing the saturation of the buffer color... I did like that solution better that the blurry images shown on the blog post! – BrianPeasley Mar 22 '11 at 19:30
This effect wouldn't work at all for the small scale images in the question. The gradient would would either be unnoticeable or completely fill the smaller polygons. – Sean Mar 22 '11 at 19:41

The example you show is actually about the shade of colour as much as opacity. By setting a higher opacity you are changing the output colour to a light grey. Try setting it to a light grey to begin with zero transparency, this will give you more control and have a similar effect.

A simple method of obtaining more granular control of opacity is to simply divide the dataset into separate layers based on the area of the polygon, the perimeter, or a mixture of the two. Then simply set the opacity differently for the different layers. Alternatively, render the thickness of the line based on the area of the polygon.

share|improve this answer

In ArcMap you can set a reference scale for the Data Frame and on the layer Display Properties check "Scale symbols when a reference scale is set".

Set the reference scale at the largest scale you will use. This will the scale the stroke width as you zoom out.

If that doesn't give the desired results, you can also create copies of the layer to display at various scales. For exmaple, have one layer symbolized for 1:24,000 and set not to show out beyond 1:24,000, another layer at 1:100,000 and set not show out beyond 100,000 or in beyond 24,000, etc. Actual numbers will depend on your data and own design predilections.

share|improve this answer

If your emphasis is on the fill color, why not just avoid the use of a border for the polygons? That should scale better at small scales.

share|improve this answer
but then you can't distinguish between adjacent polygons that have the same color – neuhausr Mar 29 '11 at 13:51

I'm not convinced by BrianP's 'tint' method - it sounds good but then you can grade the tint only from one polygon giving the map 'sides' that don't actually exist. See the link to see what you think.

I prefer A variation on Pablo's idea: Have borders change opacity as you zoom in. At high level have low opacity, as you zoom in black borders gain opacity.

This can be done in KML for Google Earth using 'regions' functionality.

share|improve this answer

Map symbol readability threshold for a linear symbol is 0.1mm (according to Saliszczew K.A., Einfuhrung in die Kartographie and many other mapping books).

To improve the polygon borders readability, just try to conform to this threshold. For that, you certainly need to convert this value into pixel size according to the screen device resolution.

(In case you read french, see the middle row: enter image description here )

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.