El desarrollo de machine learning y bibliotecas geoespaciales en Python como Scikit Image, Rasterio y Fiona brinda una nueva gama de herramientas para analizar la vegetación de fuentes tradicionales como imágenes de satélite y nuevas fuentes como ortofotos de drones. La aplicación de la programación de Python para la identificación de cultivos depende de muchos factores, como la resolución de la imagen, la etapa de vegetación e incluso la configuración del algoritmo.
Hemos desarrollado un curso de identificación / delimitación de cultivos con herramientas geoespaciales y machine learning con Python, el curso está dirigido a profesionales de SIG o afines que tengan conocimientos básicos de Python. El curso cubre los conceptos introductorios de las bibliotecas geoespaciales y una serie de aplicaciones de aprendizaje automático para la identificación de cultivos en olivos, palmeras, agave y campos de maíz.
Nota:
Este curso está dirigido a profesionales con conocimientos previos de Python. Los conceptos básicos de programación en Python no se cubrirán en las lecciones ni en el material del curso. En caso de que no tenga ningún conocimiento de Python, le recomendamos que tome este curso en línea.
Objetivos
Al finalizar este curso el alumno será capaz de:
Administrar datos vectoriales y ráster con Python
Plotear datos espaciales con Matplotlib y realizar filtrados.
Aplicar diferentes herramientas de Scikit Learn para objetos geoespaciales
Trabajar con Python para el reconocimiento de cultivos
Tener una visión general de la codificación Python para desarrollar soluciones personalizadas
Contenido
El curso se divide en 6 sesiones. Estos son los temas considerados para cada sesión:
Sesión 1: Exploración de datos espaciales vectoriales con Fiona y Python
Instalación de Python, Fiona, Rasterio bajo un entorno Conda.
Abrir shapefiles / datos vectoriales con Fiona
Obtener características de objetos espaciales
Explorar los metadatos y geometría de los objetos espaciales
Representación de datos espaciales con matplotlib
Análisis de tipos de datos vectoriales espaciales.
Creación de shapefiles de puntos, líneas y polígonos
Filtrado de datos espaciales por atributos
Sesión 2: Gestión de datos ráster con Rasterio y Python
Leer imágenes Tiff monobanda y pancromáticas.
Explorar la información y los atributos del dataset ráster.
Analizar información espacial.
Leer datos de bandas ráster.
Opciones de trazado ráster con Rasterio y Matplotlib.
Recortar rásteres con shapefile en Python.
Ejemplo de álgebra de ráster: cálculo del índice de vegetación NDVI.
Sesión 3: Clasificación de conteo de árboles con imagen de Scikit y Python
Explorar plantillas de cultivo único y de cultivos múltiples.
Realizar la plantilla de coincidencia para un cultivo único y múltiple.
Analizar la matriz de plantillas de coincidencias.
Definir criterios de filtrado y conteo de cultivos.
Representación de cultivos identificados sobre una imagen rasterizada.
Sesión 4: Conteo geoespacial de cultivos de palmeras
Abrir archivos rasterizados y vectoriales con Python
Representación acoplada de datos espaciales con Matplotlib y Rasterio
Extracción de plantillas desde datos de puntos espaciales
Generación de plantillas auxiliares para diferentes ángulos
Hacer coincidir una plantilla para un grupo de plantillas
Representación de los puntos interpretados
Análisis de conglomerados con algoritmo de Birch
Representación de puntos clusters.
Exportar puntos como csv
Sesión 5: Detección de líneas de cultivo para cultivos de maíz
Importación y lectura de bandas ráster
Realizar filtros Canny para la detección de bordes.
Identificación de líneas con transformación de línea Hough
Conversión de resultados en datos geoespaciales
Guardar la línea resultante en shapefile
Representación de filas de cultivos interpretadas
Sesión 6: Clase espacial de Python para reconocimiento de cultivos
Descripción general de la codificación de clases de Python
Definición de una ortofoto de cultivo y la ubicación puntual de las plantas.
Definir el parámetro para la plantilla de coincidencia y la banda de ráster
Realizar plantillas de coincidencia única
Plantilla de coincidencia para todos los puntos
Análisis de clústeres y almacenamiento de los resultados como shapefile