A ajuda do ArcGIS diz:
As bacias hidrográficas podem ser delineadas a partir de um DEM, computando a direção do fluxo e usando-a na ferramenta Watershed. Para determinar a área de contribuição, uma varredura que representa a direção do fluxo deve primeiro ser criada com a ferramenta Direção do fluxo.
A direção do fluxo é calculada a partir do DEM usando o método D8 , onde o fluxo é abstraído calculando para cada célula, em qual de seus 8 vizinhos, a água dessa célula fluirá para.
Existem muitas alternativas ao D8, como Rho8, Froh8 e Stream Tubes, mas a maioria dos softwares GIS, incluindo o ArcGIS, tendem a usar o D8, pois é mais simples e menos computacionalmente do que outros.
Alguns anos atrás, eu estava trabalhando em um projeto de Delimitação de Bacias Hidrográficas e estávamos enfrentando vários problemas devido ao ArcGIS usando o método D8. Os dois principais problemas foram
- D8 permite apenas fluxo direcional uni. A água pode fluir apenas em uma direção a partir de uma célula.
- Os fluxos de corrente gerados tiveram um grande viés ao longo do eixo diagonal. Isso deu origem a fluxos estranhos.
A partir de Nossos dados, sabíamos que esses dois problemas eram grandes problemas, então eu desenvolvi algumas ferramentas para gerar direções de fluxo usando métodos híbridos.
Uma das minhas primeiras tarefas foi fazer engenharia reversa da ferramenta de cálculo de Captação. Eu achei que era logicamente bastante simples. Se você deseja encontrar a captação para um determinado ponto (também chamado de ponto de fluidez), primeiro você encontra a célula à qual ela pertence. Frequentemente, você tentará ajustá-lo ao ponto com o maior acúmulo de fluxo em uma determinada tolerância.
Nesta célula, você encontrará todas as células da vizinhança que contribuem para ela. Para cada uma dessas células da vizinhança, você encontra as células que contribuem para elas e assim por diante. Você continua esse processo iterativo até não encontrar novas células. É quando você alcança as cordilheiras ou o limite da bacia hidrográfica.
Eu descobri que meu código simples que fazia isso para rasters ASCII, produzia resultados quase semelhantes quando comparado à ferramenta Watershed do ArcGIS. Às vezes, costumava haver uma diferença de algumas células na fronteira, então estou convencido de que o ArcGIS segue um algoritmo D8 não modificado.