Financial Data Classes
Data models for the financial elements of the tool.
ActivityNpv
dataclass
Mapping of the NPV parameters to the corresponding Activity model.
activity_id
property
Gets the identifier of the activity model.
Returns:
Type | Description |
---|---|
str
|
The unique identifier of the activity model else an empty string if no activity has been set. |
ActivityNpvCollection
dataclass
ActivityNpvCollection(minimum_value, maximum_value, use_computed=True, remove_existing=False, mappings=list())
Collection for all ActivityNpvMapping configurations that have been specified by the user.
activity_npv
Gets the mapping of an activity's NPV mapping if defined.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
activity_identifier |
str
|
Unique identifier of an activity whose NPV mapping is to be retrieved. |
required |
Returns:
Type | Description |
---|---|
ActivityNpv
|
The activity's NPV mapping else None if not found. |
Source code in src/cplus_plugin/models/financial.py
normalize_npvs
Normalize the NPV values of the activities using the specified normalization range.
If the absolute NPV values are less than or greater than the
normalization range, then they will be truncated to 0.0 and 1.0
respectively. To avoid such a situation from occurring, it is recommended
to make sure that the ranges are synchronized using the latest absolute
NPV values hence call update_computed_normalization_range
before
normalizing the NPVs.
If there is only one NPV mapping, then assign a normalized value of 1.0.
Returns:
Type | Description |
---|---|
bool
|
True if the NPVs were successfully normalized else False due to various reasons such as if the minimum value is greater than the maximum value, if the min/max values are the same, or if there are no NPV mappings. |
Source code in src/cplus_plugin/models/financial.py
update_computed_normalization_range
Update the minimum and maximum normalization values based on the absolute values of the existing ActivityNpv objects.
Values for disabled activity NPVs will be excluded from the computation.
Returns:
Type | Description |
---|---|
bool
|
True if the min/max values were updated else False if there are no mappings or valid absolute NPV values defined. |
Source code in src/cplus_plugin/models/financial.py
ActivityNpvPwl
dataclass
Convenience class that contains parameters for creating a PWL raster layer.