Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Printemps des cartes 2024

#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

vincentp
Participant actif
Lieu: Paris
Date d'inscription: 18 Jul 2006
Messages: 127

Re: QGIS : enregistrer les commandes lancées

Sylvain PIERRE a écrit:

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: 3799

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

haubourg
Participant assidu
Lieu: Grenoble
Date d'inscription: 7 Sep 2005
Messages: 257
Site web

Re: QGIS : enregistrer les commandes lancées

Sylvain PIERRE a écrit:

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

 

Pied de page des forums

Powered by FluxBB