I'm doing a project on dam removal for endangered species steelhead trout conservation. The steelhead trout travels 30 miles upstream to spawn. I want to take this layer of critical habitat https://services2.arcgis.com/Uq9r85Potqm3MfRV/arcgis/rest/services/biosds122_fnu/FeatureServer/0 and merge it with existing rivers/streams and then select 30 miles up the stream/length of that merge. What would be the most efficient way to accomplish this?
RivEX has a tool for extracting out nearby network in an upstream direction starting from a point snapped the the base river network. So as long as your network conforms to RivEX requirements, you could extract out the end points of your critical habitat network, ensure these are snapped to the base network and run them through RivEX. The RivEX manual provides worked examples, have a look at these to get an idea of what the tool is capable of.