I am having a long portion of river. Here I am displaying part of it. In this polygon which is transparent black.

How do I find the wider track (bank to bank perpendicular from the center line) using ArcGIS Desktop?


  • 5
    How do you mesure that ? is it the longest segment perpendicular to the river centerline (and you need to define what you consider river centerline : line of max depth or centerline of your polygone or ...) you need to give more detail and say what you have already tried if you want answer
    – J.R
    Commented Feb 8, 2019 at 16:38
  • I have updated the question, It is bank to bank I require. Commented Feb 8, 2019 at 16:49
  • 4
    But how do you define 'bank to bank'? You could draw a very long line from the bank near the lower left side to the upper right side, for example.
    – Simbamangu
    Commented Feb 8, 2019 at 17:17
  • 2
    I totaly agree with them. Question is not clear as bank to bank could be a huge line from left nord bank side to right south bank side. Otherwise you should decide first what is the center line of the river and then you can compute the longest perpendicular line all along the river. Commented Feb 8, 2019 at 17:32
  • 1
    I would say that this is not a centre line. Immediately after the far right yellow line it is closer to one side. Looks like you have drawn a floodplain polygon and not a river bank... There in lies the problem as @FelixIP and others have pointed out. If your channel becomes tortuous (and rivers do tend to wiggle) then defining a perpendicular from a river centreline that is perpendicular to the floodplain boundary can be highly problematic and how do you deal with islands caused by braiding? You give no indication of how much network you need to measure?
    – Hornbydd
    Commented Feb 11, 2019 at 13:18

3 Answers 3


Measuring from "bank to bank" is too vague. In the image below I've illustrated 8 different ways you can measure to the south bank from a single point on the north bank (red arrow).

enter image description here

Which of these lines would be the "correct" line of measurement for the distance from that point to the other bank? Any point along the river has more than one possible bank to bank measurement. Using this method, you'll find that the furthest line from bank to bank will end up running nearly parallel to the river:

enter image description here

We need to be more precise about how the measurements should be taken.

If, as JR suggested, you measure perpendicular to the river centerline, you need to obtain a river centerline. In the example below, I drew a hypothetical river centerline.

enter image description here

As you can see, at any given point along the river, there's only one line that stretches from bank to bank AND perpendicular to the river centerline. So this is a better way to measure bank width.

If you choose to implement this method, your next steps should be:

  1. Obtain a river centerline.
  2. Pick a single software package. Asking for answers in more than one software package (ArcGIS and QGIS) makes a question too broad for this site. See Asking good Questions for GIS Stack Exchange? for more information.
  3. If you need help figuring out how to use your chosen software to measure from bank to bank and perpendicular to the centerline, edit this question or ask a new one.
  • I have edited the question, I need help like as in the third image Commented Feb 8, 2019 at 17:50

You could try the GRASS algorithm v.centerline

v.centerline creates a new map with a line representing an approximation of the central tendency of a series of input lines that all have similar trajectories. This can for example, be the central line of a river represented by its two sides, or a line representing the general direction of a series of flight paths, etc.

Once you have the centreline, you can use v.transects to create perpendicular lines at a very small interval, and then clip them to the boundaries of the source polygon.

I have also seen ST_ApproximateMedialAxis() in PostGIS used to derive river centrelines. From there you can use the same method as mentioned earlier with v.transects() to find the "widest portion"

As others have already pointed out, however, it is a very difficult question to answer objectively, but I think one of these methods will get you a reasonable and reproducible answer.


Due to complex shape of natural channels I think the diameter of largest inscribed circle is much better definition of greatest width:

enter image description here

Computing polygon skeleton and perpendiculars to segments are very challenging tasks.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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