Skip to main content
Added links to relevant PostGIS functions.
Source Link
elrobis
  • 6.5k
  • 1
  • 32
  • 54

I'm not a hydrologist, so I'm not aware of any metrics/heuristics that should likely govern your methods, but here's a stream-of-consciousness response for something that would be fun to try.

Interpolate points along the line:

First, I'd interpolate points along the line with an equal-length, short spacing according to a minimal granularity where the distance between points arguably equates with a distance long-enough to establish a "winding trait".

I'd experiment with something like 4x the bank-full width, or maybe the width of the 25 or 50 yr floodplain as the spacing distance. In other words, something other than a magic-number guess that could be repeated for other streams---as such an approach would make it repeatable for streams in subsequent studies.

Get change-in-bearing values for each point:

Next, I'd iterate over the points (or do this alongside the interpolation, above) and get a value for the change in bearing between each point and the two points preceding/following it. Obviously, the higher the delta value, the more winding.

Pick thresholds to classify winding intensity:

Once you had the delta values established, you could probably "eyeball" that data against your flow path and select a thresholds for value ranges that constitute various intensities of winding. Alternatively, you could use most any classification criteria as you might for a typical choropleth map.

What a fun research question to explore. I'm jealous. :)

PS. FWIW, I'd do 100% of this in PostGRESql using PostGIS spatial queries/operators. Useful functions would include.. ST_Line_Interpolate_Point, ST_Azimuth, and possibly generate_series

I'm not a hydrologist, so I'm not aware of any metrics/heuristics that should likely govern your methods, but here's a stream-of-consciousness response for something that would be fun to try.

Interpolate points along the line:

First, I'd interpolate points along the line with an equal-length, short spacing according to a minimal granularity where the distance between points arguably equates with a distance long-enough to establish a "winding trait".

I'd experiment with something like 4x the bank-full width, or maybe the width of the 25 or 50 yr floodplain as the spacing distance. In other words, something other than a magic-number guess that could be repeated for other streams---as such an approach would make it repeatable for streams in subsequent studies.

Get change-in-bearing values for each point:

Next, I'd iterate over the points (or do this alongside the interpolation, above) and get a value for the change in bearing between each point and the two points preceding/following it. Obviously, the higher the delta value, the more winding.

Pick thresholds to classify winding intensity:

Once you had the delta values established, you could probably "eyeball" that data against your flow path and select a thresholds for value ranges that constitute various intensities of winding. Alternatively, you could use most any classification criteria as you might for a typical choropleth map.

What a fun research question to explore. I'm jealous. :)

I'm not a hydrologist, so I'm not aware of any metrics/heuristics that should likely govern your methods, but here's a stream-of-consciousness response for something that would be fun to try.

Interpolate points along the line:

First, I'd interpolate points along the line with an equal-length, short spacing according to a minimal granularity where the distance between points arguably equates with a distance long-enough to establish a "winding trait".

I'd experiment with something like 4x the bank-full width, or maybe the width of the 25 or 50 yr floodplain as the spacing distance. In other words, something other than a magic-number guess that could be repeated for other streams---as such an approach would make it repeatable for streams in subsequent studies.

Get change-in-bearing values for each point:

Next, I'd iterate over the points (or do this alongside the interpolation, above) and get a value for the change in bearing between each point and the two points preceding/following it. Obviously, the higher the delta value, the more winding.

Pick thresholds to classify winding intensity:

Once you had the delta values established, you could probably "eyeball" that data against your flow path and select a thresholds for value ranges that constitute various intensities of winding. Alternatively, you could use most any classification criteria as you might for a typical choropleth map.

What a fun research question to explore. I'm jealous. :)

PS. FWIW, I'd do 100% of this in PostGRESql using PostGIS spatial queries/operators. Useful functions would include.. ST_Line_Interpolate_Point, ST_Azimuth, and possibly generate_series

Improved the answer formatting, added some style markup, and added a link.
Source Link
elrobis
  • 6.5k
  • 1
  • 32
  • 54

I'm not a hydrologist, so I'm not aware of any metrics/heuristics that should likely govern your methods, but here's a stream-of-consciousness response for something that would be fun to try.

Interpolate points along the line:

First, I'd interpolate points along the line with an equal-length, short spacing according to a minimal granularityminimal granularity where the distance between points arguably equates with a distance long-enough to establish a "winding trait". 

I'd experiment with something like 4x the bank-full width. Or maybe the width of the 25like 4x the bank-full width, or 50 yr floodplainmaybe the width of the 25 or 50 yr floodplain as the spacing distance. In other words, something other than a magic-number guess that could be repeated for other streams---doing it that wayas such an approach would make it repeatable for other streams in othersubsequent studies.

Get change-in-bearing values for each point:

Next, I'd iterate over the points (or do this nested withinalongside the interpolation step, above) and get a value for the change in bearing between thateach point and the two points preceding/following it. Obviously, the higher the delta value, the more winding.

Pick thresholds to classify winding intensity:

Once you had the delta values established, you could probably "eyeball" that data against your flow path and select a thresholds for value ranges that constitute various intensities of winding. Alternatively, you could use most any classification criteria as you might for a typical choropleth map.

What a fun research question to explore. I'm jealous. :)

I'm not a hydrologist, so I'm not aware of any metrics/heuristics that should likely govern your methods, but here's a stream-of-consciousness response for something that would be fun to try.

First, I'd interpolate points along the line with equal-length, short spacing according to a minimal granularity where the distance between points arguably equates with a distance long-enough to establish a "winding trait". I'd experiment with something like 4x the bank-full width. Or maybe the width of the 25 or 50 yr floodplain as the spacing distance. In other words, something other than a magic-number guess that could be repeated for other streams---doing it that way would make it repeatable for other streams in other studies.

Next, I'd iterate over the points (or do this nested within the interpolation step, above) and get a value for the change in bearing between that point and the points preceding/following it. Obviously, the higher the delta value, the more winding.

Once you had the delta values established, you could probably "eyeball" that data against your flow path and select a thresholds for value ranges that constitute various intensities of winding.

What a fun research question to explore. I'm jealous. :)

I'm not a hydrologist, so I'm not aware of any metrics/heuristics that should likely govern your methods, but here's a stream-of-consciousness response for something that would be fun to try.

Interpolate points along the line:

First, I'd interpolate points along the line with an equal-length, short spacing according to a minimal granularity where the distance between points arguably equates with a distance long-enough to establish a "winding trait". 

I'd experiment with something like 4x the bank-full width, or maybe the width of the 25 or 50 yr floodplain as the spacing distance. In other words, something other than a magic-number guess that could be repeated for other streams---as such an approach would make it repeatable for streams in subsequent studies.

Get change-in-bearing values for each point:

Next, I'd iterate over the points (or do this alongside the interpolation, above) and get a value for the change in bearing between each point and the two points preceding/following it. Obviously, the higher the delta value, the more winding.

Pick thresholds to classify winding intensity:

Once you had the delta values established, you could probably "eyeball" that data against your flow path and select a thresholds for value ranges that constitute various intensities of winding. Alternatively, you could use most any classification criteria as you might for a typical choropleth map.

What a fun research question to explore. I'm jealous. :)

Source Link
elrobis
  • 6.5k
  • 1
  • 32
  • 54

I'm not a hydrologist, so I'm not aware of any metrics/heuristics that should likely govern your methods, but here's a stream-of-consciousness response for something that would be fun to try.

First, I'd interpolate points along the line with equal-length, short spacing according to a minimal granularity where the distance between points arguably equates with a distance long-enough to establish a "winding trait". I'd experiment with something like 4x the bank-full width. Or maybe the width of the 25 or 50 yr floodplain as the spacing distance. In other words, something other than a magic-number guess that could be repeated for other streams---doing it that way would make it repeatable for other streams in other studies.

Next, I'd iterate over the points (or do this nested within the interpolation step, above) and get a value for the change in bearing between that point and the points preceding/following it. Obviously, the higher the delta value, the more winding.

Once you had the delta values established, you could probably "eyeball" that data against your flow path and select a thresholds for value ranges that constitute various intensities of winding.

What a fun research question to explore. I'm jealous. :)