I'm trying to figure out how to remove only the outer boundary of a group of polygons. For instance, imagine I have a layer containing the map of the United States, where each state is its own polygon/attribute. I want to create a new layer that consists only of the boundaries BETWEEN states. In other words, all of the coastline and borders would be gone, but the state grid would still be present (only the coastal or border states would be affected). Is there any way of doing this?

What I'm trying to do is replace an inaccurate boundary edge with a more accurate boundary edge. The problem is that my accurate boundary edge doesn't include the interior polygon edges. So I'm trying to take the interior polygon edges from one layer and combine it with the accurate boundary edge of the other. Unfortunately the answer to the question the way I asked it results in multiple lines that no longer include the original attribute data for the original polygons. I now have a feeling I'm going about it in entirely the wrong way!

I ended using a combination of what Nir and Midavalo recommended. I used Polygon to Line (instead of Feature to Line) to turn my "state" and boundary layer into lines, then selected by attribute (Left_ID = -1) to remove the outer boundary. Then I copied and pasted my more accurate boundary line into this layer, and used Feature to Polygon to convert the new combines lines layer into Polygons. Then since I only had about 12 or so polygons I manually entered the appropriate attribute data into the new polygons. Problem solved.

  1. Polygon To Line on your polygon Feature Class, check "Identify and store polygon neighboring information (optional)". The result will have fields "LEFT_FID" and "RIGHT_FID" specifying which original polygon was on the left and right of this line, if none, the value will be -1.
  2. Select By Attributes Where LEFT_FID = -1 OR RIGHT_FID = -1. By this you select only lines that had no polygon to their left or right, in other words, coastal lines.
  3. Delete these lines.
  4. Based on the LEFT_FID and RIGHT_FID you can tell, for each line, which polygons (states in your example) it borders.
| improve this answer | |
  • 1
    Thanks @nir, that definitely does what I asked, though I now realize that I asked the question in a way that wasn't entirely clear (see my edit to the original question). What I ultimately want to do is replace the old boundary edge, with a NEW boundary, from a different layer, while keeping the original "state" lines. – omaxio Jan 10 '16 at 22:04
  • I'm not quite sure what you mean, at this stage pictures of your layers will help. Anyway, you say that lines no longer include the original attribute data, but you can join them to the original polygons based on LEFT_FID and RIGHT_FID of the lines. You will get the data for both polygons the line borders. – Nir Jan 10 '16 at 22:25

If I understand what you're asking, your output will be lines rather than polygons, as the outer states would just have lines between them and no coastal or border line.

Dissolve (ArcToolbox > Data Management > Generalization > Dissolve) your states polygon layer into a temporary layer than will only contain your outer boundary. This will be used to select your boundary lines for removal. http://desktop.arcgis.com/en/desktop/latest/tools/data-management-toolbox/dissolve.htm

Convert your states polygons to lines (ArcToolbox > Data Management > Features > Feature To Line). This layer will be selected by your states dissolved polygon above. http://desktop.arcgis.com/en/desktop/latest/tools/data-management-toolbox/feature-to-line.htm

Select by Location (ArcToolbox > Data Management > Layers and Table Views > Select Layer by Location, using your new Lines layer as your Input Feature Layer, and your dissolved polygon layer as your Selecting Features. Set the relationship to "Share a Line Segment With" and run the tool. The selected lines should be only your outer boundary lines, and can be deleted from your lines layer. http://desktop.arcgis.com/en/desktop/latest/tools/data-management-toolbox/select-layer-by-location.htm

| improve this answer | |
  • Thanks @midavalo I didn't realize that I'd be ending up with lines rather than polygons (should have realized that). I am trying to preserve the polygon attributes since ultimately I want to replace the old boundary with the boundary from another layer, while preserving the original interior polygon (e.g. state) lines. That wasn't clear from the question and unfortunately I didn't realize that until getting a couple answers to it. – omaxio Jan 10 '16 at 22:16
  • if you can add your new boundary as a line to your new line layer, you should be able to convert that layer to polygon, incorporating your new boundary. An intersect with your old states layer could be used to pull attributes onto your new polygons. – Midavalo Jan 10 '16 at 22:19
  • Thanks, that did the trick — copying and pasting the new boundary line into the state line layer, then using Feature to Polygon to create new polygons. I ended up just manually entering new attributes since I only had about 12 polygons. – omaxio Jan 11 '16 at 15:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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