Pages: 1
- Sujet précédent - QGIS: Chargement automatique couche CSV a ouverture du projet - Sujet suivant
#1 Mon 03 July 2017 10:47
- nathan
- Juste Inscrit !
- Date d'inscription: 22 Jun 2017
- Messages: 6
QGIS: Chargement automatique couche CSV a ouverture du projet
Bonjour
Je cherche a automatiser le chargement d'un fichier csv en tant que couche vecteur a l'ouverture de mon projet ,
puis a utiliser cet couche vecteur pour une interpolation idw .
Cependant je bloque a la premiere étape , j'y connais pas grand chose en python mais avec la doc j'ai fais quelque chose comme cela :
from qgis.utils import iface
def run():
uri = "file:///D:\Users\nbenayou\Desktop\abc.csv?delimiter=%s&xField=%s&yField=%s" % (";", "x", "y")
iface.addVectorLayer("abc","donneesCH4","delimitedtext")
ceci est mon script , je l'enregistre au format PY en tant que mon script , puis dans qgis "projet", "proprietes du projet" , "macro" , mon code et le suivant :
import monscript
def openProject():
monscript.run()
def saveProject():
pass
def closeProject():
pass
j'ouvre et je ferme mon projet pour lancer la macro mais un message d'erreur affiche : la couche choisie n'est pas valide et ne peut etre affiché sur la carte .
Pourtant mon fichier csv comporte bien un champ x et y , mais je ne maitrise pas la partie du code ci dessus qui fait reference a ces champs x et y alors mon erreur vient probablement de la .
Je vous remercie d'avance
Hors ligne
#2 Tue 04 July 2017 17:22
- JD
- Moderateur
- Date d'inscription: 8 Aug 2013
- Messages: 726
Re: QGIS: Chargement automatique couche CSV a ouverture du projet
Bonjour,
Vous n'avez pas besoin de passer par une macro python pour ouvrir une couche. La couche s'ouvre automatiquement et se met à jour automatiquement à l'ouverture du projet. Le lancement du géotraitement pourra se faire en revanche via la macro.
Quoiqu'il en soit :
Dans un premier temps, ouvrez votre couche en utilisant "ajouter une couche de texte délimité" avec les options.
Une fois la couche chargée, dans les propriétés de la couche > Général > Source vous verrez l'uri.
Il suffit de la copier/coller la source à la place de l'uri.
Cordialement,
Dernière modification par lejedi76 (Tue 04 July 2017 17:24)
Hors ligne
#3 Wed 05 July 2017 08:01
- nathan
- Juste Inscrit !
- Date d'inscription: 22 Jun 2017
- Messages: 6
Re: QGIS: Chargement automatique couche CSV a ouverture du projet
Wow effectivement je viens de faire le test et ça marche : D . J'était pas du tout au courant de cette fonction , merci beaucoup : ) .
Maintenant , n'il y a t-il pas un moyen pour que mes geotraitement s'actualise de la même manière ? Sinon avez vous une idée pour la macro geotraitement ?
Cordialement
Hors ligne
#4 Wed 05 July 2017 08:19
- JD
- Moderateur
- Date d'inscription: 8 Aug 2013
- Messages: 726
Re: QGIS: Chargement automatique couche CSV a ouverture du projet
Bonjour,
Pour le geotraitement, regardez si vous pouvez réaliser votre interpolation idw via la boîte à outils de traitement de Qgis (je pense au module saga en particulier et il y aussi v.surf.idw de grass)
Une fois que vous arriverez à réaliser ceci, l automatiser à l'ouverture du projet sera plus facile.
Cordialement,
Dernière modification par lejedi76 (Wed 05 July 2017 08:29)
Hors ligne
#5 Wed 05 July 2017 09:32
- nathan
- Juste Inscrit !
- Date d'inscription: 22 Jun 2017
- Messages: 6
Re: QGIS: Chargement automatique couche CSV a ouverture du projet
j'essaie cela , merci beaucoup
Cordialement
Hors ligne
Pages: 1
- Sujet précédent - QGIS: Chargement automatique couche CSV a ouverture du projet - Sujet suivant