Hi there, I've looked for similar queries and done some general Googling, but without success. I have a number of legacy files created in CAD, many of which contain donuts, but they were created as separate features, since they only had to look right. Unfortunately, when I export these from CAD they naturally come in as two separate features, no a donut.
Using a ‘self contained’ location search I can find these, but I then have to edit them manually adding a new element to the outer line and then deleting the inner. I want to know if there is a way to do this automatically, but I rather suspect that because they are two separate features that it would be impossible without some clever programming.
if the features are indeed stacked (aka, the inner donut ring is now a new feature), you
could try
Symmetrical Difference (Analysis)—ArcGIS Pro | Documentation
Test on a copy of course
Hi Dan,
Thanks for that, but I don't fully understand how it works; it appears to require a different input and update feature set and I've only got one dataset. I tried using it for both, but that just gave me a null export.
What am I missing.
Sorry
ahh. Are the features being represented as multipart polygons with an inner and outer ring? If so see if you can get them to singlepart first
Multipart To Singlepart (Data Management)—ArcGIS Pro | Documentation
You would then want to remove the part with the smaller area based on the common original id
If they're different by attribute, you can make 2 layers with definition queries showing which ones are the inner circle and which are the outer circle, then feed those two layers into Erase or Symmetric Difference.
Oh wait. You could also make the two layers with definition queries and then use a mask if you want something that doesn't create new data.
Hi Alfred,
Unfortunately, I just added those attributes to make them stand out visually; the rest of the data don't differ apart from their spatial data obviously. I'm not sure what sort of query I could use to find the inner and outer; I guess I could try to find those with the same monument UID which have different areas, but that would also find other unrelated features, or indeed multiples. In my example, all the features have the same UID, so there would be c20 features all with the same UID, all with different areas, but no way of knowing which relate to each other, or is there?
Try this:
This will get you the inner polygons.
You can reverse some of the order here (switch steps 1 and 5 and change the clip type to "Contain"), but this is the way I did it.
If you do it this way, it will get super slow the more features you have. It might be better to just feed those selections into the standard Clip or Erase tools and just be cool with the duplicated data.
For the multiple rings, I think you're going to have to do those manually.
Hi Alfred,
Thanks for that. It works on those with just one donut, but as you said it doesn't on more complex ones. Unfortunately, if there are an odd number of elements e.g. outer side of ditch, inner side of ditch and a pit, it removes the wrong part. Since I can't think of a way to find those features with only two parts, since they're all actually just one part, I don't think I can risk it, as I'd still have to check them all manually. I suspect I'm stuck with a long manual process.
Thanks for your help.
Simon