Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

The attached screenshot of a National Geographic map shows some beautiful directional shading of boundaries. I'm trying to reproduce this sort of shading for a burn perimeter map, as I want to highlight features within the burn perimeter and not overshadow them with a transparent polygon or crosshatch. Is there a way to accomplish this sort of boundary shading using ArcGIS 10?

Link to larger map titled: "1946 Political Subdivisions Of India By National Geographic.jpg"

enter image description here

share|improve this question
is it possible to link to a large image? I'd like to study the detail more closely –  matt wilkie Mar 5 '13 at 22:02
@matt I added a link for the larger map. Upon closer inspection, these boundaries must have been hand drawn seeing that the map was created in 1946. –  Aaron Mar 7 '13 at 12:25
add comment

4 Answers

up vote 30 down vote accepted

I've usually used one of two methods to shade the interior of polygons. Assuming this is our set of input polygons:

Input data

Option 1 is to use the Buffer tool, create a buffer of negative distance (e.g. -500 meters) and set the line_side parameter to OUTSIDE_ONLY. This will generate areas inside of each polygon, giving the nice look of country borders on a political map when combined with a transparency setting:

Interior buffer

Option 2 is to convert polygons to lines and then use the Euclidean Distance tool (in Spatial Analyst) to create a distance raster. Use ExtractByAttributes to remove areas farther than you want to shade, change the raster symbology to Stretched with the min/max values equal to 0 and your max distance. Add in some transparency, and it looks pretty good:

Distance raster

If you wanted a different color for each raster area, you could rasterize the R/G/B values for each polygon, multiply them by the fraction of the max distance, and merge them back into a multiband raster. Let me know if you want more detailed instructions on this part.

share|improve this answer
+1 The last solution is an excellent one. You can often obtain a more pleasing appearance by computing exp(-(x/k)^2/2) where 'x' is the Euclidean distance grid and 'k' is about one-third the intended visible radius of the shading--this will be similar to a "Gaussian blur" effect. First make sure to expand the grid's extent by at least 3k so it isn't cut off around the top, bottom, and sides (as in your illustration)! It is also possible, with a tiny bit of "map algebra," to restrict the shading either to the exterior or interior of a polygon: this is an excellent way to highlight a region. –  whuber Mar 1 '13 at 16:47
@whuber Good call with the Gaussian blur. I played around with the raster symbology's stretch to get a smoother gradient, but it didn't look very good. And I should have known you'd catch the cutoff distance raster, Bill. :) –  dmahr Mar 1 '13 at 17:45
add comment

Take a look at the article "Symbolizing shorelines" in the Esri Mapping Center, which demonstrates some techniques you might want to try. It's a similar concept as what you want to accomplish.

There is also another good article there named "Fade to white background" effect which is an inverse effect of what you are going for, but the same principles should apply.

share|improve this answer
add comment

We achieve something like this in Arcmap using concentric or Multiple ring buffer with attributes and applying different transparency levels for each. Take the buffers produced by the script mentioned there and a field for transparency, levels from 70 to 80% seem to work well.

Using polygons instead of raster, as in the excellent answer by @dmahr, means a notable drawing speed penalty, however you get the advantage of being able to easily tweak the symbology as needed on a per feature and per map basis at run time.

To get the stacked or stair appearance seen below each transparency must be at least 1 number different from it's overlapping neighbour, e.g. the purple and brown are 70 and 71 and not 70 and 70.

Multiple ring buffers displayed with multi-field unique attributes

share|improve this answer
"To get the stacked or stair appearance" = clever! –  RyanDalton Mar 5 '13 at 22:41
add comment

I have done this by adding several copies of the same layer and using a progression of shades, thickness, offset and transparency to get the graduation. It works in both Arc and QGIS (except the offset feature can sometimes fail in QGIS - which looks like a bug). It's a bit fiddly but works.

share|improve this answer
add comment

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.