• Ir a navegación principal
  • Ir al contenido principal
  • Ir a la barra lateral primaria
  • Ir al pie de página
Logo web Geoinnova

Territorio Geoinnova - SIG y Medio Ambiente

El Blog de SIG, Territorio y Medio Ambiente

  • Asociación
    • Quienes somos
    • Geolibrería
    • Ofertas de empleo
    • Alianzas estratégicas
  • Consultoría
    • Consultoría y Desarrollo en Sistemas de Información Geográfica
    • Consultoría de Medio Ambiente
    • Turismo sostenible
    • Planificación urbana y ordenación del territorio
    • Planes Urbanos de Actuación Municipal
    • Geomarketing
    • QElectricGIS
  • Formación
    • Master GIS
    • Todos los cursos
  • Educación Ambiental
    • Organización de Campamentos
    • Organización de Itinerarios Ambientales
  • Coworking
  • Blog
    • SIG
    • Medio Ambiente
    • Teledetección
    • Programación y Desarrollo
    • Corporativo
  • Contacto
  • Inicio Blog
  • SIG
  • Programación y Desarrollo SIG
  • Teledetección
  • Medio Ambiente
  • Corporativo
Teledetección

Usar Semi-Automatic Classification plugin en QGIS para imágenes satelitales

Dic 23, 2020 · Por RemOT Technologies 2 comentarios

En numerosas ocasiones llegan preguntas a través de los canales de Geoinnova sobre la posibilidad de tratar imágenes de satélite en QGIS. Si bien QGIS es un programa GIS que puede trabajar con datos ráster, no está diseñado inicialmente para ello. Pero, los complementos pueden ayudarnos a mejorar las funcionalidades de QGIS, y eso es exactamente lo que hace el plugin del que vamos a hablar. Se trata de Semi-Automatic Classification Plugin, desarrollado por Luca Congedo.

Se trata de un plugin que nos va a permitir desde hacer la descarga de la imagen de un gran número de plataformas satelitales, hasta correcciones atmosféricas, cálculo de índices y clasificación supervisada de los diversos elementos de la superficie.

Comencemos.

Primeros pasos con Semi-Automatic Classification Plugin

Lo primero que debemos hacer es preparar todas las herramientas y materiales que vamos a utilizar para tratar las imágenes satelitales. Empezamos instalando este complemento, el Semi-Automatic Classification Plugin, dentro del programa QGIS. Posteriormente descargaremos las imágenes que queremos tratar.

Instalación del plugin y requisitos

La instalación del plugin es muy sencilla, tan solo tendremos que acudir al menú Complementos, y seleccionar la opción “Añadir y administrar complementos”.

Una vez allí, podremos buscar el plugin y descargarlo.

Semi-Automatic Classification plugin en QGIS
Cómo instalar el Semi-Automatic Classification Plugin en QGIS.

Tal y como indica la descripción del plugin, necesitaremos cumplir unos requisitos. Tendremos que tener instalado GDAL, OGR y las librerías de python Numpy, SciPy y Matplotlib. En el caso de GDAL y OGR no hay problema, ya que QGIS los instala por defecto, pero en el caso de las librerías de python enumeradas, puede que no las tengamos instaladas y habrá que instalarlas.

Una vez instalado, nos aparecerán dos barras de herramientas desde las que podremos acceder a las funcionalidades del plugin, y un panel (o dock), que en nuestra opinión es la mejor forma de acceder a las diferentes opciones del programa o desde el menú que se añade en la barra de menús de QGIS.

Manual del usuario del SCP (Semi-Automatic Classification Plugin en QGIS).
Manual del usuario del SCP (Semi-Automatic Classification Plugin en QGIS).

Es interesante apuntar, que desde el panel podemos acceder al manual del usuario. Aquí se explica de forma sencilla, pero muy detallada, el uso del plugin.

Descarga de imágenes

Desde la opción Descargas, podremos acceder a datos de numerosos satélites. Dependiendo de qué imágenes queramos descargar, tendremos que rellenar los datos de usuario y contraseña de las diferentes plataformas en las que deberemos estar previamente registrados.

Generación del usuario.
Generación del usuario.

En nuestro caso, hemos descargado una imagen Landsat 8, así que tenemos que rellenar los datos de la primera o la segunda opción. Una vez rellenados, procedemos a la búsqueda de nuestra imagen y a su descarga desde la pestaña “Search”.

Búsqueda y descarga de las imágenes satelitales dentro del plugin SPC.
Búsqueda y descarga de las imágenes satelitales dentro del plugin SPC.

Para buscar la imagen, será imprescindible señalar la zona de la cual queremos obtener una imagen, y la fecha. Para marcar la extensión de búsqueda, tendremos que hacer clic en el botón con el símbolo “+”, minimizar la ventana y hacer clic con el botón izquierdo en la esquina superior izquierda. Luego cerraremos la extensión de búsqueda haciendo clic en con el botón derecho en la esquina inferior derecha que marcará la caja de extensión de búsqueda. Si lo hacemos bien, se dibujará un cuadro como el siguiente.

Búsqueda y carga de la imagen descargada.
Búsqueda y carga de la imagen descargada.

Una vez tenemos la zona y la fecha, solo nos queda pulsar en el botón “Encontrar” y nos mostrará un listado con todas las imágenes disponibles.

Selección de la imagen que servirá de ejemplo.
Selección de la imagen que servirá de ejemplo.

Pre-procesar las imágenes satelitales

Algo muy interesante de este plugin es que podemos descargar las imágenes y pre-procesarlas directamente. Es decir, podemos aplicar la corrección para eliminar el efecto de la atmósfera (el que hace que las imágenes se vean borrosas) por el método DOS1.

Tan sólo tendremos que dejar marcada la opción “Pre-procesar imágenes” y obtendremos imágenes con valores de reflectancia. Si dejamos también marcada la opción “Cargar bandas en QGIS” al terminar de descargar las imágenes las abrirá en QGIS. Eso sí, lo hará una por una y no podremos combinar las bandas, de momento…

Hacemos clic en el botón “Run” y esperamos a que se descargue la imagen. Cuando comience el proceso de descarga verás esta barra en la parte superior del lienzo de QGIS.

Proceso de descarga de la imagen satelital.
Proceso de descarga de la imagen satelital.

Una vez termina, las imágenes se muestran así en QGIS.

Imagen ejemplo.
Imagen ejemplo.

Como habrás podido observar, de momento no resulta muy operativo si lo que queremos es hacer un análisis previo de la imagen. Seguramente se te ocurrirá que puedes usar alguna herramienta de QGIS para juntar las bandas y poder combinarlas según tus necesidades. No es necesario, lo haremos sin salir del SCP plugin.

Para hacer una combinación de bandas, tan sólo deberás seleccionar la opción “Juego de bandas” en el menú o en el dock de SCP. Verás que por defecto ya tienes un “Band set” con las bandas del visible y el infrarrojo.

Realización de "Band set".
Realización de «Band set».

Ahora solamente tendrás que seleccionar la opción “Crear ráster de juego de bandas” si lo quieres guardar permanentemente y hacer clic sobre el botón “Run”. El proceso tardará unos segundos y ya podremos cargar nuestra imagen multibanda en QGIS para hacer las combinaciones de color que queramos.

Imagen final lista para realizar cálculos.
Imagen final lista para realizar cálculos.

En nuestro caso hemos optado por una imagen en color natural con las bandas azul, verde y roja .

Calculando índices con Semi-Automatic Classification Plugin

El cálculo de índices utilizando imágenes de satélite es algo básico y que todo aquel que quiera dedicarse a la teledetección debe conocer. Una vez tenemos nuestra imagen lista en la pantalla de de QGIS, podemos empezar a calcular índices de diversa índole, así que vamos a ello. Antes haremos un zoom para que los cálculos cuesten menos tiempo.

Zoom en la imagen ejemplo.
Zoom en la imagen ejemplo.

Como podrás esperar, si has visto algo de teledetección, comenzaremos por hacer un NDVI (Normalized Difference Vegetation Index) que nos servirá para analizar el vigor de las plantas. Hacer esto con el Semi-Automatic Classification Plugin es extremadamente fácil, ya que solamente tenemos que buscar la calculadora que incluye (el botón que aparece abajo del todo). Luego seleccionar en el desplegable “Cálculo de índice” el índice NDVI que ya viene preconfigurado.

Cálculo del índice NDVI (Normalized Difference Vegetation Index).
Cálculo del índice NDVI (Normalized Difference Vegetation Index).

Algo importante a señalar es que es mejor seleccionar la opción “Igual que”, ya que de otro modo puede saltar un error de Python. Si usamos esta opción no da ningún problema. Tan solo nos queda apretar el botón “RUN” y seleccionar la carpeta donde queramos guardarlo. No nos pedirá nombre, ya que lo guarda directamente como “NDVI.tif”

Una vez calculado, podemos aplicar un estilo diferente para darle colores y que nuestro ojo vea mejor las diferencias.

Resultado de Cálculo del índice NDVI (Normalized Difference Vegetation Index).
Resultado de Cálculo del índice NDVI (Normalized Difference Vegetation Index).

Por otra parte, hay veces que seguro necesitamos calcular otro índice menos utilizado y tendremos que construir nosotros el algoritmo seleccionando las bandas que queramos. Por ejemplo, si queremos calcular el NDMI (Normalized Difference Moisture Index), un índice que sirve para ayudarnos a discriminar si un campo está trabajado o no.

La fórmula es la siguiente: NDMI = (NIR – swir1)/(NIR + swir1)

Para introducir los datos, haremos uso de los botones que hay en la parte derecha, desde ahí podremos introducir paréntesis, divisiones, multiplicaciones…

Cálculo del  NDMI
Cálculo del  NDMI

Para agregar las bandas, tan sólo tenemos que ir al listado y hacer doble clic.

Agregar bandas con el Semi-Automatic Classification Plugin.
Agregar bandas con el Semi-Automatic Classification Plugin.

Una vez introduzcamos la fórmula y pulsemos en el botón para calcular, nos pedirá que le demos, en este caso sí, un nombre.

Resultado final del NDMI.

Como habrás podido observar, es muy fácil calcular índices utilizando este plugin. Ahora tan solo debes practicar y añadir tus propias fórmulas.

Clasificaciones supervisadas sin salir de QGIS con el plugin Semi-automatic Classification

A continuación haremos un pequeño ejemplo de clasificación supervisada con el Semi-automatic Classification Plugin. Esta es una disciplina muy utilizada para generar mapas temáticos de manera rápida a partir de imágenes de satélite. Esto es posible gracias a las diferentes longitudes de onda que registran los sensores instalados a bordo de los satélites.

Tipos de clasificación con Semi-Automatic Classification Plugin

Existen diferentes tipos de clasificación, que pueden ser no supervisada y supervisada por el usuario. En el primer caso, se ejecutan algoritmos que analizan las firmas espectrales de las diferentes cubiertas, y sin intervención del usuario, divide según esas firmas espectrales en diferentes tipos de cubierta.

En el segundo caso, el usuario “entrena” el algoritmo determinando zonas con píxeles de una misma respuesta espectral, que pertenecerá a un determinado tipo de cubierta. Como podréis imaginar, la clasificación supervisada es mucho más precisa que la automática.

Para hacer nuestra clasificación supervisada, partiremos de la imagen que utilizamos anteriormente. En este caso haremos un  zoom a una zona en la que, por ejemplo, tengamos masas de agua y algunos cultivos. Después, recortaremos la imagen original y la cargaremos en el SCP plugin. No vamos a hacer una clasificación detallada, puesto que nos llevaría mucho tiempo y no es el objetivo. Simplemente sentaremos las bases de cómo llevar a cabo una clasificación, e intentaremos hacerlo lo más sencillo posible.

Lo primero que vamos a hacer, una vez recortada la imagen y cargada en QGIS a través del plugin (esto es importante, ya que de lo contrario no nos dejará clasificar), es situarnos en la pestaña “Training input” del plugin SCP, que es desde donde gestionaremos nuestra clasificación.

Clasificación supervisada desde la pestaña de "Training input”.
Clasificación supervisada desde la pestaña de «Training input”.

Áreas de entrenamiento

Como indicábamos anteriormente, la clasificación supervisada necesitará de unos inputs para que el algoritmo pueda diferenciar cada clase de cobertura de suelo que queramos identificar. Estos inputs se llaman ROIs (Regions Of Interest), que son polígonos que dibujaremos en los que seleccionaremos píxeles que pertenezcan a una misma clase.

En primer lugar, tendremos que crear un archivo donde se guardarán los ROIs que vayamos creando. Para ello tenemos que usar el botón con el punto amarillo. Si ya tenemos uno creado, tendremos que abrirlo utilizando el botón verde.

Guardado de los ROIs generados.
Guardado de los ROIs generados.

Para empezara dibujar áreas de entrenamiento, deberemos tener activada la barra de herramientas “SCP Working Toolbar”.

Barra de herramientas “SCP Working Toolbar”.
Barra de herramientas “SCP Working Toolbar”.

Usaremos una combinación de colores 3-2-1, color natural, pero podemos ir cambiando de combinación (en el siguiente ejemplo verás la imagen en falso color infrarrojo). Incluso podrás crear combinaciones que no están en la lista, para diferenciar los diferentes elementos que estemos clasificando de la mejor manera posible.

Barra de combinación de colores.
Barra de combinación de colores.

Una vez seleccionada la combinación de bandas, podemos empezar a crear nuestras regiones de interés. Utilizaremos las siguientes herramientas:

Botón para generar polígonos.
Botón para generar polígonos.

Simplemente tendremos que elegir el botón que aparece como un polígono y empezar a crear los diferentes polígonos que englobarán los píxeles que tengan un determinado tipo de cobertura. También podemos optar por usar el botón con el símbolo “+”, que al hacer clic sobre un píxel, seleccionará los píxeles contiguos que sean similares al que hemos seleccionado, creando ROIs automáticamente.

Empezaremos por seleccionar los píxeles de agua.

Selección de los píxeles que contienen agua.
Selección de los píxeles que contienen agua.

Como podrás observar, las tonalidades del agua son diferentes aunque se trata de la misma masa de agua. Por tanto tendremos que entrenar al clasificador para que considere las distintas tonalidades como agua.

Selección de clases y macroclases

El plugin, nos permite diferenciar entre clases, y macroclases. Este es un punto importante, ya que deberemos diferenciar entre ellas. Una macroclase englobará varias clases, por ejemplo, un embalse, un río, una laguna, serán diferentes clases que pertenecerán a la macroclase “Masas de agua”.

Antes de tomar el punto, deberemos indicar la clase y macroclase a la que pertenece el ROI que tomemos. Lo verás claramente en el siguiente ejemplo.

  • MC ID – 1: Identificador de macroclase.
  • MC Info – Masas de agua: Información cualitativa de la macroclase.
  • C ID – 1: Identificador de la clase.
  • C Info – Embalse: Información cualitativa de la clase.
Selección de la clase o macroclase.
Selección de la clase o macroclase.

Los primeros ROIs que tomaremos van a ser de la macroclase “Masas de agua” y de la clase “Embalse”. Una vez dibujado nuestro ROI, tendremos que guardarlo haciendo clic en el botón de abajo a la derecha.

Guardado del ROI generado.
Guardado del ROI generado.

De este modo, ya tendremos nuestro primer ROI.

Resultado final del ROI.
Resultado final del ROI.

Ahora tomaremos algunos más de las diferentes zonas del embalse en las que el tono de color del agua es diferente.

Una vez hemos tomado diferentes ROIs, podemos asegurarnos de que pertenecen a la misma cobertura analizando su firma espectral. Tan solo tendremos que seleccionar los ROIs y hacer clic sobre el botón:

Botón de la firma espectral.
Botón de la firma espectral.

De esta forma veremos la firma espectral media de los píxeles que hemos seleccionado en cada ROI. Podemos ver que pertenecen a la misma clase de embalse, pero con algunas variaciones, bien sea por la profundidad del agua, por los sedimentos, etc.

Gráfico de Firma Espectral en Semi-Automatic Classification Plugin.
Gráfico de Firma Espectral en Semi-Automatic Classification Plugin.

Ahora seguimos tomando ROIs de las demás coberturas que queremos clasificar, correspondientes a cultivos. Te será más fácil distinguir cultivos con una combinación en falso color infrarrojo. En nuestro caso intentaremos diferenciar entre sembrado o no sembrado, aunque al final utilizaremos las macroclases para clasificar.

Clasificación supervisada

Una vez tenemos los suficientes ROIs, podemos proceder a la clasificación. Para ello tendremos que situarnos en la pestaña “Clasificación” y marcar si queremos que clasifique según macroclases o clases. Luego elegir el algoritmo que deseemos y pulsar sobre el botón “RUN”. Si todo va bien obtendremos una clasificación en la que diferenciaremos, en nuestro caso, las macroclases de cultivos y masas de agua. Como podrás comprobar, también ha clasificado de manera correcta dos balsas artificiales próximas al embalse.

Clasificación supervisada con  Semi-Automatic Classification Plugin.
Clasificación supervisada con Semi-Automatic Classification Plugin.

En el artículo hemos hecho una clasificación muy sencilla. Te animamos a que pruebes a hacer clasificaciones más detalladas con el Semi-Automatic Classification Plugin y nos digas cómo te ha ido.

Etiquetas: qgis

Artículos relacionados

Ejemplo de clase de la API PyQGIS de QGIS
PyQGIS para la programación en QGIS con Python
Abr 12, 2021
Programación y Desarrollo SIG
pyqgis, python, qgis
Cursos SIG y MA Asociación Geoinnova
Agenda de cursos para el mes de Abril 2021
Abr 14, 2021
Corporativo, Formación
arcgis, medio ambiente, qgis
Asociación Geoinnova Organización Certificadora Proyecto QGIS
Ahora puedes obtener Certificado Oficial del Proyecto QGIS en nuestros cursos de QGIS
Mar 8, 2021
Corporativo
qgis
RemOT Technologies

RemOT Technologies

RemOT Technologies es una empresa colaboradora de Geoinnova, especialista en desarrollo de aplicaciones GIS para la web, cartografía y análisis espaciales automatizados. Desarrolla visores web cartográficos, aplicaciones basadas en geolocalización y plugins y personalizaciones de QGIS para resolver problemas de distintos ámbitos, como por ejemplo la gestión de parcelas o la gestión de redes. RemOT ya ha trabajado en varios proyectos de desarrollo de la mano de Geoinnova y, además, también ha participado, entre otros proyectos como en el desarrollo del Atlas Nacional de España. Ha sido reconocida como una de las 100 mejores empresas geoespaciales del mundo en el año 2019 por Geoawesomeness, una de las 50 Startup españolas de futuro por la revista Emprendedores y posee el sello Pyme Innovadora del Ministerio de Ciencia Innovación y Universidades. En la parte dedicada a formación, Lucía Martínez, Marcos Gimeno y Miquel Febrer, imparten diversos cursos en la plataforma de Geoinnova.

Interacciones con los lectores

Comentarios

  1. AvatarGuillermo Ortega dice

    Feb 1, 2021 en 22:12

    No me sale la opción Clasificación en el SCP Rock, solo me sale ROI options, Training input y Home. A que se debe o qué debo hacer para que me aparezca?

    Responder
    • AvatarAsociación Geoinnova dice

      Feb 3, 2021 en 10:47

      Hola Guillermo;
      La mejor opción si no te aparece algún elemento es probar a reinstalar el plugin. No obstante, estos días está dando problemas la instalación de SCP desde el repositorio de complementos de QGIS, así que quizás sea mejor esperar unos días hasta que lo arreglen.
      Un saludo.

      Responder

Deja una respuesta Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Barra lateral primaria

Suscríbete al boletin

    Si te apetece puedes dejarnos tu nombre para que los correos tengan un trato personalizado

    Mediante el envío de mis datos personales confirmo que he leído y acepto la política de privacidad

    RESPONSABLE: Asociación Geoinnova. FINALIDAD: envío de publicaciones, promociones e información sobre cursos y eventos. LEGITIMACIÓN: tu legítimo consentimiento. DESTINATARIOS: Active Campaign con titular Active Campaign LLC, alojada en EEUU y suscrita al EU PrivacyShield. DERECHOS: acceso, rectificación, limitación, supresión de los datos (en [email protected])y a presentar reclamación ante una autoridad de control. INFORMACIÓN ADICIONAL: Política de privacidad.

    La último

    Los Objetivos de Desarrollo Sostenible están orientados a conseguir un mundo sostenible en todos los aspectos.

    ¿Qué son los ODS u Objetivos de Desarrollo Sostenible?

    Ejemplo de clase de la API PyQGIS de QGIS

    PyQGIS para la programación en QGIS con Python

    huella de carbono

    Huella de carbono aplicada a planes y proyectos sometidos a evaluación ambiental

    Clonar repositorio Laravel desde Github

    Cómo clonar un proyecto de Laravel desde GitHub

    Cursos SIG y MA Asociación Geoinnova

    Agenda de cursos para el mes de Abril 2021

    Interfaz principal de CloudCompare. Nube de puntos LiDAR

    10 motivos para aprender CloudCompare si trabajas con LiDAR

    derechos de emisiones

    El comercio de derechos de emisión

    Footer

    Sobre Nosotros

    Territorio Geoinnova pretende ofrecer noticias y formación sobre el medio ambiente y las tecnologías de la información geográfica con interés a dichos sectores profesionales.

    Legal

    • Nota Legal

    El blog y todo su contenido se encuentra bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 Unported.

    Todas las categorías

    • Actualidad Ambiental (86)
    • Alimentación Saludable (17)
    • Corporativo (124)
    • Formación (81)
    • Geolibrería (40)
    • Medio Ambiente (957)
    • Patrocinado (13)
    • Programación y Desarrollo SIG (21)
    • SIG (495)
    • Tecnología (69)
    • Teledetección (25)

    © 2021 · Desarrollada por Juan María Arenas - OikosMSP