¿Realizando extracción de diques desde DEM?


14

Tengo DEM de 1x1 metro y nube de puntos LiDAR original en .las, de que está hecho el DEM. Necesito extraer diques de río (puntos más altos de los diques) a la entidad vectorial (punto, polilínea).

¿Alguna idea para el algoritmo o una herramienta existente?

Los diques están en gris claro en la primera imagen y debajo está la imagen de la nube de puntos para el área de ejemplo con los diques. Línea central del río en azul.

Los diques son de color gris claro.

Nube de puntos con los diques

¿Alguna herramienta para la extracción de características lineales de DEM?

Creo que necesito algo como el Módulo de extracción de características espaciales de ENVI (página 7), pero sin la parte de ENVI, ya que no puedo pagarlo :)


1
¿Qué sistema gis estás usando?
Hornbydd

Comercial- ArcInfo 10 (SA, 3D, extensiones geoestadísticas). De código abierto, cualquiera.
Tomek

1
Estaba pensando en una idea, suponiendo que tuviera una línea central de vector para su río que pudiera almacenar esto y usar esto para enmascarar el DEM y umbral de los valores. Esto supone que el dique corre paralelo al canal del río. Entonces, cualquier lógica que utilices debe ser lo suficientemente inteligente como para capturar diques a medida que se "alejan" del río.
Hornbydd

Desafortunadamente, los diques no siempre corren paralelos al canal del río y, a menudo, están muy lejos del canal del río. ¿Estaba pensando que habría algún algoritmo como esqueletización? Para la extracción de la (s) característica (s) lineal (es) de DEM, con dicha característica podría derivar los puntos más altos en la nube de puntos.
Tomek

2
Me encontré con este documento, ¿puede ser de ayuda? asprs.org/a/publications/pers/2004journal/december/…
Hornbydd

Respuestas:


8

Todo depende de dónde dibujes la línea. En cualquier caso, parece que este problema puede abordarse fácilmente utilizando las funciones morfológicas disponibles en Spatial Analyst, especialmente el umbral (realizado con "<" y ">" operaciones locales) y "RegionGroup" para identificar y extraer componentes.

Aunque no tengo acceso al DEM para ilustrar, la primera imagen es casi lo suficientemente buena como para hacer el trabajo de todos modos. Por ejemplo, aquí hay una secuencia de versiones agrupadas por región de la banda roja (con valores escalados de 0.0 = negro a 1.0 = blanco), comenzando en un umbral de 0 y moviéndose de izquierda a derecha, de arriba a abajo, en incrementos de 0.02:

Diques

(Estas imágenes se redujeron para su reproducción aquí: todo el análisis se realizó con la resolución de la imagen original).

Los diques emergen alrededor del límite de la región negra al comienzo de la segunda fila (umbral = 0.08). Al comienzo de la tercera fila (umbral = 0.16) los diques forman sus propios componentes (en azul oscuro) y en ese punto se pueden extraer fácilmente como cuadrículas o polígonos separados (y sus límites se pueden extraer como polilíneas después de un paso de detección de bordes ) Solo los diques más anchos permanecen en la última fila (umbral = 0.24 y mayor). Deberá seleccionar un umbral apropiado para obtener exactamente lo que desea.

En el DEM original, las elevaciones desempeñan el papel de intensidad, por lo que estos procedimientos deberían ser igualmente efectivos con el DEM mismo. Si el DEM tiene una gran extensión (incluidas características alejadas del río o diques), las características relevantes se pueden seleccionar como aquellas adyacentes al componente en el que se encuentra la característica del río.

Las regiones delgadas no deseadas encontradas por RegionGroup se pueden eliminar aplicando una pequeña erosión (amortiguador negativo) seguido de una dilatación equivalente (amortiguador positivo). Las regiones pequeñas no deseadas pueden excluirse según un criterio de tamaño (recuento total de células o área). Los puntos más altos en cada dique (si eso es lo que realmente se necesita) se pueden encontrar comparando el DEM con las cuadrículas máximas zonales (usando los diques como zonas).


Por cierto, esta secuencia de imágenes se produjo en Mathematica 8. Aquí están los comandos para aquellos que deseen seguir esta opción.

original = Import["http://i.stack.imgur.com/gV7Du.jpg"];
{r, g, b} = ColorSeparate[original];
frames = ParallelTable[Colorize[MorphologicalComponents[Binarize[r, t/100]], 
                       ColorFunction -> "ThermometerColors"], {t, 0, 30, 2}];
Rasterize @ TableForm[Partition[frames, 4]]

El tiempo total del reloj (después de importar la imagen) fue de 0,94 segundos, de los cuales la mitad era necesaria para reducir y exportar las 16 imágenes: las operaciones morfológicas tienden a ser rápidas (lo cual es bueno, porque los DEM LIDAR pueden ser enormes).


Todo el concepto suena bien, pero no entiendo la parte "... umbral" (realizada con "<" y ">" operaciones locales) ". ¿Cómo se logra esto con el conjunto de herramientas de Generalización (SA)?
Tomek

@Tomek One no lo hace. Ver el conjunto de herramientas lógicas .
whuber

9

Leí sobre una variedad de algoritmos para el trabajo (es decir, según el enlace @Hornbydds ).

Intenté un par de aplicaciones, y los mejores resultados en mi caso arrojan el Análisis de Terreno Estándar de SAGA. Esto es lo que hice y por qué:

Los diques suelen ser la característica más alta en la vecindad del canal del río, por lo que los convertí en canales volteando DEM (MapAlgebra DEM * -1 o por exageración de las pendientes -10). Desde este punto, podría usar cualquiera de los conjuntos de herramientas hidrológicas (ArcHydro, HEC-GeoRas o SAGA hydro tools). Elegí SAGA / Análisis de terreno - Análisis compuesto / Análisis de terreno estándar ya que produce River Network con un par de clics. River Network es lo que quería lograr, ya que produce polilíneas, que indican la mejor ruta para el flujo de agua, que en caso de diques invertidos, da su punto más alto.

El archivo de forma producido es un poco desordenado (muchas de las polilíneas más pequeñas), pero después de algunos ajustes, los resultados son satisfactorios. Otra molestia es que 1 dique está hecho de 300 polilíneas cortas, pero creo que encontraré alguna manera de manejar esto.

Aquí está el ejemplo de resultados:

ingrese la descripción de la imagen aquí

Por supuesto, esta es una solución bastante aproximada y probablemente investigaré el problema más a fondo, pero pensé que valía la pena compartirlo.


5

Una combinación de lo siguiente con el DEM original debería ayudar a resaltar la información ráster que desea y descartar el resto. Se pueden realizar a diferentes escalas y tamaños de vecindario para refinar el efecto.

  • Vuelva a muestrear, luego Barrio -> Filtro: Paso alto
  • Superficie -> Curvatura
  • Vecindario -> Estadísticas Focales: Desviación Estándar
  • "Altura relativa" = (Pixel) - (Barrio -> Estadísticas focales: mediana)
  • Invertir, remuestrear, luego Vecindario -> Flujo focal

Después de hacer esto, la reclasificación y los contornos deberían dar un contorno razonablemente bueno del dique mismo. Si los diques son de pendiente plana y desea una cobertura más amplia, también puede intentar algo como la suma de la curvatura y la pendiente, escalada en cierta cantidad, o incluso hacer contornos de pendiente por separado y unirlos.

Aquí hay un tutorial sobre la extracción de crestas vectoriales de un DEM ráster usando Spatial Analyst, que debería ser altamente aplicable:


Voy a echar un vistazo a la combinación de herramientas, puede dar algunos buenos resultados. Gracias. Como veo, el tutorial de ESRI describe el proceso +/- como lo hice :) Genial. Gracias.
Tomek

0

Creo que esto podría ser solo parte de la respuesta, pero tal vez podría comenzar haciendo contornos / polígonos de sus imágenes a intervalos determinados / en función de los valores de elevación. Estaba pensando que los diques deberían tener valores de elevación más altos y, por lo tanto, si convertía su DEM a polígonos, podría encontrar que las áreas que le interesan están representadas por polígonos de centain. También puede comenzar simplemente reclasificando el DEM y ver si eso produce los resultados que busca. Si tiene otros datos de imágenes que cubren el área que le interesa, intente agregarlos a su clasificación de imágenes y vea si ayuda. ¡¡Buena suerte!!

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.