Incorporate the 4-color tool into ArcGIS

4992
25
03-22-2011 09:14 AM
Status: Implemented
Labels (1)
MaraKaminowitz
Frequent Contributor

Often there is a need to differentiate polygons by color independent of value or category, i.e. when creating a map of Census tracts or zip codes for a region. The current options are:

1. Have ArcMap color 1,000+ polygons individually
2. Use something like the 4-color script to create a new feature with a color field and symbolize from that.

#1 takes forever and can crash ArcMap. #2 is also time consuming and not always possible if you are need to work with an original file that can't/shouldn't be altered.

It would be great if there was some sort of native 4-color symbology option in ArcMap.

25 Comments
ChrisFox
Thank you for posting the idea. I believe the script you are referring to can be found here. I wanted to post it in case anyone else came across this idea and was looking for a potential workaround.
DavidWheelock

EXCELLENT IDEA! 

I'm surprised this idea doesn't have more votes.  It's a no-brainer.  EVERYONE, wants it without any doubt at all.  Perhaps most people aren't familiar with the 4 Color Problem as the name for the problem they face every day.  They just don't know the name for it and that the solution is readily available.

Please, ESRI, implement an option in the automatic symbology generator for polygons that will ensure that any two adjacent polygons will not have the exact same color.  The problem has been solved for years and everyone who draws maps with polygons faces this issue.  The classic solution is 4-color, but preferably it would let the choose a number 4 or larger to increase variety in the map.

Just create a button and use the script referenced above!

C'mon, ESRI, you can do it!  Version 10.1.  🙂

Also, the script referenced in Chris' post breaks down in version 10.  Can this be updated please, if it's not going to be directly implemented in ArcGIS.

MeleKoneya
I have been using a developer sample in 9.x for some time and found it very useful.      http://edndoc.esri.com/arcobjects/9.0/Samples/Cartography/Map_Production/Four_Color_Map/FourColorMap...  Now that I have ArcGIS 10,   I cannot use this sample any longer.   I tried to port the code to .NET, but did not have much luck.   It doesn't sound like the ArcScript mentioned has been updated to 10 either.     I would like to see this functionality as part of the base ArcGIS product as creating Four Color maps is something I often do.    
Miguel_AngelMacias_Roldan

Please consider including a tool to symbolize polygon according to the four colortheorem. It would be very useful to represent layers with polygons where is distinctly different limits.

AbelDean
Chris Fox, the script works for 9.2 (reportedly), but not for later versions. As of 10.1, there is absolutely no way to do this.
RayMontgomery
The 4-color tool from 2007(?) DOES work at 10.1.  I registered the 2 dll's using the standard Windows Regsvr32. It uses topology, so I think the FC you are "coloring in" has to be inside a Feature Dataset, like you'd do if you were building topology. It also has to have a destination field ready. It also has to be done in an edit session, since you are asking it to edit attributes. At least that's what we did, and it worked fine.

BUT, as the Idea suggests, this would be a great addition as a way to render polys automatically,; let teh user select the "# of non-touching colors".
JerryChase2

I have used a VBA sample years ago in ArcMap 9.?. I sure could use something like it again.

See: Four Color Map 

JerryChase2

I second this idea. Hope it could be implemented in ArcGIS Pro as well.

JohnMDye

I'm probably not getting it, but can't you do this already using unique symbology and color ramps? You just need to create a four-color color ramp, or am I mistaken.

JerryChase2

Example of a "four color map."In mathematics, the four color theorem, or the four color map theorem, states that, given any separation of a plane into contiguous regions, producing a figure called a map, no more than four colors are required to color the regions of the map so that no two adjacent regions have the same color. I hope this helps as an explanation.