I have an ArcGIS question that is either very easy or impossible (my favorite kind). I am somewhat inexperienced when it comes to dealing with network analysis, so maybe I'm missing something major here.
I have a stream network covering a very large area & some census data. My problem is: I want to take each of the highest-order river mouths and associate a population value with it, which will tell you "here's how many people live in the drainage area derived from this pour point".
I understand the usual way to do this would be to delineate catchments using ArcHydro or Spatial Analyst Hydrology tools, which I've done many times (then I could associate said catchments w/ census data). In this case, however, the area of interest is huge, and the processing time for even one raster operation seems to be far longer than is acceptable.
Since I can't imagine that there's any way to delineate catchments w/o involving raster processing, I'm wondering if there's a way to do something like the following rough workaround:
Given a feature class of pour points, have ArcGIS go through each pour point & determine the upstream river network. I also have a separate shapefile of watershed polygons for the area, with associated population attribute. Then, tracing down the network to the river mouth, it could tell when the network crosses a polygon boundary, and then "add" the population of the new watershed it has entered to the subsequent downstream reach. So, it'd be kind of like a weighted flow accumulation, except the "cells" would be large watershed polygons, & it would need to know, as it traces along the network, when it's crossed into a new one. By the time it reaches the mouth, it will have tabulated the total populations of all the polygons the network has passed through.
In the following image: One river mouth of interest is circled in red (there would be hundreds of these, probably). The higher-order streams are selected in turquoise just for more visual clarity. Basically, I just want to see how many of the watershed polygons upstream the network leading to that mouth propagates through, & add up their populations.
Is anything like this at all possible? I would greatly appreciate any insight! Thanks!
(One non-automated way to do what I want is to put a flag at the river mouth using Utility Network Analyst, cross my fingers & hope that it's been placed correctly, use Trace Upstream to select the features connected to that mouth, extract those, & count up the populations of the watershed polygons they intersect with. Now if there was a way to automate doing this hundreds of times... -- unfortunately I don't know how to access that toolbar via arcpy or automate things that require human clicking)