#1 Mon 11 December 2023 18:18
- cyrille
- Participant assidu
- Date d'inscription: 7 Feb 2006
- Messages: 401
QGIS: Vue
Bonjour,
Question sur les vues QGIS accessibles via l'outil gestionnaire BDD.
J'ai testé la requete basique suivante "create view 'LOIRET' as select * from departement_l2e where nom_m = 'LOIRET'"
Elle fonctionne sur des données hébergées dans une base SPatialite mais pas sur les couches virtuelles de mon projet.
Query execution error on CREATE TEMP VIEW _tview AS create view "LOIRET" as select * from departement_l2e where nom_m = 'LOIRET': 1 - near "create": syntax error
La création de vues est-elle réservée aux couches spatialite ? Je précise que mes couches virtuelles sont les couches de mon projet est que ce sont de simples shapefile.
merci de vos lumières
Dernière modification par cyrille (Mon 11 December 2023 18:23)
Hors ligne
#2 Tue 12 December 2023 08:27
- Pierre
- DesCartesPourUnMondeMeilleur
- Date d'inscription: 22 Sep 2005
- Messages: 1643
Re: QGIS: Vue
Aloha
"CREATE TEMP VIEW _tview AS create view "LOIRET" as select * ". Cela a le mérite d'être clair comme message.
Vous pouvez créer des vues dans une base de données. Et donc dans cette bdd vous ne pouvez vous référez qu'aux seuls objets présents dans cette base de données (epsilon les dblinks etc).
Dans une base A, je peux créer une vue construite sur les tables A1, A2... mais je ne peux pas utiliser les tables B1, B2 de la base B. C'est pareil pour les couches virtuelles de votre projet qgis, vous ne pouvez pas y faire référence pour créer des vues dans votre bdd.
Par contre vous pouvez utiliser l'outil virtual layer de qgis. La requête que vous écrirez dans l'outil (un select), sera transformée en une vue hébergée dans votre projet qgis.
J'espère avoir bien compris votre question et y avoir répondu.
Bon courage et bonne continuation.
art X I. Déclaration des Droits de l’Homme et du Citoyen 1789
La libre communication des pensées et des opinions est un des droits les plus précieux de l’Homme : tout Citoyen peut donc parler, écrire, imprimer librement, sauf à répondre de l’abus de cette liberté, dans les cas déterminés par la Loi.
Hors ligne
#3 Tue 12 December 2023 10:08
- cyrille
- Participant assidu
- Date d'inscription: 7 Feb 2006
- Messages: 401
Re: QGIS: Vue
Merci pour votre retour.
Ok pour créer une vue spatialite sur des couches présentes dans cette BD et uniquement cette BD. => ca marche
Mais si je travaille dans une vue composée de shapefiles. J'ouvre DB manager et donc mes requetes SQL portent sur des couches virtuelles dérivées des shapefiles du projet. Et si je comprend bien la fonction SQL create view n'est pas disponible pour ce type de données ?
=> y a t'il des tutoriaux simples quelque part ?
Notamment explicitant le SQL couches virtuelles vs le SQL Spatialite ?
Dernière modification par cyrille (Tue 12 December 2023 10:12)
Hors ligne
#4 Tue 12 December 2023 10:15
- Pierre
- DesCartesPourUnMondeMeilleur
- Date d'inscription: 22 Sep 2005
- Messages: 1643
Re: QGIS: Vue
Je pense qu'il y a un problème dans votre nouveau message.
"Ma vue est composée de shapefiles donc". Je ne saisis pas ce que vous entendez par là, mais techniquement, il n'y pas de vue au sens bdd du terme qui puissent être construites sur des shp, à ma connaissance.
Dans l'outil dbmanager, vous pouvez exécuter des requêtes sur des shp, les charger dans votre projet, et cela ressemblera à des vues, mais rien de plus.
Je pense que le principal problème est que votre instruction est "create view". Si vous faites un select sur vos shp dans le db manager et que vous chargez le résultat dans le projet, cela fonctionne-t-il ?
art X I. Déclaration des Droits de l’Homme et du Citoyen 1789
La libre communication des pensées et des opinions est un des droits les plus précieux de l’Homme : tout Citoyen peut donc parler, écrire, imprimer librement, sauf à répondre de l’abus de cette liberté, dans les cas déterminés par la Loi.
Hors ligne
#5 Tue 12 December 2023 10:40
- cyrille
- Participant assidu
- Date d'inscription: 7 Feb 2006
- Messages: 401
Re: QGIS: Vue
Oui je me suis mal exprimé
Ma vue est juste la fenetre avec la table des matières.
Une vue est constitueé de couches carto de type shapefiles (vocabulaire arcview) . Donc rien a voir avec une vue créee en mode SQL avec l'instruction create view.
"il n'y pas de vue au sens bdd du terme qui puissent être construites sur des shp, à ma connaissance." => c'est ce que j'en avais déduit. Les tutoriaux en ligne, le plus souvent sont basés sur spatialité ou postgis mais ne le précisent pas et incluent la fonction create view. Je saurais desormais a quoi m'en tenir.
Pour le reste oui , les selects fonctionnent et chargent des shp meme si je n'arrive pas a trouver un tutorial complet SQL dédié aux couches virtuelles de types fichiers plats.
Merci pour vos retours
Hors ligne