#1 Tue 31 May 2011 16:23
- Sylvain PIERRE
- Participant assidu
- Lieu: Strasbourg
- Date d'inscription: 6 Sep 2005
- Messages: 170
QGIS : enregistrer les commandes lancées
Bonjour,
Je souhaiterais savoir si l'un(e) d'entre vous connait une méthode pour visualiser puis enregistrer les commandes successives passées dans l'interface de QGis.
Je m'explique :
Le but est de conserver les commandes (en python ?) lancées, ceci constituant la base pour écrire des scripts.
Ceci aurait comme avantage de ne pas avoir à connaitre à priori toutes les méthodes utlisées.
Cordialement
Sylvain
Hors ligne
#2 Tue 31 May 2011 17:41
Re: QGIS : enregistrer les commandes lancées
Le but est de conserver les commandes (en python ?) lancées, ceci constituant la base pour écrire des scripts.
Ceci aurait comme avantage de ne pas avoir à connaître à priori toutes les méthodes utilisées.
Ce n'est pas possible car ce n'est tout simplement pas prévu pour actuellement.
Les «commandes» utilisées par QGIS dans l'interface sont des appels de fonctions du code C++ du logiciel. Celles ci n'ont pas forcément d'équivalent direct en Python, car ce qui est accessible en Python sont des bindings de l'API C++.
D'une part certaines fonctions appelées par l'interface graphique peuvent ne pas faire partie de l'API. D'autres part les fonctions et la façon dont on les appelle dans l'API Python peuvent différer légèrement de l'API c++.
Et il faudrait également qu'il y ait sur chaque action possible de l'interface un slot branché qui restitue la commande effectuée avec ses arguments. Ça ne semble pas totalement impossible, mais peut être assez complexe à mettre en œuvre.
Ce n'est donc pas pour aujourd'hui ni pour demain à mon avis.
Hors ligne
#3 Wed 01 June 2011 09:57
- Sylvain PIERRE
- Participant assidu
- Lieu: Strasbourg
- Date d'inscription: 6 Sep 2005
- Messages: 170
Re: QGIS : enregistrer les commandes lancées
Merci pour ces explications très détaillées.
Si je comprends bien, si je veux automatiser des taches, une seule solution: se mettre à Python?
Hors ligne
#4 Wed 01 June 2011 10:15
- JRM
- Participant assidu
- Lieu: Arras
- Date d'inscription: 15 Apr 2009
- Messages: 521
Re: QGIS : enregistrer les commandes lancées
Oui
Hors ligne
#5 Wed 27 August 2014 09:28
- lregion
- Juste Inscrit !
- Lieu: REGION PACA
- Date d'inscription: 27 Aug 2014
- Messages: 2
Re: QGIS : enregistrer les commandes lancées
comment dans la console ? ou puis-je trouver des exemple de scripts python (déjà écrits) de commandes qgis
Merci
Hors ligne
#6 Wed 27 August 2014 10:47
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3947
Re: QGIS : enregistrer les commandes lancées
Bonjour,
la doc PyQGIS peut être un début. Il y a un certain nombre d'exemples à exécuter. Pas à pas, je pense que tu comprendras le mécanisme. Puis il y a la doc de l'API pour connaître les méthodes et fonctions liées à chaque classe (la fonction de recherche dans l'angle est très très utile... ou le help quand tu es dans la console).
Et si tu ne connaissais pas Python, il faudrait trouver, je pense, un tutoriel sur la question en général afin d'en comprendre au moins les bases de fonctionnement.
Ça n'est pas très compliqué à prendre en mains, je pense. Bon dév.
Hors ligne
#7 Wed 27 August 2014 11:57
Re: QGIS : enregistrer les commandes lancées
Merci pour ces explications très détaillées.
Si je comprends bien, si je veux automatiser des taches, une seule solution: se mettre à Python?
Bonjour Sylvain,
Oui, et dans un premier temps pour du traitement de données, l'approche par les modèles de l'extension de géotraitements (ex sextante) permet de faire pas mal de choses, y compris de faire des scripts python simplifiés, sans avoir tout le code lié à l'interface graphique, qui est autogénérée.
Si tu veux interagir avec l'interface, les couches, les légendes, effectivement python obligatoire... Mais ça ouvre des horizons fabuleux puisque cela permet d'ouvrir à des milliers d'outils comme R, Matplotlib (génération de graphes, visualisation), des librairies de traitement SIG autres sans les limites de QGIS (pas de gestion des z), traitement de fichiers, etc.. Ce langage devient progressivement le langage qui assure le lien entre tous les outils et on le trouve dans Arcgis, FME, QGIS, mapserver.. Bref, ça devient un incontournable à mon sens en géomatique.
Et en 2.4, la console python de QGIS est tout simplement une des meilleures consoles python qui soit. Je n'ai pas vraiment trouvé mieux pour faire du python, même sans lien avec QGIS. Je gère par exemple désormais les profils QGIS client avec des scripts python (librairie configparser)
Hors ligne