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
60 stars 41 forks source link

Données texte dans champ 'dis' données EDIGEO #48

Closed auriea closed 9 years ago

auriea commented 9 years ago

La table temporaire subdsect_id contient le champ 'dis' en caractère ("Absent" a été renseigné pour certains enregistrements dans les données EDIGEO de cette commune). Cela provoque une erreur lors du remplissage de la table geo_subdsect et un arret de l'import des données via le plugin cadastre.

ERREUR: valeur « Ab » invalide pour « DD » DETAIL: La valeur doit être un entier

Requête : -- geo_subdsect INSERT INTO "test108".geo_subdsect (geo_subdsect, annee, object_rid, idu, geo_section, geo_qupl, geo_copl, eor, dedi, icl, dis, geo_inp, dred, creat_date, update_dat, geom, lot) SELECT '2013'||SUBSTRING(idu,1,10), '2013', object_rid, idu, '2013'||SUBSTRING(idu,1,8), qupl, copl, to_number(eor,'0000000000'), to_date(dedi, 'DD/MM/YYYY'), floor(icl), to_date(dis, 'DD/MM/YYYY'), inp, to_date(dred,'DD/MM/YYYY'), to_date(to_char(creat_date,'00000000'), 'YYYYMMDD'), to_date(to_char(update_date,'00000000'), 'YYYYMMDD'), ST_Multi(geom),'108' FROM "test108".subdsect_id

mdouchin commented 9 years ago

Pas évident de prendre cela en compte dans le plugin, sans ajouter des tests pour chaque colonne, qui risquent de coûter cher en performance. Est-ce normal qu'un champ cencé contenir une date contienne à la place le mot 'Absent' ? C'est toujours possible de faire un test via CASE WHEN, mais le faire pour toutes les colonnes de toutes les tables me semble peu approprié

Dans le pdf de la fiche descriptive du standard EDIGEO (page 72 pour la version 2013) il est écrit que ce champ correspond à la date d'incorporation PCI. Ce champ est facultatif, mais doit être au format JJ/MM/AAAA et de longueur 10

Il faudrait vérifier avec votre fournisseur de données, ou votre DGI pour voir si ce champ ne devrait pas plutôt être vide dans les fichiers texte EDIGEO.

auriea commented 9 years ago

Je comprends. Ce cas ne s'est présenté que sur une commune sur une quarantaine. Je vais contacter la DGI qui m'a fourni les données pour leur signaler. Merci

mdouchin commented 9 years ago

ok merci du retour