Dans PostGIS 2.0, je cherche un moyen efficace de créer une vue activée spatialement et visible dans QGIS.
J'ai suivi le contexte de la deuxième partie de la réponse de @Mike Toews à Comment créer une table à partir de tables existantes (application de nouveaux schémas) dans la base de données Postgis? et la vue apparaît sous forme de couche de points (dans mon cas) dans la boîte de dialogue "Ajouter des couches PostGIS". Mais après avoir créé la vue et l'avoir spatialement activée, j'ai reçu l'erreur suivante lorsque j'essayais d'ajouter la vue à QGIS:
Vous devez sélectionner une table pour pouvoir ajouter une couche
Quelqu'un peut-il expliquer pourquoi la vue spatiale ne se chargera pas dans QGIS et ce que je dois faire pour la rendre chargeable en tant que couche dans QGIS?
J'utilise actuellement QGIS v1.8 à partir du programme d'installation OSGEO.
Je vois est construit à partir de la base de données geonames, chargée dans PostGIS. La table geoname / les données spatiales peuvent être sélectionnées / visualisées dans QGIS sans problème.
Lorsque j'essaie de sélectionner " mt_view ", QGIS voit la vue dans la boîte de dialogue, mais ne me laisse pas la sélectionner. Il donne un cadre en pointillé autour de la zone, mais ne met pas en surbrillance et ne sélectionne pas la vue.
Je viens de remarquer que lorsque je lance ma première requête:
CREATE OR REPLACE VIEW data.test AS
SELECT * FROM data.geoname
WHERE admin1='MT'
la vue apparaît dans la boîte de dialogue Ajouter une couche QGIS, mais est non sélectionnable. Puis quand je cours:
SELECT Populate_Geometry_Columns('data.test'::regclass);
Je reçois le résultat de "0", où selon la documentation , je pense qu'il devrait retourner "1".