1

I'm trying to align the edges of one polygon with another but only for a section of the polygon in ArcGIS Pro. Basically, I want to align the boundaries of the two polygons but only if they are close or within a certain distance. (E.g., Don't align polygon 1 to polygon 2 where boundary of polygon 2 is > 5m from polygon boundary 1)

Here are a few things I've tried:

  • Snap tool (edge matching) -> Only snaps the vertices present in the feature, so it doesn't work well for the curves.

  • Transform (Rubber sheeting) -> Works where I create links, but creating links is tedious and I am trying to do this for over 1000 polygons.

  • Union + delete smaller areas -> Works well to align the polygon where the target overlaps the source but not where the source overlaps the target.

Is there some other way either through clipping or merging or topology or something else I can do this in an automatic way that won't involve tracing lines?

Polygon 1

enter image description here

Polygon 2

enter image description here

Polygon 1 overlaps polygon 2 - Red arrows point to the boundary of polygon 1 I don't want to align as they are > 5m away from the boundary of polygon 2

enter image description here

5
  • 1
    I'm trying to understand the image you are showing. It's not clear if the orange area is above or below the green or not even overlapping? Your red text is saying don't align if greater than 5m but looking at your image they are adjacent (zero metres apart) so you are not showing us an example of when an alignment is required. More examples are required!
    – Hornbydd
    Commented May 4, 2023 at 21:01
  • Thank you for your feedback. I can see where the confusion is. I included images of the 2 polygons on their own so that it hopefully makes more sense looking at the overlap.
    – RySmith
    Commented May 4, 2023 at 21:25
  • I agree with Hornbydd but I'll make a suggestion anuway. You might take your union and then recalculate your area fields, then run an Eliminate on those under a size that gets you most of you want, and get the rest manually.
    – John
    Commented May 4, 2023 at 22:16
  • How many of these edits have you got to do, a dozen or millions? If its a few then may be tracing around the edge rather trying to automate the solution for all pathological cases will be quicker?
    – Hornbydd
    Commented May 4, 2023 at 23:01
  • I appreciate the responses. You are on the right track John I am able to fix the portion where polygon 2 is overlapping polygon 1 this way. However, I think some manual editing will be required to achieve the result I am after. To answer your question Hornby I need to edit about 200 polygons. I wanted to find an automatic way, but it's not the end of the world if I need to do it manually.
    – RySmith
    Commented May 4, 2023 at 23:48

1 Answer 1

0

You might extract vertices of polygons to be fixed and run Near (with location) to outlines (polyline) of 'correct' polygons. Select points within distance limit and move them to new position:

arcpy.Point( !NEAR_X!, !NEAR_Y!)

You'll need to fix sharp corners manually: enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.