Data management with Python, Pandas, Geopandas, Sqlachemy, Matplotlib and Openpyxl
- Détails
- 146073
Pandas is an excellent Python librarie to manage data. Matplotlib allows to create advanced charts and Openpyxl is very usefull to read/write Excel files. These 3 tools, combined with other classic Python features to use MySQL and Postgres, allow to do data analysis and engineering.
Here we will use PyCharm (Community Edition), but it is not mandatory.
First install or check Python and Pip, then the 3 libraries:
pip install pandas pip install matplotlib pip install openpyxl
Data management with Python, Pandas, Geopandas, Sqlachemy, Matplotlib and Openpyxl
Variables d'environnement pour la géomatique stand-alone sur Windows
- Détails
- 1983
Sous Windows, pour utiliser efficacement psql, shp2pgsql, pgsql2shp, ogr2ogr... Et après avoir installé QGIS (car il embarque GDAL/OGR et PROJ), et/ou MySQL, et/ou Postgres, il faudra sans doute préciser quelques variables d'environnement.
Ceci pour que Windows, et vous, puissiez accéder à ces outils en ligne de commande. Lignes de commande que vous pourrez ensuite inclure dans votre langage de programmation préféré (Python, PHP, Java...), permettant donc des combos très puissants.
À savoir 🙂
- Préférez l'installation classique de QGIS (à l'architecture plus claire il me semble), et non pas l'installateur réseau OSGeo4W (à l'architecture plus complexe). De plus les versions QGIS 3.28.X me semblent avoir une architecture plus simple à comprendre pour identifier les différentes librairies (par rapport aux versions 3.34.X par exemple).
- Plusieurs versions de Python, Pip et QGIS peuvent co-exister sur votre machine (et co-existeront probablement, lol).
- Selon les versions de QGIS, les chemins peuvent avoir changé, c'est à vous de les identifier avant de les utiliser dans les variables d'environnement. Les exemples ci-dessous s'inspirent de QGIS 3.28.13 sur Windows 11.
- Plus bas dans cet article, un script Python peut vous aider à identifier les chemins des librairies et à vérifier leurs bons ajouts dans vos variables d'environnement.
- Très généralement, Pip est déjà embarqué dans le Python de QGIS (et donc déjà disponible depuis le shell d'OSGeo, mais pas nativement depuis celui de Windows).
- Pour une modification soit prise en compte, il faudra fermer toutes les fenêtes qui vous ont permis d'accéder aux variables d'environnement. Il faudra aussi relancer le shell Windows (l'invite de commandes), afin de prendre en compte certaines modifications des variables d'environnement.
- Si vous avez déjà installé Postgres, il est possible que certaines variables liées à GDAL/OGR et PROJ aient déjà été créées, mais nous allons ici préférer les versions de QGIS, plus claires, modifiez donc les éventuelles variables existantes.
- On ne touchera ici qu'aux variables système.
Variables d'environnement pour la géomatique stand-alone sur Windows
PyQGIS
- Détails
- 44799
Some PyQGIS tips, from the most common to the most practical, to learn or optimize your use of QGIS with Python.
Some links:
- Advanced PyQGIS tutorial
- Full code to generate maps in a loop
- Tips on PyQGIS in standalone mode
- PyQGIS Developer Cookbook
Open layers
Open some shapes
# Main path myPath = r'C:\\Users\\Georges\\Downloads\\' project = QgsProject.instance() project.removeAllMapLayers() project.clear() iface.mapCanvas().refresh() # Path of layers peaks = QgsVectorLayer(myPath + 'peaks_selection/peaks_selection.shp', 'Sommets', 'ogr') glaciers = QgsVectorLayer(myPath + 'glaciers/glaciers.shp', 'Glaciers', 'ogr') eau = QgsVectorLayer(myPath + 'eau/eau.shp', 'Fleuves', 'ogr') troncons_routes = QgsVectorLayer(myPath + 'troncons_routes/troncons_routes.shp', 'Grandes routes', 'ogr') iris = QgsVectorLayer(myPath + 'iris/iris.shp', 'IRIS', 'ogr') # Open layers project.addMapLayer(peaks) project.addMapLayer(glaciers) project.addMapLayer(eau) project.addMapLayer(troncons_routes) project.addMapLayer(iris) iface.mapCanvas().refresh()
Zones isochrones avec QGIS, Python, l'API ORS et les données OSM, IGN et INSEE
- Détails
- 55071
Nous allons calculer les zones isochrones à 15 minutes des magasins Décathlon français, et les coupler avec les données géographiques de l'IGN croisées avec les données statistiques de l'INSEE.
L'ensemble formera de supposées zones de chalandise des magasins, particulièrement pertinentes car couplées avec de vraies zones isochrones. Nous calculerons aussi la cannibalisation des magasins, ainsi que leur proximité avec des équipements sportifs.
Pour ce faire nous n'utiliserons que des données en open-source, l'API d'openrouteservice, le logiciel libre QGIS et peut-être un peu de code Python.
Mots-clefs : géomarketing, IRIS, INSEE, IGN, OSM, SIG, BDD, traitement de données, SQL, zones de chalandise, indicateur, requête de regroupement, zones isochrones, Python
Enseignants responsables : Georges Hinot
Pré-requis : des notions sur QGIS ou autres SIG, des notions sur Excel ou autres tableurs.
Compétences visées : maîtrise théorique et technique des notions de base du géomarketing (zones isochrones, zones de chalandise, indicateurs, jointures et requêtes de regroupement).
Enjeux du cours : rendre autonome les étudiants sur la recherche et l’usage de données autour de problématiques géomarketing, faire « parler » la donnée, créer des indicateurs, veiller à la pertinence des données représentées.
Programme pédagogique : mise en situation autour d'une commande géomarketing impliquant la récupération, le traitement et la représentation de données. Selon l'avancée du cours, nous irons jusqu'à utiliser des fonctionnalités avancées de QGIS (SQL spatial) et Python (création de zones isochrones via une API et customisation du comportement de QGIS).
Le sommaire de droite et la navigation sous le texte vous permettent de vous déplacer dans ce tutoriel.
Zones isochrones avec QGIS, Python, l'API ORS et les données OSM, IGN et INSEE
Installer Postgres et son extension GIS sous Windows
- Détails
- 8721
...et afficher quelques données géographiques sous QGIS
Salut toi ! Prêt à bénéficier de toute la puissance de Postgres ? Tu as bien mis ta ceinture de sécurité ?
Maîtrise tes tremblements, bien compréhensibles face à ce déluge de technologies aux performances abyssales, et prépare-toi à entrer dans un monde nouveau, où l'imagination est la seule limite !
🤖🤟🌐💪🧭🐘
Tutoriel avancé QGIS et Python (PyQGIS)
- Détails
- 142023
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.
Page 1 sur 6