#1 Sat 29 March 2014 15:43
- Mathieu LIEVRE
- Participant occasionnel
- Date d'inscription: 7 Dec 2012
- Messages: 28
QGIS 2.x : Connexion à PostGIS pour un plugin
Bonjour,
Étudiants en Licence Pro SIG, nous travaillons actuellement sur le développement en Python d'un plugin permettant la consultation et la gestion de données forestières.
Nous avons beaucoup de mal à trouver de la documentation là-dessus et le temps nous est compté.
Voilà le problème : nous essayons de nous connecter à une base PostGreSQL/PostGIS afin d'afficher des données dans une fenêtre dockée dans QGIS.
Seulement voilà, cela ne fonctionne que pour les tables ayant une géométrie, et pas pour les tables purement alpha-numériques.
Voici le morceau code qui pose problème :
Code:
from appli_test_1_table2_form import * class appli_test_1_table2_dialog(QDockWidget, Ui_appli_test_1_table2_form): def __init__(self, iface): QDockWidget.__init__(self) self.iface = iface self.setupUi(self) self.setMinimumHeight(410) self.setMinimumWidth(400) self.iface.addDockWidget(Qt.LeftDockWidgetArea, self) # common appli_test_1 methods self.qc = appli_test_1_common(self) uri = QgsDataSourceURI() uri.setConnection("localhost", "5432", "testforet", "postgres", "postgre") schema = "public" table = "foret" geom_column = "sub_geometrie" uri.setDataSource(schema, table, geom_column) display_name = "foret" self.layerForet = QgsVectorLayer(uri.uri(), display_name, "postgres") if not self.layerForet: QMessageBox.critical(self.iface.mainWindow(),"Erreur", u"La table Personne n'est pas présente" ) else: print self.layerForet.featureCount() features = self.layerForet.getFeatures() for feature in features: print feature.attributes()
Pouvez-vous nous aider ou nous aiguiller là-dessus ?
Merci beaucoup.
La Team'Forêt (LUPSIG)
Dernière modification par Mathieu LIEVRE (Sat 29 March 2014 15:44)
Hors ligne