#1 Mon 04 January 2016 16:11
- Hydrolithe
- Participant assidu
- Lieu: Lyon
- Date d'inscription: 21 Apr 2010
- Messages: 223
QGIS 2.12 : Nombre d'enregistrements Shapefile et DBF
Bonjour,
J'utilise la version 2.12 de Qgis depuis qu'elle est sortie et j'ai procédé aux mises à jour publiées à la suite de sa sortie (2.12.2 actuellement).
Je rencontre depuis quelques temps un souci lorsque je réalise des éditions de couches Shapefile.
Par exemple, je viens à l'instant de supprimer un objet et de modifier quelques données attributaires (rien d'extraordinaire) et j'enregistre ma couche. Lorsque j'affiche le décompte des entités via clic-droit -> Montrer le décompte des entités, j'ai un nombre à la suite du nom de la couche (ex [6000]). Lorsque j'affiche les données attributaires, j'ai tout en haut le nombre total d'objets (dans cet ex, 5999).
La couche s'affiche bien, il n'y a pas de problème de géométries. Mais ce n'est pas normal d'avoir une différence entre les deux.
Or, lorsque j'ouvre cette couche dans FME, j'obtiens le message d'erreur suivant :
Shape Reader: Shape file and DBF do not match. The DBF file seems to contain less records than the Shape file
La seule solution que j'ai trouvée pour l'instant est d'enregistrer ma couche sous un autre nom, puis d'écraser la couche initiale.
Le problème est que ce n'est pas vraiment normal et que l'enregistrement devrait fonctionner normalement. Cela me le fait quasiment à chaque fois que je fais des éditions dans Qgis.
Est-ce que vous avez déjà rencontré ce problème ? Je précise que je n'ai pas activé d'autres extensions que celles qui sont installées par défaut.
Si vous avez des idées pour résoudre ce problème, je suis preneur.
Pierre
Hors ligne
#2 Tue 05 January 2016 18:14
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3944
Re: QGIS 2.12 : Nombre d'enregistrements Shapefile et DBF
Salut,
Juste comme cela : une entité à géométrie vide (nulle)?Si t'as édité une de tes entités avec l'outil de nœud, tu as pu te retrouver avec une entité dépourvue de sa géométrie (mais dans ce cas, c'est la table attributaire qui devrait avoir plus de lignes -- j'écris en même temps que je réfléchis à la question ) - peut-être à checker avec une colonne de calcul $area, voire avec la nouvelle extension Core "Vérificateur de géométrie"?
Par contre, avec la solution d'écrasement de l'ancien fichier, essaie peut-être au préalable de sélectionner graphiquement ou via la table attributaire les entités et de ne sauvegarder que les entités sélectionnées. A moins que tu n'utilises déjà cette option...
Hors ligne
#3 Wed 06 January 2016 19:17
Re: QGIS 2.12 : Nombre d'enregistrements Shapefile et DBF
Bonjour,
Ca ressemble beaucoup à un bug de QGIS...
Celui ci :
http://georezo.net/forum/viewtopic.php?id=98462
Les attributs sont ils décalés?
Hors ligne
#4 Thu 07 January 2016 09:56
- Hydrolithe
- Participant assidu
- Lieu: Lyon
- Date d'inscription: 21 Apr 2010
- Messages: 223
Re: QGIS 2.12 : Nombre d'enregistrements Shapefile et DBF
Bonjour,
Pour répondre dans l'ordre, les géométries sont sans problèmes (vérification faite avec Qgis puis avec GeometryValidator de FME). Je n'ai pas utilisé l'outil "noeud".
En fait je me suis mal exprimé dans mon post, je n'écrase pas la couche, après avoir enregistré une copie de ma couche, je supprime la couche avec un décalage du nombre d'entités et je colle ensuite la couche nouvellement enregistrée (sous le même nom mais dans un dossier différent au départ).
Car je me suis rendu compte que lorsque je collais la couche nouvellement créée dans le dossier ou la couche à problème était, Windows me demandait si je voulais remplacer les données dans la destination. Ce que je faisais mais cela pouvait produire des données attributaires mélangées (DBF).
Ensuite, je n'ai pas remarqué de mélange de données attributaires dans mon cas, comme c'est évoqué dans le lien de Dof. Hormis dans le cas précisé ci-dessus où j'écrasais une couche existante et où il pouvait y avoir un mélange des données attributaires.
Je précise que j'ai essayé, lorsque je fais des éditions, de cliquer en premier sur la disquette pour enregistrer puis sur le crayon pour sortir de l'édition mais aussi de cliquer directement sur le crayon pour enregistrer mes modifications sur la fenêtre qui apparaît alors.
Hors ligne
#5 Thu 07 January 2016 11:19
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3944
Re: QGIS 2.12 : Nombre d'enregistrements Shapefile et DBF
Bonjour,
Car je me suis rendu compte que lorsque je collais la couche nouvellement créée dans le dossier ou la couche à problème était, Windows me demandait si je voulais remplacer les données dans la destination. Ce que je faisais mais cela pouvait produire des données attributaires mélangées (DBF).
Ca n'est pas normal comme comportement. en principe, si ton shp remplace l'ancien et que le dbf fait de même, il n'y a pas de raison d'avoir un quelconque nouveau mélange (à moins que le problème soit déjà dans la couche déplacée). C'est le fichier en lui-même qui est remplacé pas une quelconque version de son contenu.
En fait je me suis mal exprimé dans mon post, je n'écrase pas la couche, après avoir enregistré une copie de ma couche, je supprime la couche avec un décalage du nombre d'entités et je colle ensuite la couche nouvellement enregistrée (sous le même nom mais dans un dossier différent au départ).
En gros, tu supprimes la mauvaise et déplaces la nouvelle à la place. et cette couche déplacée te posera problème une fois que tu l'auras éditée aussi. c'est ça?
T'as essayé de faire l'export depuis QGIS (Clic droit > Enregistrer sous... shp) avec les entités sélectionnées depuis la table attributaire comme suggéré précédemment? En relisant ta description, c'est comme si t'avais une entité qui avait une géométrie mais pas d'attributs.
Que donne un style catégorisé sur la couche, avec le décompte activé?
Hors ligne
#6 Thu 07 January 2016 11:39
- J.San José
- Participant occasionnel
- Date d'inscription: 7 Sep 2015
- Messages: 14
Re: QGIS 2.12 : Nombre d'enregistrements Shapefile et DBF
Bonjour,
même soucis sur la version 2.8 à 2.12.
Quand je vois que ça commence à partir en live, je convertis mon shape (une ancienne version) en geojson, puis le reconverti en shape. Là, je peux recommencer à créer des polygones et modifier mes lignes. Mais le problème revient après quelques manip. Donc il faut sauvegarder souvent avant que ça ne "merde".
Hors ligne
#7 Thu 07 January 2016 12:39
Re: QGIS 2.12 : Nombre d'enregistrements Shapefile et DBF
Bonjour,
même soucis sur la version 2.8 à 2.12.
Quand je vois que ça commence à partir en live, je convertis mon shape (une ancienne version) en geojson, puis le reconverti en shape. Là, je peux recommencer à créer des polygones et modifier mes lignes. Mais le problème revient après quelques manip. Donc il faut sauvegarder souvent avant que ça ne "merde".
Personnellement, depuis ce(s?) bug des ponctuels avec les shp, je passe par spatialite qui est directement éditable avec Qgis.
Hors ligne
#8 Fri 08 January 2016 14:07
- Bruno Defrance
- Juste Inscrit !
- Lieu: Grenoble
- Date d'inscription: 27 Sep 2005
- Messages: 8
Re: QGIS 2.12 : Nombre d'enregistrements Shapefile et DBF
Bonjour,
même soucis sur la version 2.8 à 2.12.
Quand je vois que ça commence à partir en live, je convertis mon shape (une ancienne version) en geojson, puis le reconverti en shape. Là, je peux recommencer à créer des polygones et modifier mes lignes. Mais le problème revient après quelques manip. Donc il faut sauvegarder souvent avant que ça ne "merde".
Bonjour
Nous avons le même problème (ventilation de données lors d'une intégration des shp en base postgis via FME) et cette solution fonctionne.
Le truc étrange c'est que rien apparait avant le transfert en base, je veux dire par là que QGIS doit gérer son bug ... Ce qui est plus dangereux !
MERCI San José pour cette solution (rustine plutôt) !
Bruno
Administrateur PostGIS
SIT Grenoble-Alpes Métropole
Hors ligne
#9 Sun 10 January 2016 19:35
- Hydrolithe
- Participant assidu
- Lieu: Lyon
- Date d'inscription: 21 Apr 2010
- Messages: 223
Re: QGIS 2.12 : Nombre d'enregistrements Shapefile et DBF
Bonjour,
Ca n'est pas normal comme comportement. en principe, si ton shp remplace l'ancien et que le dbf fait de même, il n'y a pas de raison d'avoir un quelconque nouveau mélange (à moins que le problème soit déjà dans la couche déplacée). C'est le fichier en lui-même qui est remplacé pas une quelconque version de son contenu.
Oui Santanna, je suis bien d'accord avec toi mais je me suis retrouvé une fois avec les données attributaires mélangées suite à cette manipulation et depuis je supprime et colle ensuite.
En gros, tu supprimes la mauvaise et déplaces la nouvelle à la place. et cette couche déplacée te posera problème une fois que tu l'auras éditée aussi. c'est ça?
Oui je fais ça et ensuite le problème de différence entre les données du SHP et du DBF peut revenir.
T'as essayé de faire l'export depuis QGIS (Clic droit > Enregistrer sous... shp) avec les entités sélectionnées depuis la table attributaire comme suggéré précédemment?
Oui c'est comme ça que j'enregistre ma couche.
En relisant ta description, c'est comme si t'avais une entité qui avait une géométrie mais pas d'attributs.
Que donne un style catégorisé sur la couche, avec le décompte activé?
Un style catégorisé sur la couche avec décompte des entités donne le même chiffre que les données attributaires. C'est à dire que j'ai le nom de la couche dans la légende avec le nombre d'entités (6000) et dans la classe issue du style catégorisé j'ai 5999 entités.
Dernière modification par Hydrolithe (Sun 10 January 2016 19:36)
Hors ligne
#10 Mon 11 January 2016 09:07
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3944
Re: QGIS 2.12 : Nombre d'enregistrements Shapefile et DBF
Salut,
dans ton style catégorisé, as-tu conservé la ligne avec la valeur de classe nulle? Auquel cas, elle décompte 0 entité?
Hors ligne
#11 Mon 11 January 2016 09:42
- Hydrolithe
- Participant assidu
- Lieu: Lyon
- Date d'inscription: 21 Apr 2010
- Messages: 223
Re: QGIS 2.12 : Nombre d'enregistrements Shapefile et DBF
Salut,
dans ton style catégorisé, as-tu conservé la ligne avec la valeur de classe nulle? Auquel cas, elle décompte 0 entité?
Effectivement, j'ai bien une classe NULL qui comporte 0 objets et l'autre classe 5999 objets.
Hors ligne
#12 Mon 11 January 2016 14:49
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3944
Re: QGIS 2.12 : Nombre d'enregistrements Shapefile et DBF
Ok, Il n'y a visiblement pas d'attribut pour la 6000ème entité.
Dernière tentative : Sélectionner toutes les entités dans la table attributaire (je ne sais pas s'il faut utiliser le clic dans le coin qui sélectionne tout d'un seul coup ou si par prudence, tu ne devrais pas faire clic, sHIFT+clic voire encore cliquer et dérouler la table jusqu'en bas, bref, l'idée est de ne choper que les 5999 entités) et faire inverser la sélection puis zoomer dessus pour voir si on chope quelque chose.
Après, même si je ne vois plus d'autre piste à mon niveau, peut-être anonymiser le fichier et le partager afin qu'on y jette aussi un œil.
Mais quoi qu'il en soit, je pense qu'il ne faut pas taire ce genre de bugs qui compliquent la vie et corrompent les données et systématiquement les signaler aux développeurs. Il en va de l'amélioration et de la crédibilité du programme. Et là pour le coup, il y aura besoin de ton fichier, je pense.
Hors ligne
#13 Mon 11 January 2016 15:22
- Hydrolithe
- Participant assidu
- Lieu: Lyon
- Date d'inscription: 21 Apr 2010
- Messages: 223
Re: QGIS 2.12 : Nombre d'enregistrements Shapefile et DBF
Ok, Il n'y a visiblement pas d'attribut pour la 6000ème entité.
Dernière tentative : Sélectionner toutes les entités dans la table attributaire (je ne sais pas s'il faut utiliser le clic dans le coin qui sélectionne tout d'un seul coup ou si par prudence, tu ne devrais pas faire clic, sHIFT+clic voire encore cliquer et dérouler la table jusqu'en bas, bref, l'idée est de ne choper que les 5999 entités) et faire inverser la sélection puis zoomer dessus pour voir si on chope quelque chose.
J'ai essayé mais cela ne donne rien c'est-à-dire que je sélectionne mes entités depuis la fenêtre des données attributaires et lorsque j'inverse ma sélection, cela donne 0 entités sélectionnées.
Après, même si je ne vois plus d'autre piste à mon niveau, peut-être anonymiser le fichier et le partager afin qu'on y jette aussi un œil.
Mais quoi qu'il en soit, je pense qu'il ne faut pas taire ce genre de bugs qui compliquent la vie et corrompent les données et systématiquement les signaler aux développeurs. Il en va de l'amélioration et de la crédibilité du programme. Et là pour le coup, il y aura besoin de ton fichier, je pense.
Je joins ma couche si quelque'un veux y jeter un coup d'oeil. Je précise que pour l'anonymisation, j'ai déplacé les objets ce qui explique que lorsqu'on l'ouvre dans Qgis, l'emprise spatiale soit très grande. Je pense d'ailleurs que c'est dû aux entités qui existent encore dans le SHP mais plus dans le DBF.
Quand tu parles de signaler aux développeurs, tu parles bien de ce site : https://hub.qgis.org/projects/quantum-g … acker_id=1 ?
Merci de votre aide en tout cas.
Hors ligne
#14 Mon 11 January 2016 15:52
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3944
Re: QGIS 2.12 : Nombre d'enregistrements Shapefile et DBF
Quand tu parles de signaler aux développeurs, tu parles bien de ce site : https://hub.qgis.org/projects/quantum-g … acker_id=1 ?
Exact.
Hors ligne
#15 Mon 11 January 2016 16:58
Re: QGIS 2.12 : Nombre d'enregistrements Shapefile et DBF
Bonjour,
En faisant un "ogrinfo -ro -so -al points_erreurs.shp" il nous indique 456 enregistrements alors que le .dbf en a 450.
En faisant un "enregistrer sous" sur la couche ça corrige le problème (le .shp retrouve ses 450 objets). Les objets présents dans le .shp mais pas dans le .shp disparraissent (le fichier devient clean et perd une centaine d'octet).
A la suppression d'un objet, il est supprimé dans le .dbf mais pas dans le .shp. Pour la création d'un point, pas de problème, une ligne est ajouté au .shp ce qui me fait dire que ce n'est pas un problème de droit d'accès au fichier.
Ce qui est bizarre, c'est que Qgis gère cette "anomalie" et on n'observe pas de décalage...
Pouvez vous tester la création d'une nouvelle couche shape, ajouter de 4 points, puis de supprimer le 2eme point et de regarder dans le fichier .shp s'il se se réduit (en l'ouvrant avec notpad++, on devrait perdre une ligne).
Hors ligne
#16 Mon 11 January 2016 18:13
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3944
Re: QGIS 2.12 : Nombre d'enregistrements Shapefile et DBF
Quand dans la table attributaire, je calcule un champ avec $id, il commence par 0 et finit à 455 avec des lignes où le numéro saute.
Avec un fichier aussi bien pourri que celui-ci , les développeurs auront de quoi se mettre sous la dent. N'hésite pas à reporter ton problème. Et si besoin de guide, no problemo...
Hors ligne
#17 Mon 11 January 2016 19:30
Re: QGIS 2.12 : Nombre d'enregistrements Shapefile et DBF
Oui un fichier bien pourrit... Mais pour reproduire le bug, rien de compliqué, ce genre de fichier doit être assez courant du coup, si l'on utilise que Qgis pour les ouvrir, on ne se rend pas compte du problème...
Bref, pour le reproduire sur Windows 10 avec QGIS 2.12, je crée un shape avec 3 points. Jusqu'ici tout va bien...
Je supprime le point n°2. En apparence ça va encore...Le .dbf n'en a plus que 2 ligne, normal. Mais juste en apparence, car le .shp n'a pas bougé, on trouve encore les 3 lignes correspondant aux données d'avant la suppression (il ne devrait en rester que 2). Quant à Ogrinfo, il compte toujours 3 objets.
Code:
Geometry: Point Feature Count: 3
Le même problème revient avec la version 2.10 sur Windows. Par contre, avec Qgis 2.12 sur Ubuntu, pas de soucis.
Je joins le fichiers ainsi généré et je vais créer un issue pour ce problème
Hors ligne
#18 Tue 12 January 2016 09:04
- Hydrolithe
- Participant assidu
- Lieu: Lyon
- Date d'inscription: 21 Apr 2010
- Messages: 223
Re: QGIS 2.12 : Nombre d'enregistrements Shapefile et DBF
J'ai fait le même test comme demandé et cela aboutit au même constat.
J'ai déjà eu le problème avec une couche de polylignes et je viens de tester avec des polygones et le problème apparaît également.
Tu as raison de dire que si on utilise que Qgis, le problème est assez "transparent" (sauf à comparer le décompte des entités et le nombre d'enregistrements dans la table attributaire).
Merci pour vos conseils et tests.
Hors ligne
#19 Tue 12 January 2016 09:12
Re: QGIS 2.12 : Nombre d'enregistrements Shapefile et DBF
Il semblerait que le problème ne soit pas nouveau...
http://hub.qgis.org/issues/11007
Apparement, c'est GDAL le coupable.
Sur le message #79 du post il indique que ça fonctionne sur la version 2.8.4. J'ai testé la 2.8.5 et le problème est toujours là...
Idem avec la version 2.12 et Gdal 2.0. (http://www.geoinformations.developpemen … a2747.html)
Il semblerait que ce problème soit egalement présent sur linux, mais sur Ubuntu et la version 2.12 avec Gdal 1.10.1 je n'ai pas eu ce bug. Il faudrait peut être essayer cette version sous windows.
Hors ligne
#20 Tue 12 January 2016 09:57
- Hydrolithe
- Participant assidu
- Lieu: Lyon
- Date d'inscription: 21 Apr 2010
- Messages: 223
Re: QGIS 2.12 : Nombre d'enregistrements Shapefile et DBF
Je viens de tester sur Ubuntu avec Qgis 2.8 (la première version de Qgis 2.8, je ne me rappelle plus si c'est 2.8.0 ou 2.8.1) et j'ai reproduit le bug.
Par contre en mettant à jour la version 2.8 vers Qgis 2.12.1 sur Ubuntu je n'ai pas reproduit le bug.
Hors ligne
#22 Tue 12 January 2016 13:38
- Hydrolithe
- Participant assidu
- Lieu: Lyon
- Date d'inscription: 21 Apr 2010
- Messages: 223
Re: QGIS 2.12 : Nombre d'enregistrements Shapefile et DBF
La version de Gdal pour Qgis 2.12.1 sur Ubuntu est la 1.11.2
Par contre j'ai mis à jour Qgis donc je n'ai plus accès à la 2.8 pour voir quelle est la version de Gdal.
Hors ligne
#23 Fri 15 January 2016 11:26
- Hydrolithe
- Participant assidu
- Lieu: Lyon
- Date d'inscription: 21 Apr 2010
- Messages: 223
Re: QGIS 2.12 : Nombre d'enregistrements Shapefile et DBF
@Dof et @SANTANNA
Pensez-vous que ça ait un intérêt de rajouter un message sur le hub Qgis, dans l'issue 11007 sachant que les messages précédents dans cette issue résument bien le problème rencontré ?
Mais je n'ai pas l'impression que le problème soit pris en main par un ou plusieurs développeurs (pas d'échéance fixée, pas de version cible...)
Hors ligne
#24 Fri 15 January 2016 14:42
Re: QGIS 2.12 : Nombre d'enregistrements Shapefile et DBF
Bonjour,
Nop, j'ai ouvert une issue détaillé avec des exemple, mais elle a été férmée dans la minute pour cause de duplication.
J'avoue que ça n'a pas l'air de froisser grand monde... En même temps, si ça vient de GDAL je ne sais pas si la communauté QGIS peut vraiment faire avancer les choses.
Encore faut il être sur que le problème vienne de là...
Hors ligne
#25 Fri 15 January 2016 15:19
- Hydrolithe
- Participant assidu
- Lieu: Lyon
- Date d'inscription: 21 Apr 2010
- Messages: 223
Re: QGIS 2.12 : Nombre d'enregistrements Shapefile et DBF
J'avoue que ça n'a pas l'air de froisser grand monde... En même temps, si ça vient de GDAL je ne sais pas si la communauté QGIS peut vraiment faire avancer les choses.
Je suis bien d'accord avec toi. C'est d'autant plus gênant que cela me paraît être une fonctionnalité assez essentielle d'un logiciel de SIG. Si Qgis n'est pas capable d'assurer l'intégrité des données éditées, cela pose question (que cela vienne de Qgis, de Gdal ou d'un autre module).
C'est bien de sortir des nouvelles fonctionnalités par dizaines à chaque nouvelle version mais la fiabilité des fonctions existantes est, selon moi, tout aussi importante voire plus. Et encore plus quand on l'utilise dans un milieu professionnel.
Je suivrai avec attention l'évolution de l'issue.
Merci pour le post de l'issue (même s'ils l'ont fermé rapidement) et pour le suivi.
Dernière modification par Hydrolithe (Fri 15 January 2016 15:20)
Hors ligne
#26 Tue 19 January 2016 20:53
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3944
Re: QGIS 2.12 : Nombre d'enregistrements Shapefile et DBF
Bonsoir,
Parfaitement d'accord avec vous. Et même si c'est dans GDAL, vu l'ampleur du truc, rien n'empêche de détacher un développeur pour corriger cela; il en va de la crédibilité du programme.
Et pour la petite nouvelle pas si petite que ça, quelqu'un vient de mettre le problème sur la place publique (http://lists.osgeo.org/pipermail/qgis-u … 34994.html). C'est l'occasion d'y mettre votre grain de sel et faire monter la mayonnaise pour que du crédit soit attribué à ce bug...
Hors ligne
#27 Fri 22 January 2016 09:10
- Hydrolithe
- Participant assidu
- Lieu: Lyon
- Date d'inscription: 21 Apr 2010
- Messages: 223
Re: QGIS 2.12 : Nombre d'enregistrements Shapefile et DBF
Bonjour,
Pour le suivi du problème, il "semble" que le souci sera réglé dans la prochaine version :
I just received a confirmation that Marco is working on a fix for this
issue and targets the 2.14 release.
GDAL 2.0 would still be nice to also have the geometry issue fixed
--
Matthias Kuhn
OPENGIS.ch - https://www.opengis.ch
Source : https://lists.osgeo.org/pipermail/qgis- … 35018.html
Il ne reste plus qu'à patienter jusqu'à la prochaine version et à surveiller lorsqu'on fait des éditions.
Hors ligne
#28 Fri 22 January 2016 11:10
Re: QGIS 2.12 : Nombre d'enregistrements Shapefile et DBF
Voilà une bonne nouvelle!
Plus qu'a patienter un peu plus d'un mois
https://www.qgis.org/fr/site/getinvolve … e-schedule
Hors ligne
#29 Mon 25 January 2016 09:22
- ajanvre
- Participant occasionnel
- Lieu: Bayonne
- Date d'inscription: 19 Jan 2007
- Messages: 11
Re: QGIS 2.12 : Nombre d'enregistrements Shapefile et DBF
https://hub.qgis.org/issues/11007#note-81
Perso le problème est corrigé avec la version de développement ! Enfin, depuis le temps !
Hors ligne