Creating dash-dot symbols for polygon outlines

By Charlie Frye, Esri Chief Cartographer

Example of a dash-dot line symbol used on boundary lines

Dash-dot line symbols for polygon outlines should be displayed in a way that consistently shows the pattern of dashes and dots and clearly shows the shape of the polygon. In ArcGIS, a multi-layer line symbol is required. One layer is a cartographic line symbol with a dash pattern.  The second is a marker line symbol that shows a marker (the dot) with a complementary pattern to the dashes.

We often see maps where people have used such a symbol for polygon outlines, but instead of the result in at the left below, we more typically see something like the image at the right.

Example of a dash-dot line symbol used on boundary lines

Example of default symbology with a dash-dot line symbol used as a polygon's outline symbol

There are several problems here.  For instance the patterns for the symbol do not match up where one polygon meets another, and the drawing order causes one polygon’s fill to draw on top of another polygon’s dots.

The most useful thing to know about this is that in ArcGIS assigning a line symbol as a polygon’s outline will not work to solve this problem. The reason is that when two polygons share an edge there’s no way to predict where that edge starts and ends relative to the start/end node of each of the polygons.

In order to create the solution for this problem, the polygons should not be drawn with an outline symbol.  Do that by setting the outline to a simple line symbol with a line width of zero.  In place of the outlines a line feature layer will be used. That layer will be created using the Polygon to line tool.  Specifically, the of polygon to line tool collapses the topology of the polygons such that no coincident lines will be produced, i.e., the edge where two polygons meet will be represented with just one line.

Once you have a line layer that represents your outlines, you’ll need to store that line feature class in a geodatabase, because you will need to use some of the new (at 9.2) cartographic representations symbology to get the markers to align. In the image below to the right, an example is shown using symbolized lines, note that the dash length is often not consistent, and that dots often cover corners, obscuring them.  Initially using cartographic representation symbology will also have the same problem, though not to nearly the same extent. By using the control points geometric effect that can be fixed.

Example of default symbology with a dash-dot line symbol used for line symbology

To set up the representation symbology follow these steps:

  1. Symbolize the line using the same symbol you are currently using as the outline for your polygons.
  2. Right-click on that line layer and choose Convert Symbology to Representation; take the default options and that will add a new layer with your line data to your map that uses representation symbology.
  3. Turn off the visibility or remove the original layer.
  4. Some changes to the representation symbology are needed. I included a couple of screenshots to show how I set up a line symbol layer and the point symbol layer (for cartographic represenations each of the tabs in the symbology are for symbol layers).  Note the relationship between the step property for the marker and the numbers in the pattern property for the line.  I usually change my step property to be the sum of my pattern property.
  5. The dashed line layer in a dash dot representation symbol

    The dot marker layer in a dash dot representation symbol

  6. Set up the Control Points; to do this click the little “+” button in the upper right. This will open the Geometric Effects window, where you will click on the Add Control Points item in the list. Then click OK.

Example of what the control point effect looks like once added

The result, in this case works well because it consistently portrays the dash-dot pattern, and now all significant details of the polygon shapes are clearly defined.

This entry was posted in Mapping and tagged , , . Bookmark the permalink.

Leave a Reply

4 Comments

  1. mike.burrell says:

    I’m sorry, but that is a ridiculous solution to this problem.

    ESRI is telling us that if we want to display polygon edges with a dash symbol that we have to make a totally new dataset JUST for this purpose! Talk about poor data management!
    Think of all the extra effort this creates for datasets that change often. It seems to make much more sense to work on a solution FOR the polygon feature class!

  2. cfrye says:

    If you’ve got a better solution, step up to the plate. Submit a blog entry, we’ll test it and if works, we’ll post it.

    Running a model that uses the Polygon to Line tool and assigns some representation rule IDs via a field calculation works for the vast majority of our users.  There is no other cartographically acceptable solution at this point in time–in fact representation markers on lines are a huge leap forward in cartographic quality.

    There is nothing poor about this solution in terms of data management.  Too many folks out there think data management is about efficiency, normalization, relationships, etc.  They are wrong. Good data management is about serving your client’s needs–if your client needs a line dataset to efficiently and properly symbolize data, you as a good data manager give it to them.  I’ve seen too many folks under the guise of efficient data management create super efficient data structures that result in penalizing every client with slow query and retrieval performance; all in the name of saving space on a hard drive.  Disks are cheap–time is not.

    That is not to say that good fundamental data management procedures should not be observed.  Metadata should be created–use the abstract to indicate the cartographic nature and purpose of the data; that’s all that really needs to be done to help future users know why the data exists.  Cartographic datasets like this should be named appropriately; I’ve made a practice of using the original polygon feature classes name plus “_bnd”–that way when you sort the data the two datasets are usually close to or often next to each other; making their relationship clear.

    Very few datasets are intrinsically so dynamic that they cannot be bothered to produce derivative products for the sake of effective communication. Effective communication as a concept is the big difference maker in this discussion, I’m talking about cartography versus visualization. The cartographic solution is above.  

    So far, nobody has come up with a super-speedy-on-the-fly-polygon-topology-engine that makes rendering shared polygon edges with complex dashed & dotted symbols work in anything close to real time.  If anybody had already done so, we’d have been on to it, knowing the standard had been set, and we’d beat it.  Believe me, such a thing would be very valuable and fast-drawing polygon outlines would be the least significant improvement to be gained.

  3. mbarmawi says:

    how to get the dash-dot-dot-dot (three dots). it was easy to get dash-dot (single dot). Please help me the value for pattern and step. Many thanks.