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.

This work has also been published as an article in the Journal of Open Source Software, available here. The development team behind RivGraph currently includes Jon Schwenk and me.