Introducción al desarrollo con PyQGIS

Leonardo Cardona

Germán Carrillo

Introducción al desarrollo con PyQGIS

2019

2da Jornada de Talleres

BUCARAMANGA

Introducción

2da Jornada de Talleres

¿Dónde usar Python en QGIS?

¿Dónde usar Python en QGIS?

1. Consola de Python y editor de scripts

Ctrl

+

Alt

+

P

2da Jornada de Talleres

¿Dónde usar Python en QGIS?

2. Macros del proyecto

Proyecto --> Propiedades...

2da Jornada de Talleres

¿Dónde usar Python en QGIS?

3. Acciones

Propiedades de la capa --> Acciones

2da Jornada de Talleres

¿Dónde usar Python en QGIS?

4. Expresiones personalizadas en Python

Diálogo de expresiones --> Editor de Funciones

2da Jornada de Talleres

¿Dónde usar Python en QGIS?

5. Algoritmos de Geoprocesamiento

Ventana de Procesamiento --> Scripts

2da Jornada de Talleres

¿Dónde usar Python en QGIS?

6. Plugins

2da Jornada de Talleres

¿Dónde usar Python en QGIS?

7. Scripts 'standalone' (sin la GUI de QGIS)

2da Jornada de Talleres

Bases de Python

2da Jornada de Talleres

PyQt5

Framework de aplicaciones y Toolkit de GUI
Open Source
Multiplataforma: Windows, OS X, Linux, iOS y Android
Lenguaje: C++

Qt desde Python
Open Source
Soporte comercial (Riverbank Computing)

Licenciamiento: GNU GPL v3 y Riverbank Commercial License

2da Jornada de Talleres

Librerías QtCore, QtGui, QtWidgets

QtCore

QtGui

QtWidgets

QtCore

QPA

Sistema operativo

Hardware

QtGui

Interfaces de usuario de alto nivel
Utiliza las funcionalidades proporcionadas por QtCore y QtGui

Clases: QDialog, QMenu, QMessageBox, QWizard, QLabel

Controles para Integración de la interfaz de usuario

Acceso a las ventanas, buffers de dibujo y OpenGL

Clases: QRegExpValidator, QCursor, QFont, QColor

Infraestructura central de Qt

No hay dependencia de los recursos de la interfaz de usuario

Clases:  QCoreApplication, QSettings, QLocale

QtWidgets

2da Jornada de Talleres

Obteniendo ayuda para PyQt5

2da Jornada de Talleres

Tipos de Widgets de PyQt5

2da Jornada de Talleres

Formularios en PyQt5

QGIS custom widgets

Buttons

Input Widgets

Display Widgets

Formulario

2da Jornada de Talleres

Recursos en PyQt5

2da Jornada de Talleres

Comunicar objetos: SIGNAL/SLOT

Sirve para:

  • Comunicar objetos
  • Facilitar su separación

2da Jornada de Talleres

QSettings: Preferencias de usuario

2da Jornada de Talleres

PyQGIS

2da Jornada de Talleres

Recursos y documentación

2da Jornada de Talleres

Librerías PyQGIS

Proporciona acceso a la funcionalidades básicas de SIG

  • Formatos de datos
  • Tipos de geometrías
  • Sistemas de coordenadas

qgis.core

QgsCoordinateReferenceSystem

Fuente: https://hub.packtpub.com/learning-qgis-python-api/

2da Jornada de Talleres

Librerías PyQGIS

Proporciona interfaces gráficas de usuario que pueden ser reutilizables

  • QgsMapCanvas
  • QgsMapTool
  • QgsScaleComboBox

qgis.gui

2da Jornada de Talleres

Librerías PyQGIS

   qgis.

analysis

 

  • QgsKernelDensityEstimation
  • QgsTinInterpolator
  • QgsNativeAlgorithms

  qgis.

server

Tomado de https://docs.qgis.org/2.14/en/docs/gentle_gis_introduction/spatial_analysis_interpolation.html

https://www.geodose.com/2017/11/qgis-heatmap-using-kernel-density.html

2da Jornada de Talleres

¡¡¡Empecemos!!!

1. Consola de Python y editor de scripts

2. Macros del proyecto

3. Acciones

4. Expresiones personalizadas en Python

5. Algoritmos de Geoprocesamiento

6. Plugins

7. Scripts 'standalone' (sin la GUI de QGIS)

2da Jornada de Talleres

Ahora sigues tú...

2da Jornada de Talleres

Introducción al desarrollo con PyQGIS

By Grupo de Usuarios QGIS Colombia

Introducción al desarrollo con PyQGIS

2da Jornada de Talleres QGIS-Co (Bucaramanga)

  • 1,230