It’s been more or less done a while, but here is finally a blog post about it.
- Load GIS formats into networkx graphs (where you can do all sorts of crazy analytics on them)
- Perform upstream and downstream traces with stopping points.
- Set sources and find/repair edges that don’t have the correct to/from nodes.
Example from the wiki:
1 2 3 4 5 6 7