Pages: 1
- Sujet précédent - QGIS: Afficher ma table importee depuis Postgis avec python - Sujet suivant
#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.
Hors ligne
#2 Thu 25 June 2020 11:16
- JD
- Moderateur
- Date d'inscription: 8 Aug 2013
- Messages: 726
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
Pages: 1
- Sujet précédent - QGIS: Afficher ma table importee depuis Postgis avec python - Sujet suivant