Obtener cotas mínimas y máximas, a partir de un Modelo Digital de Elevación (MDE), en diferentes subáreas

Se propone un script de bash para obtener cotas mínimas y máximas, a partir de un Modelo Digital de Elevación (MDE), en diferentes subáreas. Las subáreas están delimitadas por shapefiles de polígono que representan diferentes “parcelas” en el terreno y fueron elaborados con QGIS. Estos shapefiles sirven como base, primero, para “cortar” el DEM original en pequeñas subáreas mediante gdalwarp (librerías GDAL/OGR) y luego extraer por máscara mediante el mismo shapefile, usando nuevamente gdalwarp, el área efectiva que proyecta el shapefile para allí registrar las elevaciones mínimas y máximas usando gdalinfo filtrado por grep y awk.

El script elaborado fue el siguiente:

#!/bin/bash
clear;echo "Directorio de imagenes *.tif";echo;ls *.tif;echo
echo "Cual es la imagen a cortar?";echo
read -p "imagen = ? " nombre_imagen;echo
rm parcela*.tif
for nombre_shapefile in *.shp
do
tmp1=$nombre_shapefile
salida1=`echo ${tmp1/.shp/''}`
output_file=$salida1'.tif'
echo $output_file
salida=`ogrinfo -al $nombre_shapefile | grep 'Extent'| grep -oE '[0-9.]*'`
gdalwarp -q -te $salida $nombre_imagen $output_file
tmp2=$output_file
salida2=`echo ${tmp2/.tif/''}`
output_file2=$salida2'masc.tif'
gdalwarp -dstnodata 65535 -q -cutline $nombre_shapefile $output_file $output_file2
tmp3=`gdalinfo -mm $output_file2 | grep -i Min/Max`
info_imagen=`echo $tmp3 | awk '{print $4}'`
echo $info_imagen
done

Se probó, tal como se mencionó anteriormente, con tres shapefiles (proyección UTM zona 19) que fueron elaborados con QGIS y que se señalan en la siguiente imagen; así como también el DEM base del cual se van a extraer las subáreas.

La ejecución del script arrojó la siguiente salida:

Directorio de imagenes *.tif

n10w070_dem.tif  n10w070_demUTM19.tif  parcela1masc.tif  parcela1.tif  parcela2masc.tif  parcela2.tif  parcela3masc.tif  parcela3.tif

Cual es la imagen a cortar?

imagen = ? n10w070_demUTM19.tif

parcela1.tif
Min/Max=21.000,1177.000
parcela2.tif
Min/Max=8.000,1887.000
parcela3.tif
Min/Max=52.000,1545.000

donde se observan las cotas mínima y máxima para las tres subáreas consideradas. En la siguiente gráfica se encuentran las imágenes que representan el área efectiva de la extracción por máscara. También se incluyen las subáreas antes de la extracción por máscara y el DEM original, con diferentes grados de transparencia, que permiten observar que el proceso parece haber ocurrido de la manera esperada.

Esta entrada fue publicada en SIG, Teledetección. Guarda el enlace permanente.

2 respuestas a Obtener cotas mínimas y máximas, a partir de un Modelo Digital de Elevación (MDE), en diferentes subáreas

  1. Hola José, somos estudiantes de la Universidad Nacional de Cordoba y estamos desarrollando un GIS.Una de las tareas que queremos realizar es colocar cota mínima y máxima a las parcelas a partir de un SRTM. Estamos trabajando en Qgis pero no entendemos como ingresar la rutina, y que campos deberíamos cambiar en nuestro caso para llamar a los archivos.
    Agradecemos su pronta respuesta.

    • Este es un post viejo y complicado si no saben programar en bash de Linux. Utilicen el plugin de “Zonal Statistics” que determina el máximo y mínimo que desean para los vectoriales que correspondan a sus parcelas.

Responder

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s