Sunday, 13 November 2016

arcgis desktop - Overlapping transparent polygons won't darken


A client of ours wanted a map showing the 5-mile and 10-mile radius around business locations today and specifically requested that the overlapping transparent buffer radii grow darker with each other buffer they overlap. However, after using the buffer wizard and a buffer creator with the business analyst module, the overlapping buffers simply merge together into one shape (similar to performing a Dissolve on them) or, if an outline for them is created, they simply appear to "stack" on top of each other. This problem did not always occur, does anyone know of a way to cause overlapping transparent polygons to grow more opaque as they overlap?


The software is ArcGIS 10.2. I believe the problem, after really thinking about it some more, is getting overlapping buffers from point data created by, for example, Buffer Wizard (which creates several buffers as one single layer), to darken as they overlap each other on a map. If you create each layer individually, then they overlap and darken just fine, but this method is not as reliable.



Answer



I'm going to post an answer here that explains or elaborates a bit more than my answer at the possible duplicate question How to vary the transparency of symbols within a single layer in ArcMap? (and the related one linked to it) because your question is a little more general whereas that one is looking to accomplish a specific thing.


The first thing to be aware of is limited transparency modes within ArcGIS. Unlike programs such as Photoshop or Illustrator, ArcGIS doesn't allow you to select a transparency mode such as additive or blend or whatever. It has one mode, and layer order still has a pronounced effect on any transparency blending - the top layer will be most influential on the color. Also, a specific technique is required to vary transparency between objects on the same layer, otherwise all objects on the layer use the same transparency setting and that transparency is only relative to other layers, not objects within a layer.


A related issue is draw order of a layer, where you can draw a larger object that covers a smaller one and therefore not see the smaller one unless you use symbol level drawing - layer transparency doesn't affect this, but object transparency does. See the linked question for a graphic example.


There are several approaches to end up at your desired output, starting with buffer creation. Your buffers can be on the same or separate layers, and overlapping or not. Ring buffers (ie not overlapping) can be create using the Multiple Ring Buffer tool or with some geometry manipulation and the regular buffer tool (ie Erase/Clip/etc. or buffering buffers). You could have all of your 5's on one layer and 10's on another. Or on the same layer but rings and not overlapping with an attribute that differentiates them.



Then, based on your geometry, you select a symbolization method. You could use different shades of the same color for each range and the same transparency level. You could use the same color but add an attribute to the buffers to store a transparency level percentage as described in the linked question, making 5 20% transparent and 10 40% transparent. The visual effect is 5 will be more solid (darker) than 10. That can be used whether they are overlapping or not, but in my opinion you will have greater control over the final visual result if they don't overlap.


Personally, I would use multiple ring buffers in the same layer to simplify storage and management. I'd then use varying color shade and/or transparency (at the layer or object level) depending on the final result I wanted to achieve. It would probably take some experimentation to find ideal settings.


No comments:

Post a Comment

arcpy - Changing output name when exporting data driven pages to JPG?

Is there a way to save the output JPG, changing the output file name to the page name, instead of page number? I mean changing the script fo...