Más

Encuentra lagos en un ráster de elevación

Encuentra lagos en un ráster de elevación


Me gustaría saber si hay una forma de identificar los lagos según un ráster de elevación (como SRTM o ASTER). Por lo que puedo entender, significaría identificar cualquier celda por debajo de la elevación de las celdas vecinas, pero no puedo encontrar nada relacionado, así que supongo que no es tan simple ...

Lo más parecido que descubrí fue usar r.watershed para identificar pequeñas cuencas (umbral de 10 a 100) y luego clasificarlas según su acumulación. Algunas cuencas muestran un nivel bastante más alto que las de los alrededores, así que descubrí que podría significar un lago o algo ...

¿Alguna idea de cómo hacerlo mejor, en GRASS o QGIS? ¿Es siquiera posible?


En sus comentarios anteriores, expresó interés en mi método sugerido, por lo que proporciono una respuesta más detallada aquí. El método utiliza las herramientas disponibles en Whitebox GAT, el SIG de código abierto del que soy desarrollador principal, pero es muy posible que haya funciones similares disponibles en QGIS y GRASS GIS de modo que pueda utilizar el mismo enfoque. También supongo que está utilizando datos SRTM DEM, que tienen una buena propiedad para esta aplicación de haber sido procesados ​​de manera que los lagos grandes tienen valores de elevación uniformes. Por tanto, el primer paso es adquirir el SRTM DEM del área de interés. Puede utilizar Whitebox GAT Recuperar datos de SRTM DEM para este propósito, que importará automáticamente cada uno de los títulos para el área de interés, llenará los vacíos de datos faltantes y hará un mosaico de los mosaicos en un solo DEM.

Ahora usa el Crear nuevo shapefile herramienta para digitalizar un punto semilla dentro de cada uno de los lagos de interés.

Hay un tutorial en el menú Ayuda que describe cómo digitalizar características si es necesario. En el ejemplo anterior, claramente solo tengo un puñado de lagos grandes, pero si tienes muchos lagos, este paso puede llevar un poco de tiempo. También puede adquirir los puntos semilla necesarios extrayendo áreas planas y luego reduciendo cada área plana contigua a sus puntos centrales y vectorizando estos puntos; sin embargo, mi preocupación es que en un terreno más plano, la cantidad de puntos "planos" que en realidad no son lagos puede ser bastante alta y terminará con características falsas. Además, recuerde que los datos de elevación de SRTM se almacenan como metros enteros, por lo que el número de celdas de la cuadrícula que aparentemente son planas puede ser grande incluso en terrenos con pendiente moderada. Si sus lagos son relativamente grandes y se cuentan entre 10 y 100, entonces la digitalización manual de los puntos semilla probablemente sea su mejor estrategia. Los lagos más pequeños probablemente no se han corregido para que posean elevaciones uniformes en los datos de SRTM y, por lo tanto, no se pueden extraer con este enfoque.

Ahora usa el Crecimiento de región simple herramienta con los puntos semilla para delinear la extensión completa de cada lago. Utilizo '0' como el umbral similar ya que los datos de SRTM se han corregido para las elevaciones uniformes de los lagos.

Por último, tiendo a vectorizar los polígonos del lago con fines de superposición utilizando el Ráster a polígonos vectoriales herramienta:

He usado este enfoque con bastante frecuencia y es muy sólido, aunque me imagino que llevaría mucho tiempo si tuviera miles de lagos. En ese caso, probablemente necesitará usar algún método automatizado para encontrar los puntos semilla (como se describe arriba).


Ver el vídeo: ArcMap 10: Suitability analysis using rasters, identifying suitable residential areas 3 of 5