Skip to content

feat(gmd-plugin): add Check and Update workflow, batch Clip Project Layers tool, and submenu redesign - #102

Merged
pacoleslaw merged 1 commit into
mainfrom
duane
Jul 30, 2026
Merged

feat(gmd-plugin): add Check and Update workflow, batch Clip Project Layers tool, and submenu redesign#102
pacoleslaw merged 1 commit into
mainfrom
duane

Conversation

@velascojasper0

Copy link
Copy Markdown
Collaborator

Summary

Redesigns the Gemma menu structure, introduces the Check and Update boundary management dialog with a 3-step chronological audit/repair/UPSERT workflow, and adds 3 standalone Processing algorithms (Scan Geometry Errors, Repair Polygon Geometries, and Clip Project Layers by Extent) under the GMD Toolkits group.


Key Changes

1. Check and Update Boundary Dialog (check_and_update_dialog.py)

  • Georeferencing: Direct launcher for QGIS's built-in Georeferencer tool via QAction lookup.
  • Geometry Check & Repair (Chronological Workflow):
    • Step 1 (Scan): Scans polygon layer defects and populates an interactive QTableWidget table (FID, Layer, Error Type, Description, Auto-fixable status). Double-clicking any row zooms the QGIS map canvas directly to that error location point.
    • Step 2 (Repair): Reconstructs invalid polygon geometries using the multi-pass GMD repair engine. Multi-selecting table rows selectively repairs only highlighted features.
    • Step 3 (UPSERT): Merges clean repaired geometries back into the original dataset to produce a complete updated polygon layer (Updated_<layer_name>).
  • Updating Metadata: Structured placeholder interface for upcoming PSGC metadata tools.

2. GMD Toolkits Processing Algorithms

Registered under the GMD Toolkits (gmdtoolkits) Processing group:

  • clip_project_layers.py (clipprojectlayers): Batch clips multiple vector layers against a target administrative boundary polygon (e.g. EA or Barangay mask) with optional buffer margins and exports clean GeoPackages (*_clipped.gpkg).
  • scan_geometry_errors.py (scangeometryerrors): Audits polygon vector layers for Null, Empty, GEOS Invalid, Self-Intersections, Wrong Type, and Duplicates, outputting an Error Point Layer.
  • repair_geometry_errors.py (repairpolygongeometries): Reconstructs defective polygon geometries via line extraction, face polygonization, candidate face union, micro-spike grid snapping, and native QGIS fixgeometries.

3. Submenu Redesign & Icons

  • Reorganized menu actions under Gemma into 3 submenus: Updating of Boundaries, EA Delineation, and Others.
  • Added clean 2D vector SVG icons: clip_layers.svg, scan_errors.svg, and repair_geom.svg.

4. User Guide Documentation

  • Created user guides: check-and-update.md, clip-project-layers.md, scan-geometry-errors.md, and repair-polygon-geometries.md.
  • Updated getting-started.md and synced geometry-repair-toolkit.md.

Verification

  • Verified the 3-step Scan → Repair → UPSERT workflow in QGIS 3.x.
  • Verified interactive table multi-selection, map canvas zoom on double-click, and complete dataset output generation.
  • Verified batch vector clipping in Clip Project Layers by Extent against buffered mask boundaries.
  • Confirmed 0 Python compilation errors across all modified/created files.

@velascojasper0 velascojasper0 self-assigned this Jul 30, 2026
@velascojasper0 velascojasper0 added the enhancement New feature or request label Jul 30, 2026
@vercel

vercel Bot commented Jul 30, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
gemma-plugin Ready Ready Preview Jul 30, 2026 10:08am

@pacoleslaw
pacoleslaw merged commit 4d374f1 into main Jul 30, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants