[general]
name=MCDA Suitability Lab
qgisMinimumVersion=3.28
qgisMaximumVersion=4.99
description=Land suitability analysis from start to finish: harmonize rasters, build criteria, weight them with AHP, PCA or entropy, combine with WLC, OWA or TOPSIS, then test uncertainty and explain the result.
version=1.7.9
author=Geophilo
email=yusuf.eminoglu@deu.edu.tr

about=MCDA Suitability Lab carries a raster multi-criteria analysis through every step a site-selection or land suitability study needs, and then documents the decision. It provides 69 Processing tools in six groups and a dashboard; because every step is a Processing tool, a whole study can be rebuilt in the Model Designer and rerun with new data.
    CORE: PREPARE THE CRITERIA (7): A data harmonizer that aligns extent, resolution and CRS, a vector rasterizer, a proximity builder for distance criteria, a normalizer and reclassifier, a constraint builder for 0/1 exclusion masks, and a synthetic sample pack with an end-to-end pipeline runner for teaching and testing.
    WEIGHTS (7): AHP pairwise comparison for up to 20 criteria with a consistency check, entropy, CRITIC and PCA-derived objective weights, a scenario weight pack that produces all of them at once, a weight consensus audit and a consolidator that merges weight sets.
    COMPOSE: BUILD THE SUITABILITY SURFACE (16): Weighted linear combination, ordered weighted averaging, TOPSIS and VIKOR; ensemble suitability with mean, uncertainty and confidence; uncertainty-adjusted suitability; candidate site extraction and priority zoning; decision-quadrant, risk-opportunity and opportunity-loss maps that show what each hard constraint costs; regret-fragility maps; and scenario comparison, consensus and disagreement layers that point to where alternative weightings agree and where they do not.
    UNCERTAINTY (2): Monte Carlo suitability and one-at-a-time weight sensitivity, showing which weights the answer depends on.
    EXPLAINABILITY (3): Local contribution decomposition, global sensitivity and a GeoShapley-style approximation, so reviewers can see why a cell scored high.
    REPORTING AND DECISION SUPPORT (34): Area statistics for every class and map type, raster alignment and numerical QA checks, criterion redundancy diagnostics, constraint impact and spatial fragmentation audits, threshold coverage curves, a method benchmark leaderboard, scenario dominance, similarity and robustness rankings, minimax-regret and scenario selection recommenders, a policy sensitivity frontier, implementation wave planning and budget phasing, an executive KPI snapshot, and HTML and Markdown reports, briefs and action playbooks.
    Manual: https://geophilo.com/planx_suitability_lab/manual.html

tracker=https://gitlab.com/geophilo1/planx_suitability_lab/-/issues
repository=https://gitlab.com/geophilo1/planx_suitability_lab
homepage=https://geophilo.com/planx_suitability_lab/

category=Processing
hasProcessingProvider=yes
tags=planx,processing,mcda,suitability,raster,ahp,pca,entropy,topsis,xai,montecarlo,site selection,owa,wlc,sensitivity,geophilo
icon=icons/icon.png

experimental=False
deprecated=False
license=GPL-3.0-or-later
changelog=
    1.7.9 - Hub listing text rewritten; author Geophilo; university affiliation removed; documentation links use the standard geophilo.com pages (manual.html, guide/); manual HTML no longer ships in the plugin package.
    PlanX Suitability Lab 1.7.6 - AHP criterion ceiling raised from 15 to 20, matched by the random consistency index table (Saaty for 1-15, Alonso and Lamata 2006 for 16-20 criteria). Matrices larger than the published table are now refused or flagged as not evaluable instead of receiving an approximated consistency ratio that could pass an inconsistent matrix off as consistent. The AHP Studio test suite is now registered in the release gate and runs on both QGIS runtimes. Hub security scan returned to clean: the dock rework had reintroduced two try/except/pass blocks (Bandit B110, which blocks a Hub version) and twelve ambiguous loop variables (Flake8 E741), both now fixed in code. Also ships the multi-format AHP chart export suite: 6 publication-grade chart types (Executive Summary infographic, priority ranking bars, multi-criteria radar profile, proportional donut, Saaty reciprocal matrix heatmap, Pareto 80/20 cumulative curve), configurable 300/600/150 DPI output, single-chart clipboard copy and one-click bundle export.
    PlanX Suitability Lab 1.7.4 - Converted entire plugin console and AHP Studio to right-docked architecture (QDockWidget): both tools dock seamlessly into QGIS RightDockWidgetArea with automatic tabified switching, fully movable, floatable, and resizable layout. Added a Choose Layers dialog for criterion selection (project rasters listed with likely criteria pre-checked, comma-separated custom entry when the project has none) and raised the studio criterion cap from 6 to 15 with the RI table extended to match.
    PlanX Suitability Lab 1.7.3 - Added the interactive AHP Studio with verbal pairwise comparison cards (Saaty 1-9 scale), real-time consistency ratio (CR) and eigenvalue diagnostics, live weight distribution bars, preset planning themes (Disaster/Growth), and direct WLC Suitability integration. Then resolved weight progress bar label overlapping via zero-churn dynamic cards, added publication-grade 300 DPI AHP Infographic export (PNG and OS Clipboard) for synthesis posters and reports, and refined Saaty matrix reciprocal view.
    PlanX Suitability Lab 1.7.1 - Vector Rasterizer can now build a 0/1 constraint mask on the analysis grid: new optional reference raster (extent, cell size and CRS taken from it, vector reprojected when needed), background value and treat-background-as-NoData inputs. Defaults keep the previous behaviour.
    PlanX Suitability Lab 1.7.0 - Fixed Constraint Builder producing an all-nodata mask on Windows, inputs beyond a tool's limit being dropped silently, AHP accepting non-reciprocal matrices and outputs losing real zero scores to nodata. Added One-at-a-Time Weight Sensitivity (69 algorithms) and colour-ramp styling for suitability outputs and masks.
    1.6.9 - Redesign plugin icon to high-end 3D tactile brand design with circular teal pedestal, zero margin, and refreshed documentation links.
    PlanX Suitability Lab 1.6.4 - Added the outcome-led Model Flow dashboard with Essential, Robust, and Scenario Comparison routes, persistent stage progress, and explicit final deliverables. Consolidated overlapping workflow tabs and removed obsolete guide/test actions from the production interface.
    PlanX Suitability Lab 1.6.3 - QGIS Hub review fixes: migrated all 296 QVariant field-type enums to QMetaType.Type (Qt6-ready, verified on QGIS 3.44 LTR and QGIS 4.2) and renamed ambiguous variables flagged by the Hub Flake8 panel (E741, 10 files). No functional change.
    PlanX Suitability Lab 1.6.2 - QGIS 4 / Qt6 readiness: scoped all 169 Qt5-style enum accesses across 63 algorithm files (QgsProcessing.SourceType.*, QgsProcessingParameterNumber.Type.*), verified on QGIS 3.44 LTR and QGIS 4. No functional change.
    PlanX Suitability Lab 1.6.1 - Security hardening: all remaining Bandit findings resolved in code (try/except-pass patterns rewritten with contextlib.suppress; no skip configuration left), so the Hub security scan passes with zero findings. Packaging hygiene: internal work-order files are always excluded from the Hub zip.
    PlanX Suitability Lab 1.6.0 - English-only conversion: removed bilingual EN/TR dashboard mode and all Turkish UI text. Added in-toolbox shortHelpString and helpUrl for all 68 algorithms. New pure-logic unit tests for weight derivation math (AHP/Entropy/PCA/CRITIC edge cases). Fixed single-criterion CRITIC and degenerate-covariance PCA edge cases in _mcda_utils. Dashboard catalog corrected to 68 entries (added missing weight_consolidator). Updated docs and command guide.
