Determine points upstream or downstream of other features on a river network?

Discussion created by dmede on Feb 26, 2014
Latest reply on Mar 7, 2014 by sdaa999
Given a set of points along a complex river network, and a set of municipal district polygons covering the points and rivers... how would you determine for each point if it was 'upstream' or 'downstream' of the closest municipality along the same river the point is situated on?

See the attached image for a simplified version of what I'm trying to help someone do. Basically we have mines (A B & C), situated along a river network. And we have municipalities (1 2 3 4 & 5). I don't care about the municipality the mine is in, but I ant to know if each mine is upstream or downstream on the next closest municipality on the same river.

This seems like a simple question, but the problem is in how to connect the mines to the municipalities on their network when there is no common identifier for the river segments they are on.

So for mine B, how do I get the upstream/downstream value for municipality 4 rather than 5?

One solution would be to simply get an elevation value at the mine and at the intersection of the river the mine is on at the municipal boundary, but I have no way to associate them. In the real data the boundary between each municipality is crossed by dozes of streams each.

Still working this out but would love some suggestions.