Mots-clefs : interopérabilité Python/QGIS, variable, boucle, fonction, condition, liste, argument, chaîne formatée, fonctions géométriques, création de fichiers, génération de cartes, fonctions cartographiques, fonctions standalone, traitement de données cartographiques, workflow, milieu alpin
Enseignant responsable : Georges Hinot
Pré-requis : une bonne connaissance d'un logiciel SIG supportant Python (QGIS ou ArcGIS par exemple) et des problématiques/besoins/enjeux de la géomatique.
Compétences visées : mettre en place un protocole de développement autour d'une problématique géomatique, de la « re-contextualisation du besoin » jusqu'à l'écriture d'un script Python répondant à ce besoin.
Enjeux du cours : rendre les étudiants autonomes dans la création et l'entretien de scripts « automatisants ». Dans ce type de tâche, l’autonomie consiste à savoir interpréter un besoin humain, ré-interpréter ses propres problématiques de programmation et à écrire/chercher/modifier les blocs de code nécessaires.
Programme pédagogique : initiation aux fondamentaux du langage puis mise en situation (générer des cartes à partir de données géographiques). En plus de la simple automatisation des cartographies, le cours nous donnera l'occasion, toujours en Python, d'utiliser des API, de traiter des données et de mettre en place des modes d'affichages customisés sur QGIS. Selon l'avancée du cours, nous pourrons aussi aborder le mode « standalone » permis par le duo QGIS-Python, la création de plugins QGIS et les possibilités de webmapping/analyse/ingénierie de données permises par Python.
Exemple de carte produite par Python
Versions :
- Tutoriel mis à jour sur QGIS 3.28.13 et QGIS 3.34.11.
- Tutoriel écrit à l'origine sur QGIS 3.14, QGIS 3.16 et QGIS 3.2, mais j'ai constaté qu'il fonctionne de façon assez similaire sur des versions précédentes (sans remonter trop loin non plus bien sûr).
Sources et liens divers :
- Advanced PyQGIS tutorial
- Tips on PyQGIS in standalone mode
- Full code to generate maps
- PyQGIS Developer Cookbook
- Tutoriel d'initiation à Python dans QGIS3 (débutant)
- QGIS StackExchange
- Blog spécialisé d'Underdark, aka Anita Graser
- OSMDownloader
- QuickOSM
- Wikidata
- Landscape Archaeology
- AppDividend
- OpenSourceOptions
- webgeodatavore