Introducción al desarrollo con PyQGIS

Leonardo Cardona

Germán Carrillo

Introducción al desarrollo con PyQGIS

2019

1era Jornada de Talleres

Introducción

1era Jornada de Talleres

¿Dónde usar Python en QGIS?

¿Dónde usar Python en QGIS?

1era Jornada de Talleres

1. Consola de Python y editor de scripts

Ctrl

+

Alt

+

P

¿Dónde usar Python en QGIS?

1era Jornada de Talleres

2. Macros del proyecto

Proyecto --> Propiedades...

¿Dónde usar Python en QGIS?

1era Jornada de Talleres

3. Acciones

Propiedades de la capa --> Acciones

¿Dónde usar Python en QGIS?

1era Jornada de Talleres

4. Expresiones personalizadas en Python

Diálogo de expresiones --> Editor de Funciones

¿Dónde usar Python en QGIS?

1era Jornada de Talleres

5. Algoritmos de Geoprocesamiento

Ventana de Procesamiento --> Scripts

¿Dónde usar Python en QGIS?

1era Jornada de Talleres

6. Plugins

¿Dónde usar Python en QGIS?

1era Jornada de Talleres

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

Bases de Python

1era Jornada de Talleres

PyQt5

1era Jornada de Talleres

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

Librerías QtCore, QtGui, QtWidgets

1era Jornada de Talleres

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

Obteniendo ayuda para PyQt5

1era Jornada de Talleres

Tipos de Widgets de PyQt5

1era Jornada de Talleres

Formularios en PyQt5

1era Jornada de Talleres

QGIS custom widgets

Buttons

Input Widgets

Display Widgets

Formulario

Recursos en PyQt5

1era Jornada de Talleres

Comunicar objetos: SIGNAL/SLOT

1era Jornada de Talleres

Sirve para:

  • Comunicar objetos
  • Facilitar su separación

QSettings: Preferencias de usuario

1era Jornada de Talleres

PyQGIS

1era Jornada de Talleres

Recursos y documentación

1era Jornada de Talleres

Librerías PyQGIS

1era Jornada de Talleres

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/

Librerías PyQGIS

1era Jornada de Talleres

Proporciona interfaces gráficas de usuario que pueden ser reutilizables

  • QgsMapCanvas
  • QgsMapTool
  • QgsScaleComboBox

qgis.gui

Librerías PyQGIS

1era Jornada de Talleres

   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

¡¡¡Empecemos!!!

1era Jornada de Talleres

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)

Ahora sigues tú...

1era Jornada de Talleres

Introducción al desarrollo con PyQGIS

By Grupo de Usuarios QGIS Colombia

Introducción al desarrollo con PyQGIS

1ra Jornada de Talleres QGIS-Co

  • 1,110