Pages: 1
- Sujet précédent - QGIS 2.x: "Nettoyer" un shapefile (probablement issu de DXF) - Sujet suivant
#1 Fri 04 March 2016 16:54
- Evaan
- Participant actif
- Date d'inscription: 7 Oct 2010
- Messages: 63
QGIS 2.x: "Nettoyer" un shapefile (probablement issu de DXF)
Bonjour,
En ce moment, je rencontre assez régulièrement quelques problèmes avec certains shapefiles dans QGis (emprise ne correspondant pas à la réalité, entités préalablement supprimées réapparaissant à l'utilisation du plugin Table Manager... au détriment d'autres !, etc...). Il semblerait que cela vienne des shapefiles issus de fichiers DXF que j'ai convertis. Je pense en avoir découvert une partie d'explication : lorsque je supprime des entités dans une couche, il semblerait que celles-ci ne soient pas totalement effacées.
En effet, je constate plusieurs choses qui me font dire ceci. Par exemple, avec une couche dans laquelle j'ai supprimé toutes les entités avec QGis :
- Lorsque j'ajoute la couche dans un projet, et que je fais clic droit -> zoomer sur la couche, cela zoome sur l'emprise des anciennes données de la couche.
- Lorsque je fais clic-droit -> montrer le décompte des entités (QGis 2.14), cela me dénombre un certain nombre non nul d'entités, bien que la table soit totalement vide :
[img]http://image.noelshack.com/fichiers/2016/09/1457106037-1.png[/img]
[img]http://image.noelshack.com/fichiers/2016/09/1457106037-2.png[/img]
- Dans Windows, le poids des fichiers shp et/ou dbf semble anormal pour une couche vide :
[img]http://image.noelshack.com/fichiers/2016/09/1457106037-3.png[/img]
D'où la question qui m'amène ici : comment pourrai-je faire pour "nettoyer" correctement ces shapefiles ? Avez-vous une idée ? Ce comportement est très ennuyeux, surtout lorsque j'utilise Table Manager et qu'il transforme mes nouvelles entités en anciennes précédemment effacées...
En vous remerciant par avance et en vous souhaitant un bon weekend !
Hors ligne
#2 Fri 04 March 2016 19:36
Re: QGIS 2.x: "Nettoyer" un shapefile (probablement issu de DXF)
Bonjour,
Le bug est bien connu avec les versions de Qgis entre la 2.8 et 2.12 mais résolu avec la 2.14 (et l'utilisation de gdal 2, à confirmer?)
http://georezo.net/forum/viewtopic.php?id=99807
Hors ligne
#3 Mon 07 March 2016 10:20
- Evaan
- Participant actif
- Date d'inscription: 7 Oct 2010
- Messages: 63
Re: QGIS 2.x: "Nettoyer" un shapefile (probablement issu de DXF)
Bonjour, et merci pour le lien.
En effet, j'ai pourtant cherché avant de poster, mais ce bug est relativement difficile à décrire avec des mots clé, d'où le fait que je n'ai pas trouvé, sûrement...
Je suis bien en 2.14 et je l'étais lorsque j'ai posté ; ce matin encore, en faisant quelques tests, le bug persistait : en gros, je reprends une de mes couches incriminées dans un projet vierge, la couche est bien vide mais le décompte m'indique toujours un nombre d'entité non nul (n) ; je teste alors une édition et j'ajoute une entité. A l'enregistrement de la modification, l'entité que j'ai ajoutée disparait purement et simplement, mais une ancienne entité de la couche, qui existait avant sa suppression, réapparait, avec les attributs de ma nouvelle entité ; le décompte affiche quant à lui une entité de plus (n+1). Je supprime l'entité, le décompte repasse à n et les fichiers shp et dbf sont toujours anormalement lourds.
Cependant, le problème vient de se résoudre de lui-même avec un nouveau test pourtant similaire : encore une fois, j'ajoute une entité, j'enregistre, le décompte d'entité passe de n (non nul) à n+1 mais il n'y a pas de switch d'entité cette fois-ci. Je supprime l'entité, le décompte repasse miraculeusement à zéro et mes fichiers font bien à nouveau 1 Ko.
Entre temps, j'ai (entre autres) essayé de lancer un outil GDAL quelconque. Est-ce que cela aurait permis de mettre GDAL à jour et donc de corriger le bug ? Je ne sais pas trop. Mais voilà sans doute la manière de corriger ces shapefiles "corrompus" créés et enregistrées avec les versions précédentes de QGis.
Merci !
Hors ligne
#4 Mon 07 March 2016 19:27
Re: QGIS 2.x: "Nettoyer" un shapefile (probablement issu de DXF)
Bonjour,
Je pense que votre shp de base était corrompu. Il devait y avoir quelques objets dans votre .shp et aucun dans le .dbf. Vous avez sans doute supprimer l'ensemble des objets avec une version "bugué" de QGIS.
La solution est d'enregistrer la couche comme une nouvelle et de supprimer l'ancienne...
Hors ligne
#5 Thu 09 June 2016 15:05
- Evaan
- Participant actif
- Date d'inscription: 7 Oct 2010
- Messages: 63
Re: QGIS 2.x: "Nettoyer" un shapefile (probablement issu de DXF)
Bonjour,
Le problème serait-il (du moins en partie) de retour en 2.14.3 ? Je me retrouve à nouveau avec un shp avec un décompte d'entités différent entre la couche et le DBF... Avec des comportements un peu différents cette fois : pas de décalage d'entité a priori (je n'ai cependant pas pu tester avec Table Manager car le plugin semble ne plus fonctionner, impossible d'enregistrer les modifications apportées à la structure de la table – mais c'est un autre problème).
Mais je ne parviens plus à corriger le problème en reproduisant la manipulation que j'ai décrite au dessus (ajouter une entité puis la supprimer pour rectifier le décompte de géométries erroné). Au contraire, l'entité ajoutée s'ajoute au décompte de géométries à l'enregistrement, malgré sa suppression préalable.
J'ai fait le test avec plusieurs shp (pas corrompus de base pour le coup), et le problème est bien présent : les entités supprimées ne s'enlèvent pas du décompte des géométries...
Est-ce que d'autres ont constaté le retour de ce bug où est-ce un problème plus "local" ?
Merci.
Hors ligne
#6 Fri 10 June 2016 14:34
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3941
Re: QGIS 2.x: "Nettoyer" un shapefile (probablement issu de DXF)
Bonjour,
QGIS est passé en phase de tests intensifs et de correction de bugs donc stp, signale le problème aux développeurs directement afin que ce soit corrigé une bonne fois pour toutes (dans 2.14 et 2.16). La procédure est décrite ici (c'est encore mieux avec un jeu de données tests).
Merci
Hors ligne
#7 Fri 10 June 2016 16:15
- Evaan
- Participant actif
- Date d'inscription: 7 Oct 2010
- Messages: 63
Re: QGIS 2.x: "Nettoyer" un shapefile (probablement issu de DXF)
Bonjour,
Je veux bien, mais je tenais à m'assurer avant ce genre de démarche que le bug est bien constaté chez d'autres utilisateurs...
Aussi, je n'ai pas de compte OSGeo, et lorsque j'essaye d'en créer un, je bloque dès la première étape "Enter mantra". Je n'ai pas compris ce qu'il fallait mettre, j'ai essayé un pseudo, aucun résultat. J'ai essayé d'écrire bêtement "mantra" en pensant que ça pouvait être une sorte de captcha, mais aucun résultat non plus. Un troisième essai m'a carrément envoyé vers une "erreur de chargement de la page". J'avoue être perplexe...
Hors ligne
#8 Fri 10 June 2016 19:09
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3941
Re: QGIS 2.x: "Nettoyer" un shapefile (probablement issu de DXF)
Oui, l'inscription osgeo s'est récemment complexifiée et pour quelqu'un qui découvre l'environnement, je ne le trouve pas des plus clairs non plus.
Ceci dit, tu dois avoir reçu le mantra dans ta boîte perso maintenant.
En regardant de plus près, il faut en fait te connecter aux canaux irc indiqués sur la page (pas d'inscription nécessaire, je pense) et demander à avoir un mantra. Les administrateurs osgeo y sont présents et te le donnent.
Dernière modification par SANTANNA (Fri 10 June 2016 19:19)
Hors ligne
Pages: 1
- Sujet précédent - QGIS 2.x: "Nettoyer" un shapefile (probablement issu de DXF) - Sujet suivant