3liz / QgisCadastrePlugin

A QGIS plugin which helps users to import the french land registry ('cadastre') data into a database. It is meant to ease the use of the data in QGIS by providing search tools and appropriate layer symbology.
GNU General Public License v2.0
61 stars 41 forks source link

Onglet Résumé non renseigné #218

Closed EmyCCBE closed 4 years ago

EmyCCBE commented 4 years ago

Bonjour,

je suis sous Windows 10, avec un QGIS 3.4.11 et la version 1.8.0 du plugin. J'ai chargé dans un même import les données EDIGEO et les données Majic dans une base Postgres Postgis 9.6. Lorsque je clique avec l'outil 'Information parcelle' la fenêtre s'ouvre bien. Les onglets Propriétaires, Locaux, Section sont bien remplis. Par contre, l'onglet Résumé est vide. Il faut générer le relevé de propriété pour accéder aux informations normalement présentes dans la résumé comme numéro de parcelle ou de section. Ce problème se pose sur mon PC mais aussi sur l'ensemble des PC des utilisateurs qui chargent ces données. Ces utilisateurs disposent pour la plupart de PC sous Windows 7 mais travaille avec les mêmes versions QGIS/Plugin que moi. Les données chargées sont les données MAJIC EDIGEO 2018. Les données nécessaires pour renseignées cet onglet sont bien disponibles en base de données. Elles sont d'ailleurs accessibles dans QGIS par l'intermédiaire de l'outil 'Identifier les entités'.

Peut-il s'agir d'un problème de paramétrage à l'import ? Peut-il s'agir d'une incompatibilité entre la version du plugin et les données 2018 ?

Environnement

Merci par avance pour vos retours.

Emilie.

mdouchin commented 4 years ago

La requête effectuée pour récupérer les informations est la suivante, avec un jointure de type INNER JOIN entre la table parcelle (MAJIC) et la table geo_parcelle (EDIGEO)

Pouvez vous vérifier que dans ces 2 tables, les identifiants parcelle de la table parcelle et geo_parcelle de la table geo_parcelle coincident bien ?

SELECT

'<table class="table table-condensed table-striped" border=1 cellspacing=0 cellpadding=3>' ||
    '<tr><th>Code</th> <td>' || ccosec || dnupla || '</td></tr>' ||
    '<tr><th>Commune</th> <td>' || c.libcom || '</td></tr>' ||
    '<tr><th>Date de l''acte</th> <td>' || COALESCE(Cast(p.jdatat AS text), '') || '</td></tr>' ||
    '<tr><th>Surface cadastrale (contenance)</th> <td>' || p.dcntpa || ' m²</td></tr>' ||
    '<tr><th>Surface géographique</th> <td>' || round(ST_Area(gp.geom)) || ' m²</td></tr>' ||
    '<tr><th>Surface bâtie</th><td>' || coalesce(sum(round(ST_Area(b.geom))), 0) || ' m²</td></tr>' ||
    '<tr><th>Pourcentage du bâti</th><td>' || coalesce(round(100 * sum(ST_Area(b.geom)) / ST_Area(gp.geom)), 0) || '</td></tr>' ||

    '<tr><th>Adresse</th> <td>' ||
    CASE
            WHEN v.libvoi IS NOT NULL THEN trim(ltrim(p.dnvoiri, '0') || ' ' || trim(v.natvoi) || ' ' || v.libvoi)
            ELSE ltrim(p.cconvo, '0') || p.dvoilib
    END ||
    '</td></tr>' ||
    '<tr><th>Urbaine</th> <td>' ||
    CASE
            WHEN p.gurbpa = 'U' THEN 'Oui'
            ELSE 'Non'
    END ||
    '</td></tr>' ||
'</table>'

FROM parcelle p
INNER JOIN geo_parcelle gp ON p.parcelle = gp.geo_parcelle
LEFT OUTER JOIN geo_batiment b
    ON ST_Intersects(ST_Centroid(b.geom), gp.geom)
LEFT OUTER JOIN commune c
    ON p.ccocom = c.ccocom AND c.ccodep = p.ccodep
LEFT OUTER JOIN voie v
    ON v.voie = p.voie
WHERE 2>1
AND parcelle = '%s'
GROUP BY p.ccosec, p.dnupla, c.libcom, p.jdatat, p.dcntpa, gp.geom, v.libvoi, p.dnvoiri, v.natvoi, p.cconvo, p.dvoilib, p.gurbpa
LIMIT 1
mdouchin commented 4 years ago

Ou alors c'est dû à l'un des champs qui est NULL. Je vais utiliser concat pour éviter ces soucis

EmyCCBE commented 4 years ago

Bonjour, je relance le sujet. Après quelques investigations, il s'avère que, ayant réalisé l'intégration sans les fichiers fantoir, la table commune sur laquelle pointe le script n'a pas été peuplée. En revanche, si l'on fait pointer le code sur la table 'commune_majic', la requête fonctionne parfaitement. J'ai donc peuplé la table 'commune' sur la base des données de la table 'commune_majic'. Le problème est désormais résolu. Merci pour l'aide.