# Splitting polygon features at specific widths using ArcGIS for Desktop?

I have a group of islands and I need to divide them into different segments based on feature width at several locations. There are four values for width (50m, 100m, 200m, and 300m) which I need to take into account. My goal is to have coastline as separated features based on this, e.g. part of polygon inside which distance from outline to outline is between 0-50m, 51 - 100m etc. This all is related to calculating modified lengths for parts of coastline.

I assume there might be a built-in-solution for this, but I haven't been able to figure it out yet. I'm really looking for simple solution since it will anyway be hard to take different directions into account. Features could of course be polylines as well.

Below is a picture for better demonstration.

• Im not quite sure what is your goal there, but from this part of your question: "part of polygon inside which distance from outline to outline is between 0-50m, 51 - 100m etc" , I think that an inner buffer may help you. Use the buffer tool with a `distance = -50` to get all area inside an island that its distance from coastline is equal or below 50 meters. Repeat for all other distances. – dof1985 Jul 10 '16 at 16:12
• I'm afraid that a simple buffer won't cut it since it takes distance from both outlines. For example I want to separate capes that are less than 50 m or between 50 -100 m by their diameter. And then assign different factors to them. – Ville Koivisto Jul 10 '16 at 18:07
• In other words: how to calculate distance from feature outline to another outline? This should happen along the outline and frequently enough (e.g. every 5 meters) in order to distinguish in which spots distance jumps to another category. – Ville Koivisto Jul 11 '16 at 12:21
• The only thing that comes into mind is to form a grid of lines ( like a `fishnet`) per island and rotate it according to the island's main direction. Than you can use `intersect` to cut lines, you can calculate their length and cut polygons with any selected line. Not sure how to automate this process however.... – dof1985 Jul 11 '16 at 12:26
• Dof's suggestion is alright. By creating fishnet of polylines, clipping them to the island and then selecting them all and exploding them in editor mode I already get a good idea where width jumps from one category to another. Then I should just find a way to clip island outline according to these locations. Thanks! – Ville Koivisto Jul 12 '16 at 17:51

Here is a short workflow to summarize contributing comments above. The workflow involves: (a) creating a fishnet; (b) intersect island polygons and fishnet; (c) select fishnet lines by length; (d) split polygons accordingly.

It requires manual and repetitive work, but can be possible automated with arcpy (though I'm not sure about the use of `split polygons` in arcpy).

Fishnet

Forming a `fishnet` can be done collectively or for each island. If the second approach is adopted, one can rotate the grid according to the main axis of the island. However, for demonstration and for the sake of simplicity I will not rotate the grid. I use the extent of my island polygon (it is actually a basins layer), and set cell size that corresponds to the breaks along the "shore" (here, about 0.004167 decimal degrees).

Intersect & Select by Attributes

The use of intersect gives the following polyline layer. I used symbology to show changes to line length. After intersection the length property shows the required shore-to-shore distance.

Here I use `Get unique values` to choose a distance that is the closest to a threshold of 5000 meters (The 50 - 200 meters showed in the question, do not exists in my layer).

Split polygons

Finally, use the split polygon tool from advanced editing tool bar.

Note that the operation requires that while in editing mode, you select the line with which you would like to split, and than approve the operation (I used the default settings).

Additional information can be found in arcmap help pages on splitting a polygon, creating a fisnet and rotating a fishenet (in GIS-SE), and the use of intersect.