[general]
name=STAT GEOM QC
qgisMinimumVersion=3.16
qgisMaximumVersion=3.99
description=Quality control and geometric statistics for vector layers, with a correctness score and exportable report.
about=STAT GEOM QC analyses QGIS vector layers and detects quality issues: null or empty geometries, invalid geometries, self-intersections, overlaps/intersections between polygons, duplicates, small polygons (configurable m² threshold), duplicate or near-duplicate vertices (optional, with distance tolerance), holes in polygons (optional, with an area threshold so that large justified holes are kept) and multipart features. An "Autres" section adds optional shape checks: sliver polygons (width/length ratio on the oriented bounding box), sharp angles (spike vertices) and vertices that are too close together. Fully contained polygons can be accepted or reported as overlaps, at the user's choice. It computes a weighted correctness score (0-100), shows a modern summary (gauge, indicators, breakdown) and produces an exportable report (HTML/CSV/JSON). Built-in QGIS actions: select flagged features, create a point error layer locating each issue exactly (self-intersection nodes for invalid geometries, representative point otherwise), and selective geometry repair (checkboxes) that writes the result to a NEW file without modifying the source layer. Native PyQGIS port of the STAT GEOM application, with no external dependencies.
version=2.9.10
author=Adel Bchini
email=adel.bchini@gmail.com
tags=quality,quality control,qc,geometry,validation,topology,statistics,vector,correctness,duplicates,overlaps,intersection,vertex,sliver,holes,multipart
category=Vector
icon=icon.svg
experimental=False
deprecated=False
homepage=https://github.com/Bchini/stat-geom-qc
tracker=https://github.com/Bchini/stat-geom-qc/issues
repository=https://github.com/Bchini/stat-geom-qc
changelog=2.9.10
    Corrigé
    - Réparation : l'écriture du fichier échouait entièrement (« Erreurs d'écriture d'entité — UNIQUE constraint failed : ... fid ») lorsque la couche source possédait un attribut « fid » ou « ogc_fid » — le cas de toute couche GeoPackage — et que l'éclatement des multi-parties dupliquait cet identifiant. Aucun fichier exploitable n'était produit.
    - L'identifiant source est désormais conservé sous « fid_src » : le fichier écrit gère sa propre clé primaire, les valeurs d'origine restent lisibles pour remonter à l'entité source, et le bilan de réparation signale le renommage. Le nom de repli est rendu unique s'il est déjà utilisé par la couche.
    - Les contrôles facultatifs apparaissaient cochés à l'ouverture dès qu'ils avaient été utilisés une fois : leur activation était mémorisée avec les autres réglages. Trous, polygones entièrement inclus, vertex dupliqués et les trois contrôles Extras repartent maintenant décochés à chaque ouverture, et ne sont donc calculés que sur demande explicite. Les seuils et tolérances, eux, restent mémorisés.
    Amélioré
    - Seuil du trou « fautif » abaissé à 2 m² par défaut (au lieu de 10 m²) : au-dessous, un trou relève de la saisie ; au-dessus, il s'agit presque toujours d'un vide légitime. Le seuil reste réglable.
    - Un seuil resté à l'ancienne valeur par défaut est mis à jour une seule fois à l'ouverture ; un seuil saisi explicitement par l'utilisateur est conservé.
    - Chaque contrôle facultatif rappelle dans son infobulle qu'il repart décoché à l'ouverture.
    Technique
    - Tests de non-régression : écriture réelle d'un GeoPackage après éclatement des multi-parties, renommage des identifiants réservés, contrôles facultatifs jamais restaurés actifs, valeurs par défaut et migration des réglages. Aucun changement de comportement d'analyse.
