4

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?

Example

Hornbydd
  • 43,380
  • 5
  • 41
  • 81
Gokul Anand
  • 421
  • 4
  • 15
  • 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 Feb 08 '19 at 16:38
  • I have updated the question, It is bank to bank I require. – Gokul Anand Feb 08 '19 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 Feb 08 '19 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. – César Arquero Cabral Feb 08 '19 at 17:32
  • I recently found out about Fréchet distances. Let's say you walk along one bank and your dog - on a leash - walks down the other. Walking at the same speed and direction, what's the longest leash you would need? That would give you at least one measure of the widest point. Having said that, I've no idea how you'd find that in ArcGIS (at least not without doing some Python coding). But at least it's a starting point. – Mark Ireland Feb 08 '19 at 20:50
  • Compute Frechet segments is not a big deal, place points at some step along banks using linear referencing for example, and connect pairs. – FelixIP Feb 09 '19 at 04:21
  • 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 Feb 11 '19 at 13:18
  • I just gave this picture for an immediate representation. If I want to obtain the river bank for another river which doesn't have any river island. What method should I follow? – Gokul Anand Feb 12 '19 at 04:44

3 Answers3

9

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.
csk
  • 24,827
  • 3
  • 32
  • 70
8

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.

wfgeo
  • 3,538
  • 2
  • 24
  • 47
7

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.

FelixIP
  • 22,922
  • 3
  • 29
  • 61