Constants API
The constants module provides lookup tables and mappings loaded from
the official BNG metric data files.
Habitat Mappings
- bngmetric.constants.HABITAT_TYPE_TO_ID: dict[str, int]
Maps habitat type names to unique integer IDs for JAX array indexing.
from bngmetric.constants import HABITAT_TYPE_TO_ID habitat_id = HABITAT_TYPE_TO_ID['Grassland - Lowland meadows']
Condition Mappings
Creation Multipliers
- bngmetric.constants.CREATION_MULTIPLIERS_MATRIX: jax.Array
2D JAX array of time-to-target years for habitat creation. Shape:
(n_habitats, n_conditions)NaN values indicate disallowed combinations.
Enhancement Multipliers
- bngmetric.constants.CONDITION_ENHANCEMENT_TEMPORAL: jax.Array
3D JAX array of years for condition enhancement. Shape:
(n_habitats, n_conditions, n_conditions)Index:[habitat_id, start_condition_id, target_condition_id]
Spatial Risk Multipliers
Level 2 Habitat Labels
Usage Example
from bngmetric.constants import (
HABITAT_TYPE_TO_ID,
CONDITION_CATEGORY_TO_ID,
CONDITION_MULTIPLIERS_MATRIX,
ID_TO_DISTINCTIVENESS_VALUE
)
# Get IDs
habitat_id = HABITAT_TYPE_TO_ID['Grassland - Lowland meadows']
condition_id = CONDITION_CATEGORY_TO_ID['Good']
# Look up values
distinctiveness = ID_TO_DISTINCTIVENESS_VALUE[habitat_id]
condition_multiplier = CONDITION_MULTIPLIERS_MATRIX[habitat_id, condition_id]
print(f"Distinctiveness: {distinctiveness}")
print(f"Condition multiplier: {condition_multiplier}")