I have a large set of polygons that represent sections of streams, each of which has a Unique ID. Each of these polygons is made up of a series of left bank points (LB1,LB2,etc.) and right bank points (RB1,RB2,etc.). I need to calculate the average bankfull width (width of polygon) for these streams.

I think something like point distance in arcmap would work, but instead of finding the distance based on nearest point I want to match up LB1 and measure the distance to RB1 and sequentially do this for each set up bank points.


I'm assuming your left bank points and right bank points are in separate files or feature classes.

First, create an X and Y coordinate field in your Bank Point files. Then calculate the X and Y coordinates for each of the points.

Provided every Left Bank Point has a matching Right Bank Point, you could join the two files based on their unique ID and bank point number.

Then, you can create another field called distance. Calculate the distance between points like so:


Another possibility, if you have access to PostGIS, is to compute the Hausdorff distance (ST_HausdorffDistance) between left bank segments and right bank segments.

For each left bank segment, you can compute the Hausdorff distances to all right bank segments, and pick the smallest distance as the width at that LB segment.

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.