Dado un terreno, ¿cómo dibujar la ruta del flujo de la corriente?

23

Suponiendo que tengo un terreno, como de costumbre, el terreno tiene crestas, arroyos y todas las características que puedes encontrar en un mapa de la vida real. El agua fluye desde la cima de la montaña hacia un área más baja, la ruta que fluye el agua se denomina ruta de flujo de corriente.

El terreno se da en términos de red irregular triangular (TIN), donde cada punto p (x, y) tiene un valor z. ¿Cómo utilizar esta información para construir la ruta del flujo de flujo? ¿Cuál es la física detrás de esto?

Por lo que sé, el método de descenso más pronunciado se puede usar para resolver este problema . Estoy pensando en escribir mi propio algoritmo de flujo de flujo, por lo que estoy interesado en los antecedentes teóricos en lugar de usar las herramientas existentes.

    
pregunta Graviton 15.09.2011 - 05:36

5 respuestas

26

Hay diferentes implementaciones posibles, pero la mayoría de los procedimientos comenzarán desde una cuadrícula y no desde un TIN.

El más sencillo es el procedimiento D8: se calcula la dirección en la que fluiría el agua. Hay 8 posibilidades, las 8 celdas que están al lado de una celda de cuadrícula central. Primero puede calcular estas direcciones, que cómo se conectan las celdas, y finalmente puede dibujar las líneas). Una implementación fácil se encuentra en SAGA, casi se lee como pseudocódigo: enlace

Aunque es muy fácil, esto no es muy realista: no tendrá una secuencia que comience en cada celda. Los algoritmos más avanzados por lo general primero cierran los pozos (especialmente si tiene un DEM detallado), luego calculan el área de captación por celda, que es el número de celdas que contribuyen con agua a una celda en particular, y luego usan un umbral para determinar si una corriente está presente.

SAGA GIS implementa muchos de estos métodos de área de captación, puede encontrar una descripción de ellos en este manual enlace

Fue escrito para una versión anterior de SAGA GIS, pero la descripción de los algoritmos sigue siendo bastante precisa, y la copiaré aquí para una referencia rápida (esto es alrededor de la página 120), ya que es de código abierto, usted Puede verificar los detalles de la implementación mirando el código.

  • Determinista 8 (D8): El clásico. El flujo va desde el centro de una celda al centro de una (y solo una) de las celdas circundantes. Las direcciones de flujo están, por lo tanto, restringidas a múltiplos de 45o, que es la razón principal de la mayoría de los inconvenientes del método. (O'callaghan & Mark 1984).
  • Rho8: Igual que el anterior pero con un componente estocástico que debería mejorarlo. La dirección del flujo está determinada por un argumento aleatorio que depende de la diferencia entre el aspecto y la dirección de las dos celdas vecinas adyacentes. No es muy útil. . . (Fairfield & Leymarie 1991).
  • Infinito determinista (D∞): el flujo va de una celda a dos celdas circundantes contiguas, considerando un flujo bidimensional y superando los inconvenientes del método D8. (Tarboton 1998).
  • Braunschweiger Digitales Reliefmodell: Otra dirección de flujo múltiple algo ritmo El flujo se divide entre la celda circundante cuya orientación es más cercana al aspecto de la celda central y sus dos celdas adyacentes. (Bauer, Bork & Rohdenburg 1985).
  • FD8 (que se encuentra en SAGA simplemente como Dirección de flujo múltiple): un algoritmo de enrutamiento de flujo bidimensional derivado de D8. (Quinn et al 1991).
  • Algoritmo de enrutamiento cinemático (KRA). Un algoritmo de seguimiento de flujo unidimensional. El flujo se comporta como una bola que rueda por el DEM, sin restringir su posición al centro de las células. (Lea 1992).
  • Red de modelo de elevación digital (DEMON): la más compleja. Un algoritmo de seguimiento de flujo bidimensional. Más bien mucho tiempo. (Costa-Cabral & Burgess 1994).

Incluso se han agregado más modelos recientemente:

  • Dirección de flujo múltiple triangular: Seibert, J. / McGlynn, B. (2007): "Un nuevo algoritmo de dirección de flujo múltiple triangular para el cálculo de áreas en pendiente ascendente a partir de modelos de elevación digitales reticulados", Water Resources Research, vol. 43, W04501. Esto puede ser interesante para usted porque también podría funcionar directamente en un TIN
  • El método de flujo de masa (MFM) para el cálculo basado en DEM de la acumulación de flujo según lo propuesto por Gruber y Peckham (2008). Gruber, S., Peckham, S. (2008): Parámetros de superficie terrestre y objetos en hidrología. En: Hengl, T. y Reuter, H.I. [Eds.]: Geomorfometría: Conceptos, Software, Aplicaciones. Desarrollos en la ciencia del suelo, Elsevier, Bd.33, S.293-308.
  • El algoritmo lateral: enlace y su código también se encuentra en su sitio web: enlace
respondido por el johanvdw 15.09.2011 - 09:47
5

Un enfoque original es el propuesto en este documento :

Fisher, P., J. Wood y T. Cheng (2004). ¿Dónde está Helvellyn? La borrosidad de la morfometría paisajística multiescala. Transacciones del Instituto de Geógrafos Británicos 29, 106-128.

Propone un método basado en la representación difusa y multiescala. No estoy seguro, pero este método puede ser el implementado en LandSerf .

    
respondido por el julien 15.09.2011 - 10:32
4

Si tiene acceso a Spatial Analyst en ArcGIS, entonces tiene una serie de herramientas para calcular las rutas de los flujos. Un flujo de trabajo completo se proporciona en la referencia de ESRI, pero el el flujo de trabajo típico incluye:

  1. Convierta su TIN a un ráster de elevación.
  2. Calcular la dirección del flujo.
  3. Llenar pequeños fregaderos.
  4. Calcular la acumulación de flujo
  5. Usando un umbral, elija solo las celdas con una cantidad determinada de flujo.
  6. Use la herramienta Stream to Feature para exportar las secuencias a un shapefile vectorial.

Por supuesto, hay numerosos artículos académicos que describen diferentes métodos, pero este método es fácil para todos los que tienen acceso a Spatial Analyst.

    
respondido por el Patrick 15.09.2011 - 07:53
3

En los modelos digitales de elevación basados en cuadrícula, el método D8-LTD proporciona determinaciones confiables de las líneas de pendiente:

Orlandini, S. y G. Moretti (2009), Determinación de trayectorias de flujo de superficie a partir de datos de elevación de malla, Water Resour. Res., 45 (3), W03417, doi: 10.1029 / 2008WR007099.

Orlandini, S., G. Moretti, M. Franchini, B. Aldighieri y B. Testa (2003), Métodos basados en la trayectoria para la determinación de las direcciones de drenaje no dispersivas en modelos de elevación digitales basados en cuadrícula, Water Resour. Res., 39 (6), 1144, doi: 10.1029 / 2002WR001639.

En los modelos digitales de elevación basados en contornos, las líneas de pendiente se pueden determinar automáticamente resolviendo estructuras topográficas complejas utilizando el modelo (complejo) que se describe en el siguiente documento:

Moretti, G. y S. Orlandini (2008), Delineación automática de cuencas de drenaje a partir de datos de elevación de contorno utilizando técnicas de construcción de esqueleto, Water Resour. Res., 44 (5), W05403, doi: 10.1029 / 2007WR006309.

    
respondido por el Stefano Orlandini 17.01.2012 - 17:38
1

Parece que esto será un gran trabajo para escribir una herramienta desde cero. ESRI ha estado trabajando durante décadas y todavía no tienen razón.

AutoCAD (Civil 3D) puede hacer esto usando un TIN. No estoy al tanto de lo que ocurre detrás de escena allí, pero en ArcGIS, la identificación de las redes de flujo se maneja mediante un análisis de trama.

En pocas palabras, se utiliza un ráster DEM de entrada (donde cada celda tiene valores X, Y, Z) como entrada y un algoritmo calcula citando "flujo acumulado (como el peso acumulado) de todas las celdas que fluyen hacia cada una de las celdas de la pendiente descendente en el ráster de entrada ".  El producto es un ráster donde cada celda tiene un valor de acumulación de flujo. Para identificar la red de arroyos, a continuación, se aíslan las celdas de flujo alto que son las áreas de "flujo concentrado". Existen otras consideraciones tales como el factor de peso opcional, la entrada de DEM correcta hidrológicamente, etc.

Solo daré algunas ideas: en términos de la "mecánica" de tal algoritmo, supongo que podría ser bastante sencillo; recursivamente y para cada celda, determine la ubicación y la elevación de todas las celdas circundantes y, en función de su elevación, sume la cantidad de celdas que fluyen en ella. En cuanto a TIN, probablemente puedas construir una línea a partir de dos puntos en cada triángulo (vértice más alto y más bajo) y luego unirlos todos en una red.

    
respondido por el Jakub Sisak GeoGraphics 15.09.2011 - 19:14

Lea otras preguntas en las etiquetas