I am currently working on attributing nodes along some stream polylines. The attribution is supposed to include: 1)length of the stream from it's reference point 2) the location of the node in relation to its reference point - upstream/downstream) 3) either a road crossing or a stream confluence, whichever is closest. This will be the reference point.
I am trying to find a way to automate this process (if possible) because I need to attribute somewhere around 2,000 points.
My question is, how would you go about doing this?
Here is what I have conceptually worked out so far:
- I need to attribute each stream node to the closest either road or confluence point. For this I would do a Spatial Join and set the Match Option to "Closest"
- Once the segments are attributed then the Locate Features Along Routes tool can be applied to gather the length of the segment to its initial point/vertex (determined by the initial attribution)
- The direction (upstream/downstream) can be determined by the directionality of the way the line was drawn
The main problem I see with this process is that I will be doing a Spatial Join to the node and it will be joining the closest node and not to the confluence point on the river or closest road, which will not give me the correct length once I run the Locate Features Along Routes tool.
Here is why I don't think my concept is working yet: When looking at Rock Creek Tributary 12, the node at 9th Street should be referencing 9th Street, since it is closer. But the node right by the confluence should be referencing the confluence point with Rock Creek. I am not entirely sure how to be sure that the nodes will be attributed to the closest either confluence or road.