## [2.2.0] - 2026-06-11
Plan Standards & QA release: three new tools in a new group — 17
algorithms
total.
### Added
- **Land-Use Balance (Per-Capita Standards)**: the classic balance
table —
area and m² per capita per category, required area from
*configurable*
per-capita standards ("green=10, education=4"...), surplus/deficit
and
status. Standards are free text, never hard-coded regulation values;
keywords match category names by containment.
- **Facility Adequacy (Capacity + Distance)**: one multi-source
network
pass assigns population to its nearest facility within a catchment
cost,
then compares assigned load with capacity — outputs facility
utilization
(Adequate / Overloaded / Unused) and covered/uncovered demand, with
the
covered-population share in the log.
- **Density Grid**: distributes any numeric value (population,
dwellings,
GFA) from polygons or points onto a regular grid by area share
(simple
dasymetric disaggregation) and reports density per hectare.
- `engine/standards.py`: standards parser, category matcher and
balance
computation (pure Python, unit-tested).
- Tests: engine suite 69 → 77 checks; e2e harness 56 → 70 assertions,
all
verified on QGIS 3.44 LTR and QGIS 4.0.2.
## [2.1.0] - 2026-06-11
Microclimate (UMEP-lite) release: three new tools in a new
"Microclimate"
group, all on the embedded engine — 14 algorithms total.
### Added
- **Shadow Casting (DSM)**: cast shadows for any date and local time
with an
embedded NOAA solar-position model (sun altitude/azimuth computed at
the
raster center); UMEP-style iterative DSM sweep; byte raster output
(1 = shadow), batch-friendly for shadow-duration maps.
- **Sky View Factor (DSM)**: hemispheric SVF per cell from N-direction
horizon scans (SVF = 1 - mean sin² horizon; flat = 1, foot of a long
wall ≈ 0.5); configurable directions and search radius.
- **Frontal Area Index**: λf (wind-facing facade area / cell area) and
λp
(plan area ratio) on a grid, building frontal areas distributed by
footprint overlap (Grimmond & Oke roughness indicators).
- `engine/solar.py`: solar position (NOAA simplified), shadow
ray-march,
SVF horizon scan, projected footprint width — pure NumPy, no qgis
imports.
- Tests: engine suite 52 → 69 checks (solstice/equinox sun positions,
closed-form shadow lengths, SVF flat/wall values, projected widths);
e2e harness 43 → 56 assertions (synthetic DSM tower) on QGIS 3 LTR +
4.
yes
geo140195philo
2026-06-11T05:52:26.020613+00:00
3.22.0
4.99.0
None
no
Plugin Tags