pyforestry.base.timber_bucking package¶
Submodules¶
pyforestry.base.timber_bucking.bucker module¶
Base class for log bucking algorithms.
pyforestry.base.timber_bucking.nasberg_1985 module¶
- class pyforestry.base.timber_bucking.nasberg_1985.BuckingConfig(timber_price_factor: float = 1.0, pulp_price_factor: float = 1.0, use_downgrading: bool = False, save_sections: bool = False)[source]¶
Bases:
object
- pulp_price_factor: float = 1.0¶
- save_sections: bool = False¶
- timber_price_factor: float = 1.0¶
- use_downgrading: bool = False¶
- class pyforestry.base.timber_bucking.nasberg_1985.BuckingResult(species_group: str, total_value: float, top_proportion: float, dead_wood_proportion: float, high_stump_volume_proportion: float, high_stump_value_proportion: float, last_cut_relative_height: float, volume_per_quality: ~typing.List[float], timber_price_by_quality: ~typing.List[float], vol_fub_5cm: float, vol_sk_ub: float, DBH_cm: float, height_m: float, stump_height_m: float, diameter_stump_cm: float, taperDiams_cm: ~typing.List[float], taperHeights_m: ~typing.List[float], sections: ~typing.List[~pyforestry.base.timber_bucking.nasberg_1985.CrossCutSection] = <factory>)[source]¶
Bases:
Mapping
Encapsulates the output of the cross-cutting process.
- DBH_cm: float¶
- dead_wood_proportion: float¶
- diameter_stump_cm: float¶
- height_m: float¶
- high_stump_value_proportion: float¶
- high_stump_volume_proportion: float¶
- last_cut_relative_height: float¶
- sections: List[CrossCutSection]¶
- species_group: str¶
- stump_height_m: float¶
- taperDiams_cm: List[float]¶
- taperHeights_m: List[float]¶
- timber_price_by_quality: List[float]¶
- top_proportion: float¶
- total_value: float¶
- vol_fub_5cm: float¶
- vol_sk_ub: float¶
- volume_per_quality: List[float]¶
- class pyforestry.base.timber_bucking.nasberg_1985.CrossCutSection(start_point: int, end_point: int, volume: float, top_diameter: float, value: float, species_group: str, timber_proportion: float = 0.0, pulp_proportion: float = 0.0, cull_proportion: float = 0.0, fuelwood_proportion: float = 0.0, quality: QualityType = QualityType.Undefined)[source]¶
Bases:
object
Container for one log section in the final cutting solution.
- cull_proportion: float = 0.0¶
- end_point: int¶
- fuelwood_proportion: float = 0.0¶
- pulp_proportion: float = 0.0¶
- quality: QualityType = 0¶
- species_group: str¶
- start_point: int¶
- timber_proportion: float = 0.0¶
- top_diameter: float¶
- value: float¶
- volume: float¶
- class pyforestry.base.timber_bucking.nasberg_1985.Nasberg_1985_BranchBound(timber: Timber, pricelist: Pricelist, taper_class: Type[Taper] | None = None)[source]¶
Bases:
object
Vectorised version – interface identical to the earlier class.
- calculate_tree_value(*, min_diam_dead_wood: float, config: BuckingConfig = BuckingConfig(timber_price_factor=1.0, pulp_price_factor=1.0, use_downgrading=False, save_sections=False)) BuckingResult [source]¶
Module contents¶
- class pyforestry.base.timber_bucking.Nasberg_1985_BranchBound(timber: Timber, pricelist: Pricelist, taper_class: Type[Taper] | None = None)[source]¶
Bases:
object
Vectorised version – interface identical to the earlier class.
- calculate_tree_value(*, min_diam_dead_wood: float, config: BuckingConfig = BuckingConfig(timber_price_factor=1.0, pulp_price_factor=1.0, use_downgrading=False, save_sections=False)) BuckingResult [source]¶