Calculating Stream Sinuosity

in ArcView GIS and ArcMap



Source: The Collins English Dictionary 2000 HarperCollins Publishers:
sinuosity  [Sin`u`osi`ty] ,  less commonly  sinuation
(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:


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



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


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
Page last modified July 9, 2014