{"name": "PlanX Suitability Lab", "package_name": "planx_suitability_lab", "version": "1.7.0", "experimental": false, "qgis_min": "3.28.0", "qgis_max": "4.99.0", "downloads": 76, "uploaded_by": "geo140195philo", "upload_datetime": "2026-09-29T15:00:52.601805", "changelog": "## [1.7.0] - 2026-09-29\r\n\r\n### Fixed\r\n- **Constraint Builder produced an all-nodata mask on Windows.** It ran\r\n  gdal:rastercalculator with the formula `(A>=t)`; that command line goes\r\n  through a shell on Windows, `>` became a redirect, the calculation failed\r\n  and wrote its error into a stray file named `0.5)`, and the run reported\r\n  success with a mask that was nodata in every cell - so any map constrained\r\n  by it lost every cell. The mask is now computed with GDAL and numpy, and\r\n  `raster_calc` refuses formulas the Windows command line would mangle.\r\n- **Inputs beyond a tool's limit were dropped silently.** 18 algorithms sliced\r\n  their raster list (`[:6]`, `[:12]`...); extra criteria vanished from the\r\n  result. They now stop with the limit and the number given.\r\n- **AHP accepted non-reciprocal matrices** although its method requires\r\n  `a[i][j] = 1/a[j][i]`; a transposed judgement produced plausible but\r\n  meaningless weights and CR. Such matrices are now rejected (2% tolerance for\r\n  rounded fractions such as 0.3333).\r\n- **WLC, OWA, TOPSIS, VIKOR and Ensemble borrowed the first input's nodata**\r\n  for their float output; with a byte raster's nodata 0, real scores of 0 and\r\n  constraint-excluded cells became nodata. Outputs now use -9999.\r\n- The TOPSIS help described a 0-1 result for a 0-100 output; the Monte Carlo\r\n  help claimed to capture weight uncertainty, which it does not model.\r\n- Two GDAL-dependent test files were registered as pure-Python tests and\r\n  failed the release gate; they now run on both QGIS runtimes.\r\n\r\n### Added\r\n- **Uncertainty: One-at-a-Time Weight Sensitivity** (`weight_sensitivity_oat`,\r\n  69th algorithm). Each criterion weight is changed by +/-p% (default 20) with\r\n  the others rescaled proportionally; the WLC map is recomputed and a ranked\r\n  table reports mean and maximum absolute change and the share of cells\r\n  moving more than a threshold, with an optional map of where one weight\r\n  matters (Chen, Yu & Khan 2010). Reference manual section 4.2.\r\n- Suitability outputs (WLC, OWA, TOPSIS, VIKOR, Normalizer, Robust\r\n  Suitability) load with a fixed 0-100 colour ramp, and constraint masks with\r\n  Excluded/Allowed classes, for temporary and file outputs alike.", "external_deps": null, "download_url": "https://plugins.qgis.org/plugins/planx_suitability_lab/version/1.7.0/download/"}