El blog de franz
  • Cursos SIG
  • ¿Preguntar?
  • Secciones
    • SIG
    • Info
    • Geek
    • Forestal
  • Más
    • Obtener certificado SIG
    • Mapa de Profesionales SIG
    • Convertir UTM Geográficas
    • Calculadora de distancias
    • Localizador de IPs
    • Frases
    • Foro
    • Reglas
    • Donar
  • Acerca
  • Contacto
No Result
View All Result
  • Cursos SIG
  • ¿Preguntar?
  • Secciones
    • SIG
    • Info
    • Geek
    • Forestal
  • Más
    • Obtener certificado SIG
    • Mapa de Profesionales SIG
    • Convertir UTM Geográficas
    • Calculadora de distancias
    • Localizador de IPs
    • Frases
    • Foro
    • Reglas
    • Donar
  • Acerca
  • Contacto
No Result
View All Result
El blog de franz
No Result
View All Result

Introducción a la Programación con Python en QGIS 3

by Luis Eduardo Pérez
junio 11, 2019
Reading Time: 7 mins read
0

Muchos profesionales del campo geoespacial no consideran la posibilidad de incluir la programación dentro de sus habilidades por ser algo complejo de aprender, veremos que ese no es el caso de QGIS.

Si bien, el programa QGIS fue desarrollado con el lenguaje C++, uno de los aspectos de su gran desempeño pero al mismo tiempo de la complejidad de su código. Los desarrolladores de QGIS han realizado un gran esfuerzo por facilitar la programación dentro de su entorno.

En los ejercicios que desarrollaremos a continuación veremos que programar en QGIS3 es sencillo.

RELATED STORIES

Modelado de Inundaciones 2D con RAS 2025

Modelado de Inundaciones 2D con RAS 2025

mayo 19, 2025
Tutorial PDF HEC-HMS 4.10: Manual paso a paso en español

Tutorial PDF HEC-HMS 4.10: Manual paso a paso en español

mayo 13, 2025

Python es la solución

El lenguaje de Python surge como una solución para permitir al usuario acceder a las bibliotecas de QGIS y programar exitosamente.

Python es un lenguaje de rápido crecimiento y altamente demandado por sus aplicaciones en la ciencia, ingeniería, desarrollo web entre otros.

Una de las facetas más importantes de Python en el campo geoespacial, es que es ideal para scripting, es utilizado de esta forma por la mayoría de los programas comerciales y libres.

De esta forma, Python facilita el acceso y programación de los módulos de QGIS 3. La combinación de Python en QGIS 3 la denominamos PyQGIS3.

¿Cómo programar en Python?

Hay muchas formas de programar en Python dentro de QGIS3, sin embargo, la más común es utilizar la consola y el editor.

¿Cómo acceder a la consola?

Puede la acceder a la consola en el menú complementos > consola de Python, también con la combinación de las teclas ctrl + shift + space, o haciendo clic en el botón con el icono de Python.

Se despliega una caja de dialogo, con una línea de comandos en la parte inferior.

En la parte superior la consola nos ofrece información importante que nos facilitara la escritura de programas, nos sugiere utilizar iface acceder a la interfaz de la API de QGIS 3 o teclear help(iface) para más información.

Siguiendo la instrucción escriba en la consola help(iface) y luego enter, se despliega una descripción detallada de la Clase.

Note que la descripción comienza con la definición Class QgisInterface(…. Class puede ser traducido como Clase, esto se debe a que QGIS 3 es un programa desarrollado con programación orientada a objetos.

Vamos a probar algunos de los métodos que nos ofrece iface.

Manipulando los zoom desde la consola:

1.- Cargue varias capas que correspondan a la misma zona. Cualquier conjunto de capas que posea o de las que hemos utilizado en los artículos anteriores.

2.- Seleccione una de las capas, luego escriba en la consola:.

 iface.zoomToActiveLayer() 

Note como lo acerca a dicha capa. El efecto es mas notable si la capa activa (seleccionada en el panel) cubre una menor o mayor extensión que el resto de las capas. Repita el proceso con las otras capas.

3.- Para volver al acercamiento anterior utilice: iface.zoomToPrevious() o al siguiente con iface.zoomToNext().

Para mostrar la extensión de todas las capas utilice iface.zoomFull().

Mostrando mensajes:

Podemos desplegar cajas de dialogo de mensajes, por ejemplo ejecute: iface.openMessageLog().

Note que los métodos ejecutados terminan con paréntesis, dentro de ellos se colocan los argumentos del método. Hasta ahora hemos ejecutado métodos que no requieren argumentos.

A continuación vamos a desplegar la barra de mensajes con un texto informativo.

Primero, se crea un mensaje vacío y lo asignaremos a una variable:

mensaje = iface.messageBar()

Para desplegar el mensaje utilizamos el método pushMessage con tres argumentos, el texto que queremos mostrar, el tipo de mensaje (de advertencia, error, información, ejecución) y el tiempo que durara el mensaje:

Ejecute el siguiente código en la consola:

mensaje.pushMessage(“Estoy programando!!!”, 0, 5)

Incremente el valor del tipo de mensaje hasta 4:

Desplegando la tabla de atributos y propiedades de una capa

Hemos visto que iface puede reconocer la capa activa y acercar el mapa a ella. Podemos capturar la capa activa, es decir, obtendremos un objeto capa, específicamente de la clase QgsMapLayer.

Para consultar los atributos y métodos de la clase QgsMapLayer u otra, puedes hacerlo consultando la pagina oficial del API de QGIS3.

Si no cuenta con conexión a internet puede hacerlo directamente en la consola con help(QgsMapLayer).

1.- Captando la capa activa: seleccione una capa vectorial en el Panel de capas y ejecute en la consola:

capa= iface.activeLayer() 

Con este código la capa esta referenciada en la variable capa.

2.-Para desplegar la tabla de atributos, ingrese el código:

iface.showAttributeTable(capa)

Note como el método showAttributeTable recibe como argumento una capa vectorial y despliega la tabla de atributos.

3.-De igual forma, podemos desplegar las propiedades de la capa:

iface.showLayerProperties(capa)

NOTAS FINALES:

Como han podido ver la programación en QGIS 3 es sencilla, requiere un conocimiento básico de Python y tener a la mano el API de QGIS 3.

En la programación orientada a objeto solo requerimos capturar los objetos, luego podremos conocer sus atributos y ejecutar sus métodos.

La explicación detallada de los fundamentos y otros tips para programar escapan de los alcances del presente artículo, pero si deseas profundizar en este tema puedes tomar el curso de PyQGIS3 mediante este enlace Programación en QGIS3 con Python.

Autor: Luis Eduardo Pérez Graterol
Profesión: Ingeniero en Recursos Naturales
País: Venezuela
Web:www.mundocartogeo.blogspot.com

Compartir:

  • Haz clic para compartir en WhatsApp (Se abre en una ventana nueva) WhatsApp
  • Tweet
  • Haz clic para compartir en Telegram (Se abre en una ventana nueva) Telegram
  • Más
  • Haz clic para imprimir (Se abre en una ventana nueva) Imprimir
  • Haz clic para compartir en Reddit (Se abre en una ventana nueva) Reddit

Me gusta esto:

Me gusta Cargando...
Next Post
Crear nuevo shapefile ArcGIS Pro

7 Herramientas de geoprocesamiento que todo analista SIG debe conocer

Escala y tamaño de celda resolución

La escala de un mapa y el tamaño de celda

Top

  • Crear e imprimir un mapa directamente en línea con Google Maps
  • ¿Qué es el movimiento de rotación y traslación de la Tierra?
  • ¿Qué es la latitud y longitud?
  • Generación automática de tablas de coordenadas UTM en AutoCAD y Civil 3D
  • Agregar capas de Google Maps en QGIS 3
  • Cuadriculas de latitud, longitud y sistema de coordenadas
  • Las fases de la luna
  • ¿Qué es la ubicación absoluta y relativa?
  • Delimitar una cuenca hidrográfica en ArcGIS
  • Lista de índices espectrales en Sentinel 2 y Landsat

Últimas entradas

  • Modelado de Inundaciones 2D con RAS 2025
  • Bases de Datos Gratuitas para Análisis Climáticos
  • Tutorial PDF HEC-HMS 4.10: Manual paso a paso en español
  • QGIS 4: Una versión renovada en camino
  • Generación automática de tablas de coordenadas UTM en AutoCAD y Civil 3D
  • Esri se integra con Google Maps en ArcGIS para visualización urbana realista
  • Líneas con Efectos Visuales Avanzados con el Generador de Geometrías en QGIS: Ideal para suavizar curvas de nivel
  • Calcular la Distancia, Área y Coordenadas UTM directamente en Línea

Aplicaciones

  • Calculadora de distancias
  • Calculadora de pendientes
  • Calculadora del Índice de Masa Corporal
  • Conversor de coordenadas Geográficas – UTM
  • Conversor de grados a procentaje
  • Localizador de IPs

Suscríbete al blog

Introduce tu correo electrónico para recibir las últimas publicaciones.

Únete a otros 8.157 suscriptores

RSS ¿Preguntas?

  • Respondido: ¿Cómo puedo citar Arcgeek calculator?
  • Respondido: Dividir un polígono según cobertura del suelo
  • Respondido: Dividir un poligono segun la composición de habitats
  • Respondido: en arcgis como cerrar un polígono de manera automática
  • Respondido: Colindancias entre geometrías en 4 puntos cardinales ArcGIS Pro o QGIS

Blogroll

  • Franz con Z
  • GeoGeek
  • Normas APA
el blog de franz logo

Estadísticas del sitio

  • 12.671.397 visitas
  • Partners
  • Publicidad
  • ¡Ganar dinero!
  • English

© 2024 El blog de franz - Un producto desarrollado por ArcGeek.

No Result
View All Result
  • Cursos SIG
  • ¿Preguntar?
  • Secciones
    • SIG
    • Info
    • Geek
    • Forestal
  • Más
    • Obtener certificado SIG
    • Mapa de Profesionales SIG
    • Convertir UTM Geográficas
    • Calculadora de distancias
    • Localizador de IPs
    • Frases
    • Foro
    • Reglas
    • Donar
  • Acerca
  • Contacto
%d