Raster MCDA suitability lab for QGIS — AHP/PCA/Entropy weighting, WLC/OWA composition, Monte Carlo uncertainty, explainable analytics.
PlanX Suitability Lab is a production-ready raster MCDA plugin for QGIS, designed for land suitability studies with strong reproducibility, uncertainty tracking, and explainability.
- Core preparation:
data_harmonizer(batch CRS/extent/resolution alignment to output stack + manifest)vector_rasterizer(constant burn or field-driven rasterization)proximity_builder(target values, distance units, max distance)normalizer_reclassifier(min-max and fuzzy linear/sigmoid/gaussian)constraint_builder(hard 0/1 mask policy)synthetic_sample_raster,synthetic_pipeline_runner(optional sample data/workflow for onboarding)
- Weight engines:
ahp_weights(CR and CR acceptance flag)pca_derived_weights(sampled covariance PCA-based weights)entropy_weights(sampled entropy-information weights)critic_weights(objective CRITIC: contrast + inter-criterion conflict)weight_consolidator,scenario_weight_pack,weight_consensus_audit
- Compose engines:
wlc_suitability(chunk-aware weighted linear combination)owa_suitability(chunk-aware OWA with criteria + order weights)topsis_suitability(benefit/cost impacts + ideal/anti-ideal proximity)vikor_suitability(compromise MCDA balancing group utility and individual regret)ensemble_suitability(multi-scenario mean/std/p10/p90/confidence rasters)scenario_consensus_zone(cross-scenario consensus count and consensus-class zoning)scenario_disagreement_attention(conflict score/class map where scenarios diverge)decision_quadrant_map(suitability x disagreement 2x2 decision map)intervention_conflict_matrix(priority and conflict fused to execution classes)risk_opportunity_matrix_map(robust suitability x uncertainty strategy matrix)regret_fragility_map(cross-scenario regret spread score and fragility classes)opportunity_loss_map(detects high-suitability zones excluded by hard constraints)priority_zoning_from_suitability(action zoning from suitability/confidence/opportunity-loss)candidate_site_extractor(ranked candidate site polygons from contiguous high-suitability patches)uncertainty_adjusted_suitability(robust score from mean-std with risk aversion factor)scenario_comparator(delta raster + stats summary)
- Uncertainty:
montecarlo_suitabilitywith chunk processing and outputs:unc_mean,unc_std,unc_p05,unc_p50,unc_p95,stability_index
- Explainability:
xai_global_sensitivityxai_local_contributionxai_geoshapley_lite
- Reporting:
suitability_html_reportscenario_markdown_briefsuitability_class_area_statsscenario_similarity_matrixscenario_dominance_matrixmethod_benchmark_leaderboardscenario_robustness_leaderboardscenario_portfolio_diversityminimax_regret_selectorscenario_governance_auditalignment_auditpolicy_sensitivity_frontiercriterion_redundancy_diagnosticsconstraint_impact_auditpriority_transition_matrixspatial_fragmentation_auditconsensus_zone_area_statsattention_class_area_statsthreshold_coverage_curveexecutive_kpi_snapshotpolicy_gate_recommenderdecision_quadrant_area_statsintervention_conflict_area_statsrisk_opportunity_area_statsregret_fragility_area_statsactionability_scorecardscenario_selection_recommenderimplementation_wave_plannerdeployment_readiness_gateintervention_budget_phasingaction_playbook_generatorrelease_narrative_buildernumerical_qa_checkbeta_evidence_report(project evidence summary)
- Dashboard:
- production workflow pages: Overview, Workflow, Guided Flow, Modules, Quick Actions, Recent Runs, System Health
- module-card view with search/group filters
- persistent favorite-module star pinning and favorites-only filter
- workflow checklist and project-status copy helpers
- command guide opener
- command palette for fast module/action launch (
Ctrl+K) - optional sample workflow runner for onboarding
- live per-module
Ready/Missingregistry chips - recent-run log panel with timestamps
- in-toolbox help for all 68 algorithms (
shortHelpString+helpUrl) - redesigned visual theme and layout
- QGIS native + NumPy only (no mandatory external scientific stack)
- Hard-constraint policy:
- final suitability =
constraint_mask * score
- final suitability =
- Large-raster resilience:
- chunk-based processing in heavy modules (WLC/OWA/TOPSIS/VIKOR/Monte Carlo/comparator)
- Use aligned 0-100 criteria rasters for best MCDA behavior.
- For real projects, start with
data_harmonizerand continue from the dashboardGuided Flowtab. - Smart output naming: when an algorithm output is left as temporary, PlanX auto-generates readable file names in the pattern
<input>_<operation>_<timestamp>.tif. - Full command details are available in
docs/COMMAND_GUIDE.html.
This plugin is one of 15 open-source QGIS plugins for urban planning by the same author:
| Planning & analysis | CAD & production | 3D & visualization |
|---|---|---|
| PlanX — spatial-planning suite | PlanX CAD Toolset — drafting-grade CAD | PlanX 3D City — Three.js city viewer |
| GeoStats Lab — spatial statistics | EasyFillet — tangent-arc fillet | 3D OSM Model — OSM → 3D city in browser |
| Suitability Lab — raster MCDA | Settlement Toolset — 9-stage settlement plans | OSM Quick 3D — OSM → native QGIS 3D |
| DataCube Lab — spatiotemporal cubes | UIP Toolset — Turkish master-plan automation | Urban Procedural 3D — parametric zoning lab |
| Urban Resilience — 28 resilience tools | ParcelFlux — parcel subdivision | CartoLab — publication cartography |
GPL-3.0 © Yusuf Eminoğlu — bug reports and feature requests welcome in Issues.