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

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

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

 

Pied de page des forums

Powered by FluxBB