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
Adaptado de: https://doc.qt.io/qt-5/signalsandslots.html
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
QGIS API (C++):
QGIS API (Python):
PyQGIS Cookbook:
https://docs.qgis.org/testing/en/docs/pyqgis_developer_cookbook/
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,090