Graph Extraction with RivGraph

RivGraph is a Python package which extracts a graph of nodes and links from an input binary water mask. From the extracted graph, RivGraph assigns flow directions to links and obtains channel widths and lengths. It is also capable of producing the graph’s adjacency matrix, a number of graph-related metrics, and much more.

RivGraph Overview
Graphical overview of RivGraph functionality.

For more on what RivGraph can do, as well as some example code, check out the project’s documentation. If you’d like to look at the source code, it is available on GitHub. The development team behind RivGraph currently includes Jon Schwenk and me.


Schwenk, J. & Hariharan, J. (2021). RivGraph: Automatic extraction and analysis of river and delta channel network topology. Journal of Open Source Software, 6(59), 2952.