Bienvenue! Inscrivez-vous et rejoignez notre communauté :)
  • Login:

Bienvenue sur Forum SIG - Systèmes d'Information Géographique et Géomatique.

Bienvenue sur le forumSIG. S'il s'agit de votre première visite, assurez vous de faire une recherche préalable dans les FAQ SIG. Vous devez vous inscrire avant de pouvoir poster.

Affichage des résultats 1 à 7 sur 7
  1. #1

    Date d'inscription
    janvier 2005
    Localisation
    Mayenne (53)
    Âge
    37
    Messages
    762

    Par défaut [Gestionnaire de base de données] Enregistrement des requêtes SQL sur virtual layer

    Bonjour à tous,

    Voila plusieurs fois que je rencontre ce problème, et je pense qu'il doit s'agir d'un bug, mais je veux bien votre avis avant de faire cette conclusion.
    Je travaille de plus en plus avec les "virtual layers" du gestionnaire de BDD, pour créer des couches issues de requêtes SQL.
    Malheureusement, il arrive fréquemment qu'à la ré-ouverture des projets QGis, les couches créées ne soient plus fonctionnelles et j'ai le message "Reprendre les mauvaises couches"...

    Voici par exemple la colonne "source de données" d'une des mes couches à reprendre :
    Code:
    ?query=SELECT%09%09groupe%2C%0D%0A%09%09%09%09%27morphologie%27%20as%20nature%2C%0D%0A%09%09%09%09sum%28st_length%28geometry%29%29%20as%20long_troncons%2C%0D%0A%09%09%09%09count%28ID_T%29%20as%20nb_troncons%2C%0D%0A%09%09%09%09ST_PointOnSurface%28st_union%28geometry%29%29%20as%20geometry%0D%0AFROM%20Analyse_morpho%0D%0AWHERE%20Type%20IN%20%283%2C%204%2C%2013%2C%2014%2C%2023%2C%2024%2C%20123%2C%20124%2C%201234%2C%2034%29%0D%0AGROUP%20BY%20groupe%0D%0AORDER%20BY%20groupe&geometry=geometry
    Ce qui est étrange, c'est que dans une version du projet sauvegardée par QGis (fichiers .qgs~), cette même couche s'affiche encore, et si je regarde la source de la données (propriété de la couche > Général > source de la couche), la requête est exactement la même...

    Je me demande si le problème ne viendrait pas du codage ajouté par QGis pour stocker les requête SQL ("%20" pour les espaces, "%28" pour les "parenthèses ouvrantes" par exemple).

    Si quelqu'un veut se pencher pour comparer les 2 projets QGS (celui qui marche, mais qui est ancien, et celui qui ne marche plus), je peux les envoyer en MP.

    Merci pour vos avis !

    Sylvain M.

    - - MISE A JOUR - -

    En nettoyant le contenu de la source de ces encodages (URL encoding), voila le contenu :
    Code:
    ?query=SELECT groupe,'morphologie' as nature,sum(st_length(geometry)) as long_troncons,count(ID_T) as nb_troncons,ST_PointOnSurface(st_union(geometry)) as geometry FROM Analyse_morpho WHERE Type IN (3, 4, 13, 14, 23, 24, 123, 124, 1234, 34) GROUP BY groupe ORDER BY groupe&geometry=geometry
    Un peu plus lisible avec les retours à la ligne :
    Code:
    ?query=
    SELECT groupe,
    'morphologie' as nature,
    sum(st_length(geometry)) as long_troncons,
    count(ID_T) as nb_troncons,
    ST_PointOnSurface(st_union(geometry)) as geometry
    FROM Analyse_morpho
    WHERE Type IN (3, 4, 13, 14, 23, 24, 123, 124, 1234, 34)
    GROUP BY groupe
    ORDER BY groupe
    &geometry=geometry
    Si ça peut aider à y voir plus clair ?

  2. #2

    Date d'inscription
    août 2011
    Localisation
    Paris > Strasbourg
    Emploi
    Chargé de mission SIG
    Âge
    33
    Messages
    1 382

    Par défaut Re : [Gestionnaire de base de données] Enregistrement des requêtes SQL sur virtual la

    Moi de ce que je ferais, je prendrais le projet QGS actuel, je ne laisserai que la couche 'Analyse morpho' et sa virtual layer (qui ne fonctionne pas), je ferai exactement la même chose avec le projet .qgs~ (qui fonctionne) et je comparerai les deux fichiers (ouvrir par exemple avec Notepad++ et mettre langage XML), il y aura peut-être une piste, un style qui fait que ça ne fonctionne pas dans le nouveau, etc.

  3. #3

    Date d'inscription
    janvier 2005
    Localisation
    Mayenne (53)
    Âge
    37
    Messages
    762

    Par défaut Re : [Gestionnaire de base de données] Enregistrement des requêtes SQL sur virtual la

    Oui, j'ai ouvert les 2 QGS dans Notepad++, et en utilisant le plugin "Compare", j'ai pu identifier les différences entre les 2 fichiers.
    Mais celles-ci sont trop nombreuses pour que j'identifie ce qui fait planter le chargement de mes "couches de requêtes".

    Et quant à ne garder que le(s) layer(s) problématique(s), il y a plus de 3700 lignes dans le QGS : je vais avoir du mal à ne garder que celles de ce(s) layer(s)...

    Je vais repartir sur l'ancien qui marche et refaire mes styles, mais j'ai peur que ça se reproduise.
    (je vais enregistrer à chaque étape et vérifier que ça se ré-ouvre bien)

    - - MISE A JOUR - -

    Bon, finalement j'ai identifié mon problème !!!
    En fait, j'avais renommé la couche source (Analyse_morpho.shp) dans la table des matières, après avoir exécuté les requête SQL.
    Du coup, les requêtes ne fonctionnaient plus, puisqu'elles sont basées sur le nom de la couche dans la table des matière (layer_name), et non sur le nom du SHP ou son identifiant (layer_id).
    C'est bon, je n'ai pas à tout refaire !!!

  4. #4

    Date d'inscription
    août 2011
    Localisation
    Paris > Strasbourg
    Emploi
    Chargé de mission SIG
    Âge
    33
    Messages
    1 382

    Par défaut Re : [Gestionnaire de base de données] Enregistrement des requêtes SQL sur virtual la

    Ah oui, l'erreur classique : ne jamais renommer ou supprimer une couche servant à des couches virtuelles !

  5. #5

    Date d'inscription
    janvier 2005
    Localisation
    Mayenne (53)
    Âge
    37
    Messages
    762

    Par défaut Re : [Gestionnaire de base de données] Enregistrement des requêtes SQL sur virtual la

    ne jamais renommer ou supprimer une couche servant à des couches virtuelles !
    Je le copierai 50 fois !

  6. #6
    Modérateur
    Date d'inscription
    novembre 2012
    Localisation
    Angers
    Messages
    629

    Par défaut Re : [Gestionnaire de base de données] Enregistrement des requêtes SQL sur virtual la

    Bonjour,
    Du coup, les requêtes ne fonctionnaient plus, puisqu'elles sont basées sur le nom de la couche dans la table des matière (layer_name), et non sur le nom du SHP ou son identifiant (layer_id).
    N'est-ce pas là une limitation des couches virtuelles qui mériterait un signalement? Je veux dire, s'il y a quelque chose d'immuable sur la couche ce n'est surtout pas son layer_name que l'on peut modifier à tout moment pour le rendre plus lisible ou correspondre à une symbologie qu'on a faite ou ....
    Et comme c'est plus pratique d'utiliser ce layer_name pour construire la requête, il ne serait peut-être pas mal que QGIS utilise plutôt le layer_id en mémoire dans la requête (ou quelque part) et se charge de faire le remplacement/correspondance avec layer_name lorsqu'on veut consulter la requête. En gros la requête à l'écran serait décryptée, utilisant le layer_name tandis qu'en interne, ce serait le layer_id que QGIS utiliserait. De fait si on modifie le nom de la couche, il pourra toujours nous renvoyer la bonne requête.
    A moins que je n'ai pas tout saisi....
    "Les maisons sont proches pour qu'on puisse aller chercher du feu." Proverbe Moba
    Avant de poster, lire au moins une fois : De la bonne manière de poser les questions

  7. #7

    Date d'inscription
    août 2011
    Localisation
    Paris > Strasbourg
    Emploi
    Chargé de mission SIG
    Âge
    33
    Messages
    1 382

    Par défaut Re : [Gestionnaire de base de données] Enregistrement des requêtes SQL sur virtual la

    Ah mais c'est clair, juste que concernant les couches virtuelles, la team de développement a tendance à demander des financements ... ce que je comprends d'un côté mais de l'autre, au niveau français, l'organe (public / état) qui centraliserai les recueils d'idées et hiérarchiser les priorités / financements, n'est pas clair pour moi (pour moi j'ai identifié l'équipe derrière Geoinformations mais qui n'est pas très visible).

    Y a-t-il un point central qui permettrai de récolter des dons, regrouper les besoins d'utilisateurs et d'injecter ces financements (voir développements) dans le projet ?

    - Le groupe utilisateur français a-t-il cette vocation ? (je te pose la question non innocemment)
    - L'OSGéo FR ? (là encore)
    - Géoinformations ? Autre "unité" publique ?
    - Y a-t-il un manque ou la bonne pratique est de financer et les développeurs de QGIS sauront où mettre en priorité les fonds ?

    Si Le Docteur passe par ici, ça serait intéressant d'avoir un retour car de mémoire, il avait parlé d'un regroupement de plusieurs organismes (collectivités ?) qui ont financé un même projet (le plugin Cadastre ?).

    Aujourd'hui on voit des financements participatifs qui se lancent sur des extensions de QGIS, améliorations, refontes de l'interface qui fonctionnent très bien ...
    Alors en gros, est-ce que quelque part y a quelque chose que j'aurai loupé ou c'est à réfléchir / mettre en place ?

    (ça dévie beaucoup du post original donc je ne me vexerai nullement de retrouver ces posts dans une autre discussion si les échanges venaient à fructifier)

 

 

Discussions similaires

  1. [QGIS 2.x] Où se trouve le gestionnaire de bases de données (Gestionnaire BD ou DB Manager) ?
    Par SMPSS dans le forum Assistance et Programmation
    Réponses: 2
    Dernier message: 20/03/2017, 13h39
  2. Gestionnaire de données sur base cartographique consultable sur tablette et PC
    Par géopolo dans le forum Espace GPS et Solutions Nomades
    Réponses: 0
    Dernier message: 19/01/2015, 11h08
  3. [Emploi] MNHN : CDD Gestionnaire de données programme CARNET B
    Par MuseumParis dans le forum Formations / Stages / Emplois / Evènements
    Réponses: 0
    Dernier message: 07/01/2011, 14h59
  4. [TinyOws+OpenLayers] Enregistrement dans base de données
    Par Satare dans le forum Assistance et Programmation
    Réponses: 23
    Dernier message: 12/08/2010, 14h07
  5. [GPS] Exporter des données Virtual Earth vers son GPS ?
    Par gildas14 dans le forum Espace GPS et Solutions Nomades
    Réponses: 4
    Dernier message: 10/01/2010, 22h24

Les tags pour cette discussion

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •