Existem diferentes implementações possíveis, mas a maioria dos procedimentos será iniciada a partir de uma grade e não de um NIF.
O mais simples é provavelmente o procedimento D8: você calcula a direção em que a água estaria fluindo. Existem 8 possibilidades, as 8 células próximas a uma célula da grade central. Você pode primeiro calcular essas direções, como as células estão conectadas e, finalmente, desenhar as linhas). Uma implementação fácil é encontrada no SAGA, quase como um pseudocódigo:
http://saga-gis.svn.sourceforge.net/viewvc/saga-gis/trunk/saga-gis/src/modules_terrain_analysis/terrain_analysis/ta_channels/D8_Flow_Analysis. cpp? revision = 911 & view = marcação
Embora muito fácil, isso não é muito realista: você não terá um fluxo iniciando em todas as células. Algoritmos mais avançados geralmente primeiro fecham os poços (especialmente se você tiver um DEM detalhado), depois calculam a área de captação por célula, que é o número de células que contribuem com água para uma célula específica e, em seguida, usam um limite para determinar se um fluxo é presente.
O SAGA GIS implementa muitos desses métodos de bacia hidrográfica, você pode encontrar uma descrição deles neste manual http://sourceforge.net/settings/mirror_choices?projectname=saga-gis&filename=SAGA%20-%20Documentation/SAGA%20Documents/ SagaManual.pdf
Ele foi escrito para uma versão mais antiga do SAGA GIS, mas a descrição dos algoritmos ainda é bastante precisa, e vou copiá-la aqui para referência rápida (isso é por volta da página 120), uma vez que é de código aberto, você pode verificar o detalhes de implementação observando o código.
- Determinístico 8 (D8): O clássico. O fluxo vai do centro de uma célula para o centro de uma (e apenas uma) das células circundantes. As direções de fluxo são, portanto, restritas a múltiplos de 45o, que é o principal motivo da maioria das desvantagens do método. (O'Callaghan e Mark 1984).
- Rho8: O mesmo que acima, mas com um componente estocástico que deve melhorá-lo. A direção do fluxo é determinada por um argumento aleatório que depende da diferença entre o aspecto e a direção das duas células vizinhas adjacentes. Não é muito útil. . . (Fairfield e Leymarie 1991).
- Infinito determinístico (D∞): O fluxo passa de uma célula para duas células adjacentes contíguas, considerando um fluxo bidimensional e superando as desvantagens do método D8. (Tarboton 1998).
- Modelo de alívio da Braunschweiger Digitales: outro algoritmo de direção de fluxo múltiplo. O fluxo é dividido entre a célula circundante cuja orientação é a mais próxima do aspecto da célula central e suas duas células adjacentes. (Bauer, Bork e Rohdenburg, 1985).
- FD8 (encontrado no SAGA simplesmente como Direção de Fluxo Múltiplo): Um algoritmo de roteamento de fluxo bidimensional derivado do D8. (Quinn et al 1991).
- Algoritmo de Roteamento Cinemático (KRA). Um algoritmo de rastreamento de fluxo unidimensional. O fluxo se comporta como uma bola rolando pelo DEM, sem restringir sua posição ao centro das células. (Lea 1992).
- Rede de modelo de elevação digital (DEMON): a mais complexa. Um algoritmo de rastreamento de fluxo bidimensional. Bastante demorado. (Costa-Cabral e Burgess, 1994).
Ainda mais modelos foram adicionados recentemente:
- Direção de Fluxo Múltiplo Triangular - Seibert, J. / McGlynn, B. (2007): 'Um novo algoritmo triangular de direção de fluxo múltiplo para computar áreas de declive a partir de modelos de elevação digital com grade', Water Resources Research, vol. 43, W04501. Isso pode ser interessante para você, porque também pode funcionar diretamente em um NIF
- O método do fluxo de massa (MFM) para o cálculo baseado no DEM da acumulação de vazão, conforme proposto por Gruber e Peckham (2008). Gruber, S., Peckham, S. (2008): Parâmetros da Superfície da Terra e Objetos em Hidrologia. In: Hengl, T. e Reuter, HI [Eds.]: Geomorfometria: Conceitos, Software, Aplicações. Desenvolvimentos em Ciência do Solo, Elsevier, Bd.33, S.293-308.
- O algoritmo lateral: http://watershed.montana.edu/Hydrology/Home_files/2010WR009296.pdf e seu código também estão em seu site: http://thomasgrabs.com/side-algorithm/
Se você tem acesso ao Spatial Analyst no ArcGIS, possui uma série de ferramentas para calcular caminhos de fluxo. Um fluxo de trabalho completo é fornecido na referência ESRI, mas o fluxo de trabalho típico inclui:
Obviamente, existem inúmeros trabalhos acadêmicos descrevendo diferentes métodos, mas esse método é fácil para todos os que têm acesso ao Analista Espacial.
fonte
Nos modelos de elevação digital baseados em grade, determinações confiáveis das linhas de inclinação são fornecidas pelo método D8-LTD:
Orlandini, S. e G. Moretti (2009), Determinação de caminhos de fluxo de superfície a partir de dados de elevação em grade, Water Resour. Res., 45 (3), W03417, doi: 10.1029 / 2008WR007099.
Orlandini, S., G. Moretti, M. Franchini, B. Aldighieri e B. Testa (2003), Métodos baseados em caminhos para a determinação de direções de drenagem não dispersivas em modelos de elevação digital baseados em grade, Water Resour. Res., 39 (6), 1144, doi: 10.1029 / 2002WR001639.
Nos modelos de elevação digital baseados em contorno, as linhas de inclinação podem ser determinadas automaticamente, resolvendo estruturas topográficas complexas usando o modelo (complexo) descrito no artigo a seguir:
Moretti, G. e S. Orlandini (2008), Delineamento automático de bacias de drenagem a partir de dados de elevação de contorno usando técnicas de construção de esqueletos, Water Resour. Res., 44 (5), W05403, doi: 10.1029 / 2007WR006309.
fonte
Parece que esse será o trabalho de escrever uma ferramenta do zero. A ESRI faz isso há décadas e ainda não tem o direito.
O AutoCAD (Civil 3D) pode fazer isso usando um TIN. Não estou ciente do que está acontecendo nos bastidores, mas no ArcGIS, a identificação de redes de fluxo é tratada por análise raster.
Em poucas palavras, uma varredura DEM de entrada (onde cada célula tem valores X, Y, Z) é usada como entrada e um algoritmo calcula citando "fluxo acumulado (como o peso acumulado) de todas as células que fluem para cada célula descendente na varredura de entrada. " O produto é uma varredura em que cada célula possui um valor de acumulação de fluxo. Para identificar a rede de fluxo, você isola as células de alto fluxo, que são as áreas de "fluxo concentrado". Existem outras considerações, como fator de peso opcional, entrada hidrologicamente correta de DEM, etc.
Vou apenas lançar algumas idéias: Em termos da "mecânica" de tal algoritmo, suponho que possa ser bastante direto; recursivamente e para cada célula, determine a localização e elevação de todas as células circundantes e, com base em sua elevação, some o número de células que fluem para ela. Quanto ao TIN, você provavelmente poderia construir uma linha a partir de dois pontos em cada triângulo (vértice mais alto e mais baixo) e depois juntar todos esses elementos em uma rede.
fonte