Tuesday 17 September 2019

arcgis desktop - How to hide "internal" polygon boundaries?


Our task is to draw a lake with a solid outer perimeter line and no lines between internal wetlands, shoals and shallows? 'Tis a relatively straightforward process with Arcinfo coverages and Regions, but alas, that is no longer a viable option for us, the datasets we use now are too large and the lack coverage editing ability in Arcmap crucial. Can cartographic representation solve our dilemma? Is it possible to create something like the below without resorting to creating (and managing) duplicating, or triplicating, geometries whose sole purpose is better looking maps?


comparing rendering of FCs with Regions (click through for more detail)


With a feature class: Boundary between river and lake is visible. Keeping them as distinct polygons in one feature class allows a name attribute (the river and laker differ). Elsewhere the heavy line implies a sharp boundary between lake and shallows/intermittent lake, however the actual edge is indeterminate, fluctuating with seasons and high-low water cycles. The line should be implied rather than drawn.


With regions: One geometry, multiple attribute tables, multiple representations.



  • Outer perimeter (ordinary high water mark) is cleanly delineated


  • No apparent division between lake and river, but they still know which is which

  • Shallow/intermittent waters are symbolized appropriately, with river shallows distinguished from lake shallows.


See here for a map package simulation of what we're trying to achieve and the source arcinfo region coverage from which it is built.



Answer



I cross posted this question on Esri's Ask A Cartographer site. They pointed me to a mostly-suitable workaround: use Symbol Level drawing in general and Dissolving polygon boundaries using symbol level drawing in particular. Likely what Craig was pointing at earlier in his answer. I've seen the dialogs and help topics before but hadn't dug into them because the examples are about cased lines and I didn't understand how the same principles could be applied to polygons. With the v10 help they've greatly expanded the examples and procedures. Although written for a v10 audience it should help v9.x users as well as it hasn't changed that much.


I did finally get Symbol Levels to work with our data in situ (no duplicate feature classes created, no attributes added). There are few inconsistencies in the symbol level interface which add confusion, which I'll mention here (a.k.a. "watch for submerged rocks" and "here be dragons"):



  • Boundaries don't dissolve when marker or picture fills are used, only plain and gradient fills work

  • Sometimes editing a symbol causes it to jump to the top of stack (under "Advanced > Symbol Levels") and it's join/merge state change to unchecked.


  • Sometimes the advanced settings won't "take", try changing the stack order and various applications of enable/disable join/merge.

  • After enabling Symbol Levels Occasionally the "apply color ramp" step (#17) doesn't work at all. The symbols stick with what is defined in the upper most Edit Symbol dialog. An Arcmap reboot seems to cure it.


A workaround for using marker/picture fills, dissolving all internal boundaries, and drawing outermost perimeter of all objects ("ordinary high water mark" in the sample data (linked to in Q)) is to:



  • add the layer a second time in the TOC, below the marker/pic fill layer,

  • Use "Single Symbol", plain fill, enable Symbol Levels, do the same double layer trick as above under advanced symbol properties

  • and enable both Join and Merge checkboxes (another bug here: sometimes the []Merge box is not enabled until after you go to advanced symbol properties editor.)


Develop the habit of always doublechecking the stack order and the join merge properties. Just because you told it to do/not-do X doesn't mean it actually remembered.




So in summary,for cartographic purposes Symbol Levels with join & merge properties is a workable if quirky analog for Arcinfo Regions. For analytical purposes like "query surface area of ordinary high water" you'll still need to do some geoprocessing and generate duplicate data.



(UPDATE) It is possible after all to use picture symbols, symbol levels, and a single ToC layer. You set your tongue to the right, just so, stand on one leg (doesn't matter which), and face the moon. From here get a map package illustrating two working methods (Lake-cartography-symb-levels - update.mpk).


illustration of the 3 approaches


see full size image


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...