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.
¿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 :)
Respuestas:
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:
(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.
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).
fuente
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:
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.
fuente
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.
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:
fuente
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!!
fuente