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

Crash QGis après interrogation d'entités d'une couche "Parcelle" ou "Bati" #172

Open HydraTophe opened 5 years ago

HydraTophe commented 5 years ago

Description du bug

QGis crash à chaque fois que je cherche à interroger une couche "Parcelle" ou "Bati" dès lors qu'elles sont visibles à l'écran (soit en direct, soit via le clic droit). Le bug ne se produit (a priori) que sur les couches qui sont contenues dans une base SqLite et chargées depuis le plugin (si l'on réenregistre la couche au format .shp, je peux alors l'interroger normalement). Tests effectués avec et sans plugins actifs (et avoir réinstallé QGis)

Reproduire le bug

La procédure est la suivante :

  1. Création de la base de données SqLite avec le plugin Cadastre et import du premier jeu de données dans la base de données (récupéré sur le site Cadastre.gouv.fr)
  2. Chargement de toutes les couches contenues dans la base de données dans QGis à partir du plugin Cadastre
  3. En utilisant l’outil d’identification sur la couche "parcelle" (ou en faisant un clic droit) : cela fonctionne
  4. Suppression de toutes les couches cadastrales chargées
  5. Import d'un deuxième jeu de données dans la base de données SqLite
  6. Nouveau chargement de toutes les couches contenues dans la base de données dans QGis à partir du plugin Cadastre
  7. En utilisant l’outil d’identification des caractéristiques sur la couche "parcelle" (ou en faisant un clic droit) : QGis crash

Mes autres collègues ont aussi ce plantage sur des versions de QGis 2.18 ou 3.4, et pour certains, cela plantage dès le premier jeu de données.

Log

Ci-dessous le log du plugin Cadastre

Création de la base "TEST"

INITIALISATION
* Copie du répertoire C:\Users\christophe.miroslaw\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins\cadastre\scripts/plugin 
0 s 
STRUCTURATION BDD
Création des tables 
Création des tables edigeo 
Ajout de la nomenclature 
0 s 
EDIGEO
Type de base : spatialite, Connexion: test.sqlite, Schéma: 
* Décompression des fichiers 
1 s 
Suppression des contraintes 
- SUPPRESSION DES CONTRAINTES D'INTEGRITEES : DEBUT 
- suppression clefs primaires 
- SUPPRESSION DES CONTRAINTES D'INTEGRITEES : FIN 
1 s 
* Import des fichiers EDIGEO dans la base 
- Import des fichiers via ogr2ogr 
- Import des relations (*.vec) 
- 0 multipolygones mis à jours dans la base de données 
4 s 
Mise en forme des données 
- FORMATAGE DONNEES : DEBUT 
- Suppression des données du lot '1' 
4 s 
- index pour optimisation 
4 s 
- geo_commune: utilisation de max et non distinct on pour compatibilite sqlite 
4 s 
- geo_section 
4 s 
- geo_subdsect 
4 s 
- geo_parcelle 
4 s 
- Indexes sur geo_parcelle et geo_commune pour optimisation 
4 s 
- geo_subdfisc 
4 s 
- geo_subdfisc_parcelle 
4 s 
- geo_voiep 
4 s 
- geo_numvoie 
4 s 
- geo_numvoie_parcelle 
4 s 
- geo_lieudit 
4 s 
- geo_batiment 
4 s 
- geo_batiment_parcelle 
4 s 
- geo_zoncommuni 
4 s 
- geo_tronfluv 
4 s 
- geo_tronroute 
4 s 
- geo_sym 
4 s 
- geo_ptcanv 
4 s 
- geo_borne 
4 s 
- geo_borne_parcelle 
4 s 
- geo_croix 
4 s 
- geo_croix_parcelle 
4 s 
- geo_symblim 
4 s 
- geo_symblim_parcelle 
4 s 
- geo_tpoint 
4 s 
- geo_tpoint_commune 
4 s 
- geo_tline 
4 s 
- geo_tline_commune 
4 s 
- geo_tsurf 
4 s 
- geo_tsurf_commune 
4 s 
- suppression des index temporaires 
4 s 
- analyses 
4 s 
- FORMATAGE DONNEES : FIN 
4 s 
Placement des étiquettes 
4 s 
Création des indexes spatiaux 
- attributes 
4 s 
4 s 
Ajout des contraintes 
- CREATION DES CONTRAINTES D'INTEGRITEES : DEBUT 
- création clé primaire 
- création clé étrangère 
- CREATION DES CONTRAINTES D'INTEGRITEES : FIN 
4 s 
Ajout de la table parcelle_info 
5 s 
5 s 
FINALISATION
5 s 

Chargement de l'ensemble des données de la base "TEST"

0 s 
Chargement des tables : 
Filtrage à partir des communes, expression invalide : syntax error, unexpected $end 
* Communes 
* Tronçons de route 
* Voies, routes et chemins 
* Noms de voies 
* Secteurs 
* Subdivisions fiscales 
* Subdivisions fiscales (étiquette) 
* Bâti 
* Parcelles (étiquettes) 
* Lieux-dits 
* Lieux-dits (étiquettes) 
* Sections 
* Parcelles 
* Sections (étiquettes) 
* Bornes 
* Croix 
* Repères géodésiques 
* Murs, fossés, clotûres 
* Cours d'eau 
* Cours d'eau (étiquettes) 
* Tronçons de route (étiquettes) 
* Surfaces 
* Surfaces (étiquettes) 
* Objets ponctuels 
* Objets ponctuels (étiquettes) 
* Objets linéaires 
* Objets linéaires (étiquettes) 
* Numéros de voie 
* Établissements publics 
1 s 
Ajout des couches dans le registre de QGIS 
1 s 
Ajout des couches dans le groupe Cadastre 
1 s 
Zoom sur les couches 
1 s 
Mise à jour des outils cadastre 
1 s 

Recopier ci-dessous l'erreur Python de QGIS

remplacer par le contenu de la fenêtre d'erreur (copier coller le texte)

Environnement

jipi04 commented 5 years ago

Bonjour,

Nous rencontrons le même problème : Crash ID: c7cc71f4640cb334813599b694fe5fbb019e65e7

Stack Trace

QgsGeometryCollection::vertexAt : QgsMapToolIdentify::closestVertexAttributes : QgsMapToolIdentify::featureDerivedAttributes : QgsMapToolIdentify::identifyVectorLayer : QgsMapToolIdentify::identify : QgsMapToolIdentify::identify : QgsMapToolIdentifyAction::identifyFromGeometry : QMetaObject::activate : QgsMapToolSelect::qt_static_metacall : QgsMapToolSelect::setSelectionMode : QgsMapToolIdentifyAction::canvasReleaseEvent : QgsMapCanvas::mouseReleaseEvent : QWidget::event : QFrame::event : QGraphicsView::viewportEvent : QCoreApplicationPrivate::sendThroughObjectEventFilters : QApplicationPrivate::notify_helper : QApplication::notify : QgsApplication::notify : QCoreApplication::notifyInternal2 : QApplicationPrivate::sendMouseEvent : QSizePolicy::QSizePolicy : QSizePolicy::QSizePolicy : QApplicationPrivate::notify_helper : QApplication::notify : QgsApplication::notify : QCoreApplication::notifyInternal2 : QGuiApplicationPrivate::processMouseEvent : QWindowSystemInterface::sendWindowSystemEvents : QEventDispatcherWin32::processEvents : TranslateMessageEx : TranslateMessage : QEventDispatcherWin32::processEvents : qt_plugin_query_metadata : QEventLoop::exec : QCoreApplication::exec : main : BaseThreadInitThunk : RtlUserThreadStart :

QGIS Info QGIS Version: 3.4.6-Madeira QGIS code revision: cc0e375a9f Compiled against Qt: 5.11.2 Running against Qt: 5.11.2 Compiled against GDAL: 2.4.1 Running against GDAL: 2.4.1

System Info CPU Type: x86_64 Kernel Type: winnt Kernel Version: 6.1.7601 OS : Windows 7 Version de QGIS : 3.4.6 Version du plugin : 1.7

MaelREBOUX commented 3 years ago

Bonjour @jipi04 @HydraTophe

Rencontrez-vous toujours ce problème avec la dernière version 1.10.2 ?

jipi04 commented 3 years ago

Bonjour, Avec QGIS : 3.10.13 Plugin cadastre version 1.10.2 OS : windows 10 Il n'y a plus de crash, mais la sélection pointe toujours sur la même parcelle tout comme l'info bulle. Merci,