Los estudios del ciclo del agua, uso de suelo y ecosistemas requieren de la evaluación de imágenes satelitales de largos periodos de observación. Las imágenes satelitales necesitan ser recortadas a un área de interés, filtradas, escaladas y convertidas a un formato deseado y almacenado en un archivo. Actualmente, las aplicaciones de GIS son totalmente capaces para el manejo y análisis espacial cuando la cantidad de imágenes ráster es limitada; sin embargo, cuando se trabaja con grandes grupos de imágenes el procesamiento espacial en una interfaz gráfica puede ser lenta y poco práctico. El uso de lenguajes de programación y procesamiento como Python y avanzadas librerias espaciales como GDAL (gdal.org) ayudan a la transformación de datos espaciales de un modo más abstracto y eficaz. Este tutorial muestra el procedimiento completo para cortar un set de bandas de una imagen Landsat 8 y almacenarlo en un archivo renombrado con un sufijo de cada banda.
Este tutorial se realiza en una plataforma de programación para Python llamado Jupyter Notebook. Los archivos de entrada que son bandas raster y shapefile del área de interés (AOI) tienen que estar en un mismo sistema de referencia de coordenadas (SRC) de lo contrario la librería GDAL no localizará los datos espaciales en la posición correcta. Este tutorial muestra el procedimiento para los sets de bandas de una imagen Landsat 8, un ejemplo para una única banda que se proporciona en los scripts de los datos de entrada. Finalmente, este tutorial muestra el raster completo y cortado en un software de Sistemas Información Geográfica como QGIS.
Para los usuarios principiantes GIS con poca expedicionaria de programación, se aconseja terminar el tutorial con los datos proporcionados en la parte de datos de entrada de este tutorial. Una vez que el usuario tenga más experiencia con el software, el usuario puede modificar el código para el procesamiento personalizado de imagenes ráster.
Tutorial
Para la instalación de GDAL y otras librerías espaciales por favor revisar este tutorial.
Código Python
Este es el código Python para cortar bandas múltiples de una imágen Landsat 8:
Importar las librerías requeridas
Este tutorial solo requiere de una librería GDAL y las librerías de Python core como la librería Operating System (OS).
from osgeo import gdal
import os
Importar las librerías requeridas
Este tutorial solo requiere de una librería GDAL y las librerías de Python core como la librería Operating System (OS).
#Input and output paths
#inputPath = '../Images/'
inputPath = '../Images_c1/'
outputPath = '../Output/'
#Input Raster and Vector Paths
bandList = [band for band in os.listdir(inputPath) if band[-4:]=='.TIF']
bandList
['LC08_L1TP_029047_20190203_20190206_01_T1_B10_c1.TIF',
'LC08_L1TP_029047_20190203_20190206_01_T1_B11_c1.TIF',
'LC08_L1TP_029047_20190203_20190206_01_T1_B1_c1.TIF',
'LC08_L1TP_029047_20190203_20190206_01_T1_B2_c1.TIF',
'LC08_L1TP_029047_20190203_20190206_01_T1_B3_c1.TIF',
'LC08_L1TP_029047_20190203_20190206_01_T1_B4_c1.TIF',
'LC08_L1TP_029047_20190203_20190206_01_T1_B5_c1.TIF',
'LC08_L1TP_029047_20190203_20190206_01_T1_B6_c1.TIF',
'LC08_L1TP_029047_20190203_20190206_01_T1_B7_c1.TIF',
'LC08_L1TP_029047_20190203_20190206_01_T1_B8_c1.TIF',
'LC08_L1TP_029047_20190203_20190206_01_T1_B9_c1.TIF',
'LC08_L1TP_029047_20190203_20190206_01_T1_BQA_c1.TIF']#Shapefile of Area of Influence
shp_clip = '../Shp/AOI_1.shp'
Modificación de raster
Cortar el raster seleccionado con la opción Warp de GDAL.
for band in bandList:
print(outputPath + band[:-4]+'_c2'+band[-4:])
options = gdal.WarpOptions(cutlineDSName=shp_clip,cropToCutline=True)
outBand = gdal.Warp(srcDSOrSrcDSTab=inputPath + band,
destNameOrDestDS=outputPath + band[:-4]+'_c2'+band[-4:],
options=options)
outBand= None

FloPy es la librerìa de Python que construye y ejecuta modelos MODFLOW; esta librería se ha mejorado para proporcionar un soporte completo de MODFLOW 6 y la mayor parte de su desarrollo está relacionado con la funcionalidad de MODFLOW 6, herramientas para usar datos espaciales vectoriales, rasters y funcionalidades comunes de ploteo y exportación.
Python es un lenguaje de programación sencillo y potente; su simplicidad es notable en comparación con otros lenguajes de programación y su potencia se basa en la cantidad de herramientas disponibles para las diferentes áreas de estudio.
Hemos desarrollado un programa completo en modelamiento de aguas subterráneas con MODFLOW y FloPy que abarca desde los temas esenciales en Python hasta casos aplicados de modelamiento regional e intrusión marina. El programa está diseñado para brindarle al estudiante un enfoque metodológico para aprender FloPy basado en una serie de ejemplos aplicados junto con las opiniones/experiencias del profesor y la revisión del software.