I have a polygon feature that is 228 miles in length and 95 feet in width. But, along the polygon there are sections that are 75 feet wide. I was tasked with locating those sections and flagging them. I tried to look thorough the different ArcMap toolbox options and could not find an appropriate tool that might get me the results I need. I suspect I need to use some creativity and a combination of tools to achieve that goal. Any suggestions?

enter image description here

  • If the polygon is not a complex shape (eg, if it is just longish without complex turns back on itself) then you could create a series of test lines at right angles to the edge of the polygon. Clip the lines to the polygon. Then select all the lines with a length below your threshold value. To create the test lines, you would need to get points at regular intervals along the line (small enough intervals to catch each short section), and then draw a line from each of those points at right angles to the edge of the polygon and longer in both directions than the widest width of the polygon. – Son of a Beach Dec 12 '19 at 22:02
  • @Kurk I do have those points ready (milepost with intervals of 100th of a mile) but how do I create that last part of your comment? ("draw a line from each of those points at right angles to the edge of the polygon") – doronwen Dec 12 '19 at 22:13
  • It's non-trivial, but you could use the technique described at: gis.stackexchange.com/questions/201867/… – Son of a Beach Dec 12 '19 at 22:23
  • What license level do you have? – Emil Brundage Dec 12 '19 at 22:23
  • 1
    Split polygon in two lines. Densify, сcnvert to points. Run near tool on one set of points against others. – FelixIP Dec 12 '19 at 22:54

As @FelixIP suggested the following method and steps answered my question above:

  1. I converted the polygon shape into two polylines using the "Polygon To Line" tool, added a field to the attribute table and gave each line a unique name/ID.
  2. I converted the lines into points using the "Generate Points Along Lines" tool with intervals of 50 feet (I'll add a note on that at the end of this post).
  3. I used the "Near" analysis tool to calculate the nearest point from one set of points to the second set of points.
  4. The result I got is the nearest point in one dataset to the other dataset (in my case, North_Points and South_Points).
  5. To find the narrowest parts of the original polygon shape I sorted the "Near_DIST" column by Ascending order.

Even thought my poylgon contain two width sizes: 95 feet and 75 feet, I can now easily identify the areas where the polygon gets "slimmer". And obviously, there are some exceptions here and there but overall this method worked for me.

Important note: the interval of points that being generated is VERY IMPORTANT. In my case, my polygon (or two polylines) were 228 miles in length and generating points every 50 feet took a while. But the smaller the interval is the more accurate results you will get because the points being generated are not directly against each other as you can see from the attached image. The two lines that that were generated from the polygon maybe are the same length in total, but the distance measurement changes as they twist and turn along the way if that make sense. If you have two parallel lines with the same exact length all your point would line-up.

enter image description here

  • 2nd thought, points on northern line and southern line, will suffice. – FelixIP Dec 13 '19 at 19:14
  • @FelixIP not sure what you mean? – doronwen Dec 13 '19 at 19:29
  • Apply Near tool on northern point and southern line. You'll get a shortest distance from point to line on the other side. – FelixIP Dec 13 '19 at 20:25
  • That's a good point @FelixIP. Thanks again! – doronwen Dec 13 '19 at 20:55

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.