I am working with ArcMap and I have a series (20) layers - polygon lines in a group. I would like to ask you a way to color (not manually) all the lines with a rainbow color palette. The lines are map contour lines (height-mountain), and I would like only to color the lines, not the space between them.

Is any auto way to do that?


A true rainbow is an ineffective means of symbolizing elevation. A better solution is to pick three or four root colors, then choose four gradient colors to transition from root1 to root2, root2 to root3,.... and then draw the root colors as thicker lines at significant intervals (1000,2000,...) with the thinner ones in between (1200,1400,1600,...). If you study maps made by the USGS or the old DMA, you'll see examples of how to do this. The result will also be colorblind-friendly.

This, of course, is possible for polygons, but for render purposes, you're better off converting to lines, then Intersecting the lines with a coarse fishnet over the study area, then doing a dissolve on elevation and FID_fishnet (after which you can drop the FID_fishnet field). I just did this process last week, and improved full-scale render from 80 seconds to 3, and tile-scale render from 70 seconds to subsecond.


You can merge all the shapefiles into one shapefile: https://www.esri.com/arcgis-blog/products/arcgis-desktop/mapping/merging-multiple-shapefiles-into-a-single-shapefile/ and then use the symbology tab to differentiate each line dependent on a unique value, maybe just the index: http://pro.arcgis.com/en/pro-app/help/mapping/layer-properties/symbolize-feature-layers.htm

  • 1
    Your second link is from ArcGIS Pro not ArcMap – PolyGeo Feb 17 '19 at 19:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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