GraphBuilder: Builds RiverGraphs and joins them to coastal graphs. Needs a river shapefile (or potentially a RiverGraph) and a Land (or optionally, a CoastalGraph) object as input.
RiverGraph: Represents a directed network of rivers, built and pruned by GraphBuilder so that all dead ends are river mouths (other dead ends pruned). Has methods that find distance to river mouth for points (or sets of points).
Land: Definitely takes a polygon. Maybe takes a polyline and converts to polygon? Can create a CoastalGraph.
CoastalGraph: Methods for adding points and calculating edges (with buffer) and for finding distance between points.
I think I need the following modules:
GraphBuilder
: BuildsRiverGraph
s and joins them to coastal graphs. Needs a river shapefile (or potentially aRiverGraph
) and aLand
(or optionally, aCoastalGraph
) object as input.RiverGraph
: Represents a directed network of rivers, built and pruned byGraphBuilder
so that all dead ends are river mouths (other dead ends pruned). Has methods that find distance to river mouth for points (or sets of points).Land
: Definitely takes a polygon. Maybe takes a polyline and converts to polygon? Can create aCoastalGraph
.CoastalGraph
: Methods for adding points and calculating edges (with buffer) and for finding distance between points.