Skip to content

MakeDefined(x, max(x)): nodata krijgt maximum i.p.v. minimum/neutraal in suitability-keten #595

Description

@jipclaassens

Probleem

Terugkerend patroon: nodata-cellen worden gevuld met het maximum, terwijl Descr's minimum/gemiddelde beloven:

  1. cfg/main/Templates/Suitabilities/Woningwaarde.dms:32:
    MakeDefined(Prijs_perWoning00, max(Prijs_perWoning00)) — Descr belooft "een minimum van de gemiddelde prijs … in Nederland", code vult nodata met de maximale prijs van heel NL → nodata-cellen worden kunstmatig topgeschikt voor wonen.
  2. cfg/main/BaseData/Suitabilities/Grondproductiekosten/T.dms:75:
    Kosten := MakeDefined(Kosten0, max(Kosten0)) — Descr: "Zorg dat negatieve kosten worden opgevangen door de minimum waarde" (exp() kan bovendien niet negatief zijn). Nodata krijgt maximale kosten.
  3. cfg/main/VariantData/Geschiktheden/Bouwkosten.dms:19:
    MakeDefined(BaseValues/<VSSH>, 1f) — buiten de landsdeel-polygonen vallen bouwkosten terug op ~1 €/m² i.p.v. ~1200 → daar vrijwel gratis bouwen in het saldo (raakt dezelfde randcellen als de IJburg-fallback).

Gevolg

De drie fallbacks trekken nodata-cellen in tegengestelde, willekeurige richtingen in het ExploitatieSaldo. Nodata hoort neutraal of uitsluitend te zijn, niet extreem.

Oplossing

Per geval kiezen: nodata → null laten (cel doet niet mee) of vullen met een neutrale waarde (regionaal gemiddelde/mediaan). Descr's in lijn brengen met de code.

Gevonden bij allocatie-audit 2026-07-02 (branch NL2120).

Metadata

Metadata

Assignees

Labels

GeneriekGenerieke issues belangrijk voor alle branches

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions