I need to estimate the different widths of the polygons that surround some polylines. The polygons correspond to wetlands (buffer zones) and the lines represent the rivers. The catchment that I´m working with is very large, so I need an "automatic" way to solve this.

Any ideas?

enter image description here


Some observations on your data.

  • Your wetland polygons are not buffers of your lines, they are clearly derived from a raster dataset and do not have a consistent topological relationship to the line.
  • Your wetland polygons are discontinuous as shown in bottom right.
  • Your image shows that your rivers can lie outside the wetlands as demonstrated by the bottom right of the image, which is clearly illogical.
  • You have tributaries feeding into the main stem that start outside of any wetland, how are you going to account for that?
  • You have islands within your wetlands, how are you going to deal with those?
  • Within the green circle you have an edge that is curling around so you have an edge that is closer than another yet it is the same boundary.

I would suspect there is no clean solution to this problem as the wetland is not derived from the network.

Thinking off the top of my head, try converting the polygon vertices to points then on a line by line basis run the near tool with a search tolerance. This will need to scale with your network as I expect wetlands will be larger downstream. This could all be automated in model builder. You will have to accept a level of error around junctions.


You'll need to have the polygon divided into segments for each line. Then if you divide the area of the polygon by the length of the matching line segment, you'll have average width for that area.

  • Thanks! Do you know how can I divide the area of the polygon by the length of the matching line segment? – Alfonsina López Aug 20 '18 at 18:42
  • Create new fields for each layer. Right click > Calculate Geometry. For your polygon layer, select area, for the line layer, select length. Perform a spatial join (Right click one of the layers in ToC > Joins) so that the geometry attributes are in the same table, create a new field, and use the field calculator to divide Area/Length. – RobinHorner Aug 21 '18 at 0:25

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.