Calculating Stream Sinuosity

in ArcView GIS and ArcMap

 

 


Source: The Collins English Dictionary 2000 HarperCollins Publishers:
sinuosity  [Sin`u`osi`ty] ,  less commonly  sinuation
noun
(plural:   -osities ,  -ations )
1 the quality of being sinuous
2 a turn, curve, or intricacy

A river’s sinuosity is its tendency to move back and forth across its floodplain, in an S-shaped pattern, over time. As the stream meanders across the flood plain, it may leave behind scars of where the river channel once was.

A stream that doesn't meander at all has a sinuosity of 1. The more meanders in a stream, the closer the sinuosity value will get to 0.

The above graphic is graciously provided by Michael Ritter. Its source, and more great information on stream channels, is available here.  A fantastic online physical geography resource - an entire online book - may be found here

ArcView 3

The sinuosity ratio of a stream may be calculated in ArcView 3.x:

First, use the following formula to calculate a new attribute (linear length of a segment) in your theme's table:

LLength=
[shape].Along(0).Distance([shape].Along(100))

Next, divide your new metric by the length attribute (you may want to use XTools to verify the length of your features)

S=
LLength/Length

 

ArcMap (ArcGIS 8 or 9)

In ArcMap (ArcGIS) perform the following:

I. Open the Field Calculator dialog

II. Check the Advanced box, and in the pre-logic box enter

Dim dblLe as double
Dim dblLf as double
Dim dblS as double
Dim pCurve as Icurve
Dim pFPoint as IPoint
Dim pTPoint as IPoint
Set pCurve = [Shape]
Set pFPoint = pCurve.FromPoint
Set pTPoint = pCurve.ToPoint
dblLe = Sqr((pFPoint.X - pTPoint.X)^2 + (pFPoint.Y - pTPoint.Y)^2)
dblLf  = pCurve.Length
dblS = dblLe/dblLf

III. In the field expression box, enter

dblS

IV. Click OK

here is the above expression saved as a .cal file out of ArcMap...


ArcMap (ArcGIS 10.1 or newer)

In ArcGIS 10.1, ESRI has moved to Python for geoprocessing tasks. For a quick way of calculating sinuosity, there is a python toolbox available. For those of you inclined to do the coding yourselves, the code to calculate sinuosity is included on the help page for python toolboxes


http://forest.mtu.edu/staff/mdhyslop/gis/sinuosity.html
Page last modified July 9, 2014