An algorithm to reduce a river network or other graph-like polygon to a set of lines

E. I. Schaefer, J. D. Pelletier

Research output: Contribution to journalArticlepeer-review

4 Scopus citations


In many geomorphic applications, it is necessary to reduce a polygon to a set of axial lines. For example, consider a fluvial channel network. On the one hand, this network has a polygonal footprint with reaches of finite width organized into a branching network. On the other hand, measuring the length or sinuosity of these reaches, as examples, requires the reduction of their polygonal footprints to axial lines. Here we present a new algorithm that can objectively reduce a polygon to such a set of axial lines, formally called a skeleton. Across four illustrative test cases, we show that this vector-based algorithm has some advantages over three raster-based algorithms in current geomorphic use because it generates smooth, continuous, well-centered skeletons and supports a useful scale-independent metric for the removal of spurious portions. Skeletons in this algorithm are uniquely constructed using a minimum of two parameters: a sampling interval (similar to a resolution) and a numeric pruning criterion (which determines skeleton complexity). We have implemented the algorithm as a freely available, open-source, GIS-ready Python code package without commercial dependency.

Original languageEnglish (US)
Article number104554
JournalComputers and Geosciences
StatePublished - Dec 2020

ASJC Scopus subject areas

  • Information Systems
  • Computers in Earth Sciences


Dive into the research topics of 'An algorithm to reduce a river network or other graph-like polygon to a set of lines'. Together they form a unique fingerprint.

Cite this