I have a shp file in Arcmap 10 that has ~16600 polygons. Some overlap. I want any polygons that are overlapping to be dissolved into single polygons. I want non-overlapping polygons to remain the same. When I use Dissolve as suggested here How to dissolve overlapping polygons? I get about 93000 polygons. Why is it touching my non-overlapping polygons? Only thing I can guess is that it's something to do with polygons that were multipart polygons to begin with and now I've unchecked "create multipart polygons." If that's it, how can I work around that? If not, what gives?
-
2Would it be possible to include pictures of some polygons that are not being processed in the way you desire, please? Not 10,000s of polygons - just 2-3 of your simplest ones - or some mocked up circles/squares. I suspect preparing such examples may lead you to answer your own question.– PolyGeo ♦Dec 13, 2014 at 20:49
-
Thanks. The issue is the creation of many single features polygons from the many original multipart polygons that never had any overlap. Not sure how to add an image from my hdd, but not sure it would help to see dissolved and non-dissolved polygons. Is there are way to tell arcmap not to separate the multipart polygons that are not being dissolved?– ecologist1234Dec 13, 2014 at 22:40
-
1Images are added using the image icon in the editor (rightmost box in the second icon group from the left). Have you tried checking "Create multipart polygons"? You can't have it both ways, since splitting multiparts is the first step when that checkbox is deselected.– VinceDec 13, 2014 at 22:58
-
Could you please edit your question to describe what, if any, attributes your polygons might have and whether they need to be preserved or updated? Various answers given might affect them in different ways. I think everyone has a part of the answer but it's not been put together yet. Poly count increases because your multiparts are split when you don't allow multiparts with Dissolve (Vince). A solution is to run dissolve on only overlapping parts, but some increase is possible if part of multiparts are overlapped (answers). Not clear on what you need, but Merge may also work.– Chris WDec 14, 2014 at 18:17
3 Answers
If you mean to keep the attributes meaningful, it makes no sense to dissolve the overlapping polygons if you care about those attributes. Since it appears that dissolve has already occurred, then if your problem is sliver polygons, you should perform an Intersect on the one feature class and then select every polygon in the original that overlaps a small negative buffer on the Intersected features followed by use of the Integrate tool on the original (make a backup first).
If the overlap is more than slivers, show us a picture of these overlaps and explain what attributes you want over those you don't. On the other hand, if you were willing to sacrifice all attributes as suggested in the post you were following, who cares if it is one huge multi-part polygon in the end. All parts of the shape mean the same thing as any other part once you sacrifice the attributes.
If on the other hand you in reality want some attributes to dominate over others, that is a different story, and you then should not let touching polygons that don't overlap be combined in a Dissolve if they have distinct attributes (which the original method you were following would destroy).
If you don't mind a few extra geoprocessing steps, I would suggest a workaround. Before dissolving, perform the following steps. Select all features in your shapefile. This is easy to do with the 'switch selection' button in the shapefile's attribute table. Then perform a select by location, with the shapefile as both the input and the selection feature. For 'selection method', choose select from the currently selected features in
. For spatial selection method, choose are crossed by the outline of the source layer feature
. Perform your selection and overlapping features in your shapefile will be selected. Now you can perform your dissolve
on your shapefile, and the tool will only geoprocess what is selected. Finally, switch your selection on your original shapefile, and merge
it with your dissolve output.
If it's not an ArcGIS bug and you do instead have multipart polygons that you do not want, first use the multipart to singlepart
tool on your shapefile before dissolving.
-
This does not work as described. If you have only one layer in a map the Select by Location will not allow you to use that layer as both the target and the source. If you add the same data to the map twice to create two separate layers, than selecting one against the other just selected everything in the layer. So your description is missing a step that isolated the intersected parts. I believe my answer deals with that missing step by using the actual Intersect tool on the one feature class to make the features that can perform the selection using a small negative buffer. Dec 14, 2014 at 7:53
-
@RichardFairhurst There is a
Select *Layer* by Location
GP tool that will allow the same layer to be used as both target and source. Intersect still won't work, since all shapes will intersect themselves, but 'crossed by the outline of' should do the trick. In fact, that would also work with the regular Select by Location if you add the layer twice.– Chris WDec 14, 2014 at 18:07 -
Using the Select Layer by Location GP tool is not indicated in the original answer and the reference appears to be the Desktop Select by Location tool, nor does it mention the 'crossed by the outline of' option with duplicated layers. Either way it is missing a step as I pointed out. The Intersect option won't work as you mentioned. The Intersect tool however does work. You only include the layer once, not twice, and only overlapping portions are outputted. Self intersects do not happen when only one layer is used as an input as both my answer and FelixP's answer correctly point out. Dec 14, 2014 at 18:15
-
@RichardFairhurst Sorry for any miscommunication. Your original comment is correct, as described the solution given does not work. I was only pointing out corrections that could make it a valid answer (without the creation of additional layers/buffers), addressing the flaws you pointed out. As far as Intersect, I was referring to the method of Select by Location in terms of "won't work" - not that the Intersect tool, an altogether different solution, wouldn't work.– Chris WDec 14, 2014 at 18:23
-
Chris: It took me a couple of reading to realize you were referring to the Intersect option of the Select by Location or Select Layer by Location tools and not the Intersect tool, but I got it eventually. I also agree that with your modifications that the approach of the original answer could be made to work. I never understood what the 'crossed by the outline of' option did, so I appreciate the insight into how to apply it to this situation. Dec 14, 2014 at 18:32
Use intersect tool with single input, call result OVERLAPS. Select original that intersect OVERLAPS and dissolve originals. Switch selection in originals and merge with dissolved.