bluegreencity-ki

Tree Disc Cover Criterion

Overview

The tree_disc criterion evaluates the above-ground tree disc (Baumscheibe) condition based on the Wurzel Baumscheibenbedeckung attribute from the tree inventory. Permeable, vegetated surfaces allow rainwater infiltration and reduce drought stress, while sealed or compacted covers restrict water access to roots.

This criterion is distinct from:

Implementation

Location

How It Works

  1. Read mapping from config.yaml (STRICT mode — RuntimeError if missing)
  2. Read source column (tree_disc, mapped from Wurzel Baumscheibenbedeckung via column_mapping)
  3. Normalise raw values to lowercase/stripped for robust matching
  4. Map each category to a risk score via the configured mapping
  5. Fill missing values with neutral_score (default 0.5)

Scoring Logic

Category                                    →  Risk Score
──────────────────────────────────────────────────────────
bewachsen                                   →  0.1  (lowest risk)
Kies, Lavalith, Lecadan oder Rindenmulch    →  0.2
Baumscheibe unterpflanzt von Baumpaten      →  0.2
vegetationsfrei                             →  0.3
Baumrost - Holz                             →  0.5
Baumrost - Stahl                            →  0.5
Baumrost - Beton / Kunststein               →  0.6
Lochstein                                   →  0.65
Großpflaster mit breiten Fugen              →  0.7
wassergebundene Decke                       →  0.3
Pflasterbelag (Klinker, Platten, etc.)      →  0.85
undurchlässig (Asphalt, etc.)               →  0.9  (highest risk)
x andere Bedeckung, siehe Notiz             →  0.5  (neutral)
NaN / missing                               →  0.5  (neutral)

Scoring Rationale

The scoring follows a permeability gradient:

Data Availability

Configuration

Basic Configuration

criteria:
  - name: "tree_disc"
    weight: 0.004945          # calibrated value; see config/config.yaml
    params:
      mapping:
        "bewachsen": 0.1
        "kies, lavalith, lecadan oder rindenmulch": 0.2
        "baumscheibe unterpflanzt von baumpaten": 0.2
        "vegetationsfrei": 0.3
        "baumrost - holz": 0.5
        "baumrost - stahl": 0.5
        "baumrost - beton / kunststein": 0.6
        "lochstein": 0.65
        "großpflaster mit breiten fugen": 0.7
        "wassergebundene decke": 0.3
        "pflasterbelag (klinker, platten, etc.)": 0.85
        "undurchlässig (asphalt, etc.)": 0.9
        "x andere bedeckung, siehe notiz": 0.5
        "nan": 0.5
        "": 0.5

Column Mapping

The CSV column Wurzel Baumscheibenbedeckung is mapped to tree_disc via:

column_mapping:
  "Wurzel Baumscheibenbedeckung": "tree_disc"

Parameters

Parameter Type Required Description
mapping dict Yes Category → risk score mapping (STRICT: must be in config)

Data Source

Outputs

Column Type Description
tree_disc_risk float [0, 1] Risk score from tree disc cover category
tree_disc_value str Raw category label (extras)

Changelog