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 Fri 19 June 2020 03:18

nmokht97
Juste Inscrit !
Lieu: Rue jules Valles
Date d'inscription: 18 Jun 2020
Messages: 2

QGIS: Afficher ma table importee depuis Postgis avec python

Bonjour à tous,

J'essaie de faire des test avec la console python dans un premier temps afin d'afficher des tables depuis ma base de données Postgresql (PostGis), et je debute avec QGIS, grace à des tuto sur net j'ai trouvé le script permettant ceci

Code:

from qgis.core import *
from qgis.core import QgsProject
from PyQt5.QtCore import QFileInfo
from qgis.core import QgsVectorLayer, QgsDataSourceUri

def run_script(iface):
    uri = QgsDataSourceUri()
    # set host name, port, database name, username and password
    uri.setConnection("localhost", "5432", "Base_test", "user", "****")
    # set database schema, table name, geometry column and optionally
    # subset (WHERE clause)
    uri.setDataSource("public", "table en question", "geom","")

    vlayer = QgsVectorLayer(uri.uri(), "table en question", "user")
    QgsMapLayerRegistry.instance().addMapLayer(vlayer)

ce code ne me renvoie aucune erreur sauf que la couche ne s'affiche pas dans QGIS.

Que faire SVP.

Merci par avance de votre et le super boulot que vous faite pour les debutant comme moi. smile

Hors ligne

 

#2 Thu 25 June 2020 11:16

JD
Moderateur
Date d'inscription: 8 Aug 2013
Messages: 722

Re: QGIS: Afficher ma table importee depuis Postgis avec python

Bonjour,

le code n'est pas executé car vous ne lancez pas la fonction run_script
J'en ai profité pour corriger les petites coquilles si vous êtes en qgis 3

Code:

from qgis.core import *
from qgis.core import QgsProject
from PyQt5.QtCore import QFileInfo
from qgis.core import QgsVectorLayer, QgsDataSourceUri

def run_script(iface):
    uri = QgsDataSourceUri()
    # set host name, port, database name, username and password
    uri.setConnection("localhost", "5432", "Base_test", "user", "****")
    # set database schema, table name, geometry column and optionally
    # subset (WHERE clause)
    uri.setDataSource("public", "table en question", "geom","")

    vlayer = QgsVectorLayer(uri.uri(), "table en question", "postgres")
    QgsProject.instance().addMapLayer(vlayer)

run_script(iface)

Hors ligne

 

#3 Thu 25 June 2020 11:19

nmokht97
Juste Inscrit !
Lieu: Rue jules Valles
Date d'inscription: 18 Jun 2020
Messages: 2

Re: QGIS: Afficher ma table importee depuis Postgis avec python

Merci JD
j'ai effectivement réussi à corriger mon soucis avec  exactement votre correction.

Hors ligne

 

Pied de page des forums

Powered by FluxBB