opportunities

dataset

class LineEntity(name: str | None = None, optional: bool | None = None, exclude: Iterable[str] | None = None, override_exclude: Iterable[str] | None = None)

Bases: EntityGroup

length
missed_opportunity
opportunity
opportunity_taken_attribute: UniformAttribute
class OverlapEntity(name: str | None = None, optional: bool | None = None, exclude: Iterable[str] | None = None, override_exclude: Iterable[str] | None = None)

Bases: EntityGroup

connection_from_dataset
connection_from_id
connection_to_dataset
connection_to_id
overlap_active

model

class Model(model_config: dict)

Bases: TrackedModel

Implementation of the opportunities model Takes in a line entity and a overlap status dataset If input attribute A is on at the same time as the overlap is active, the opportunity was taken. If only the overlap was active, the opportunity was missed.

cost_per_meter: float | None
classmethod get_schema_attributes() Iterable[AttributeSpec]
initialize(state: TrackedState)
opportunity_entity: LineEntity | None
opportunity_taken_attribute: UniformAttribute | None
overlap_entity: OverlapEntity | None
parse_config(state: TrackedState, schema: AttributeSchema) None
setup(state: TrackedState, schema: AttributeSchema, **_)
total_length_attribute: UniformAttribute | None
update(state: TrackedState, moment: Moment)
update_opportunities()