raplan_rws
¶
Bundelingstool voor onderhoudsmaatregelen op basis van RaPlan voor Rijkswaterstaat.
gelijkenis
¶
Aanzet tot een gelijkenisanalyse voor POEMA maatregelen.
gelijkenisanalyse
¶
gelijkenisanalyse(
project: Project | RwsProject,
horizon: Horizon | None = None,
) -> SimilarityAnalysis
Bouw een gelijkenisanalyse-object van een RaPlan of RWS project.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
project
|
Project | RwsProject
|
RaPlan |
required |
horizon
|
Horizon | None
|
Horizon om op te filteren (optioneel). Filtert maatregelen uit de procedures als hun tijd buiten de horizon-grenzen valt. |
None
|
Returns:
| Type | Description |
|---|---|
SimilarityAnalysis
|
RaGraph |
Source code in src/raplan_rws/gelijkenis.py
model
¶
Modelinstellingen voor het RWS project die worden vertaald naar instellingen voor de Mixed-Integer Linear Programming (MILP) solver in RaPlan.
IngreepInstellingen
¶
Instellingen voor het schuiven van ingrepen in de tijd. Besparingsbijdragen zijn <0, kosten >0.
Attributes:
| Name | Type | Description |
|---|---|---|
jaar_zelfde_complex |
int | float
|
Doelfunctiebijdrage voor het uitvoeren van gebundelde
werkzaamheden aan hetzelfde complex. Factor maal de opgetelde kosten van de ingreep.
Staat standaard op |
verbied_zelfde_complex |
bool
|
Of ingrepen aan hetzelfde complex moeten worden verboden.
Geeft een grote kans dat het model niet kan worden opgelost. Staat standaard op |
specifieke_combis |
dict[frozenset[UUID], int | float]
|
Set van frozensets van paren van UUIDs van ingrepen die een specifieke score moeten krijgen als ze samenvallen in hetzelfde tijdslot. |
uitgesloten_combis |
set[frozenset[UUID]]
|
Set van frozensets van paren UUIDs van ingrepen die niet samen mogen voorkomen. |
dynamische_combi
¶
dynamische_combi(
ingrepen: dict[UUID, Procedure],
maintenance_naar_geplande_maatregel: dict[
UUID, GeplandeMaatregel
],
) -> Callable[[frozenset[UUID]], int | float | None]
Maak een dynamische combi-functie voor het belonen/straffen van samenvallende ingrepen op basis van deze instellingen en het project.
Source code in src/raplan_rws/model.py
dynamische_uitsluiting
¶
dynamische_uitsluiting(
ingrepen: dict[UUID, Procedure],
maintenance_naar_geplande_maatregel: dict[
UUID, GeplandeMaatregel
],
) -> Callable[[frozenset[UUID]], bool]
Maak een dynamische uitsluitfunctie voor ingrepen op basis van deze instellingen en het project.
Source code in src/raplan_rws/model.py
maak_kopie
¶
maak_kopie() -> IngreepInstellingen
MaatregelSynchronisatie
¶
Instellingen voor het bundelen van maatregelen w.b. doelfunctie-bijdragen en randvoorwaarden. Bijdragen <0 zijn beloningen, >0 zijn kosten.
Attributes:
| Name | Type | Description |
|---|---|---|
forceer_gelijk_starten |
bool
|
Stel dat maatregelen geforceerd gelijktijdig moeten beginnen en
niet deels mogen overlappen in een ingreep. Standaard op |
verbied_duplicatie |
bool
|
Geeft aan dat een taak met dezelfde omschrijving op hetzelfde object en
element-bouwdeel nooit op hetzelfde moment mag worden gepland. Staat standaard op
|
jaar_samenvallen |
int | float
|
Doelfunctiebijdrage van het samenvallen van taken in de meest generiek
zin. Dit getal wordt vermenigvuldigd met N-1 taken die samenvallen. Standaard op |
zelfde_discipline |
int | float
|
Doelfunctiebijdrage bij het samenvallen van eenzelfde
discipline (ongeacht welke) gedurende ƩƩn jaar en opzichte van de som van de raming van
beide taken. Standaard op |
discipline_combis |
dict[frozenset[Discipline], int | float]
|
Doelfunctiebijdrage voor specifieke combinaties van
disciplines gedurende ƩƩn jaar tussen twee maatregelen. De beste bijdrage tussen de
"zelfde discipline" en deze wordt gebruikt in het model. Standaard op |
specifieke_combis |
dict[frozenset[UUID], int | float]
|
Set van frozensets van paren van UUIDs van maatregelen die een specifieke score moeten krijgen als ze samenvallen. |
uitgesloten_combis |
set[frozenset[UUID]]
|
Set van frozensets van paren UUIDs van maatregelen die niet samen mogen voorkomen. |
dynamische_combi
¶
dynamische_combi(
maintenance_naar_geplande_maatregel: dict[
UUID, GeplandeMaatregel
],
) -> Callable[[frozenset[UUID]], int | float | None]
Maak een dynamische maatregel-combinatie beloningsfunctie op basis van deze instellingen en het project.
Source code in src/raplan_rws/model.py
dynamische_uitsluiting
¶
dynamische_uitsluiting(
maintenance_naar_geplande_maatregel: dict[
UUID, GeplandeMaatregel
],
) -> Callable[[frozenset[UUID]], bool]
Maak een dynamische uitsluitfunctie op basis van deze instellingen en het project.
Source code in src/raplan_rws/model.py
maak_kopie
¶
maak_kopie() -> MaatregelSynchronisatie
MaatregelVerschuiving
¶
Doelfunctie instellingen voor het verschuiven van een maatregel in de tijd.
Attributes:
| Name | Type | Description |
|---|---|---|
gratis_naar_voren |
bool
|
Naar voren halen wordt gratis. Standaard op |
vaste_factor |
int | float | tuple[int | float, int | float]
|
Vaste verschuivingskosten of het nu een jaar naar voor of achter is.
Standaard op |
kosten_per_jaar_factor |
int | float | tuple[int | float, int | float]
|
Hoe zwaar de maatregelkosten per jaar van de herhalingsperiode moet
worden meegenomen. Standaard op |
frequentie_factor |
int | float | tuple[int | float, int | float]
|
Hoe zwaar puur de frequentie (zonder kosten) moet worden meegenomen.
Standaard op |
specifiek |
dict[UUID, int | float | tuple[int | float, int | float]]
|
Dictionary van maintenance UUID naar specifieke score per tijdseenheid naar voren en naar achter (als tuple) of uniform (ƩƩn getal). |
Note
De niet-specifieke kostenfactoren worden vermenigvuldigd met de absolute waarde van de delta. Het is mogelijk om een verschil aan te brengen door een tuple op te geven in de vorm van de wegingen (naar_voor, naar_achter) voor de verschillende factoren.
dynamische_functie
¶
dynamische_functie(
maintenance_naar_geplande_maatregel: dict[
UUID, GeplandeMaatregel
],
) -> Callable[[UUID, float], int | float | None]
Maak een dynamische verschuivingsfunctie op basis van de instellingen en het project.
Source code in src/raplan_rws/model.py
maak_kopie
¶
maak_kopie() -> MaatregelVerschuiving
ModelInstellingen
¶
Instellingen voor het bundelen van maatregelen.
Attributes:
| Name | Type | Description |
|---|---|---|
maatregel_verschuiving |
MaatregelVerschuiving
|
Instellingen voor verschuivingskosten van een maatregel. |
maatregel_synchronisatie |
MaatregelSynchronisatie
|
Instellingen voor de onderlinge afstemming van maatregelen. |
ingreep_instellingen |
IngreepInstellingen
|
Instellingen voor het onderlinge afstemmen van ingrepen. |
tijdsduur_naar_jaar |
int | float
|
Omrekenfactor van de tijdsduur van maatregelen naar hele
jaren zodat tijdsduur*factor == jaren. Staat standaard op |
segmenten_per_jaar |
int
|
Aantal segmenten om ieder jaar in op te delen. Voor een planning
op jaarniveau mag deze op 1 blijven staan. Staat standaard op |
score_precisie |
int | float
|
Nauwkeurigheid waarop de doelfunctie moet worden berekend.
Staat standaard op |
model_output |
bool
|
Of de modeloutput moet worden weergegeven.
Ziet er technisch uit, maar geeft inzage in de voortgang. Staat standaard op |
maak_kopie
¶
maak_kopie() -> ModelInstellingen
netwerk
¶
Functionaliteit om de bereikbaarheid van het vaarwegennetwerk te controleren gegeven een stel beheerobjecten in onderhoud.
Omvaarroute
¶
Data voor een omvaarroute.
Attributes:
| Name | Type | Description |
|---|---|---|
source |
str
|
Beginpunt van de route (beheerobject/stop). |
target |
str
|
Eindpunt van de route (beheerobject/stop). |
route |
list[str]
|
Pad van de omvaarroute (stops en beheerobjecten). |
afstand |
float
|
Opgetelde hemelsbrede afstand tussen alle beheerobjecten en stops. |
originele_route |
list[str]
|
Originele route. |
originele_afstand |
float
|
Originele afstand tussen alle stops in hemelsbrede kilometers. |
afstand_delta |
float
|
Verschil in afstand en originele afstand. |
maak_kopie
¶
maak_kopie() -> Omvaarroute
Onbereikbaar
¶
cemt_view
¶
cemt_view(
graph: Graph,
subject: str | None = None,
in_onderhoud: set[str] | None = None,
cemt: int = 0,
) -> GraphView
Filter de graaf op basis van een CEMT klasse.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
graph
|
Graph
|
Graaf met brondata. |
required |
subject
|
str | None
|
Beheerobject dat wordt bekeken (en moet blijven bestaan in output). |
None
|
in_onderhoud
|
set[str] | None
|
De set van sluizen in onderhoud die moet worden weggelaten. Als 'subject' hierin zit, wordt deze genegeerd. |
None
|
cemt
|
int
|
De minimale CEMT klasse voor nodes en edges om in de |
0
|
Returns:
| Type | Description |
|---|---|
GraphView
|
|
Source code in src/raplan_rws/netwerk.py
check_objecten
¶
Sanity check of alle opgegeven objecten in de graaf zitten.
Source code in src/raplan_rws/netwerk.py
netwerk_inladen
¶
Laad het vaarwegennetwerk in.
Source code in src/raplan_rws/netwerk.py
relevante_cemt_klasse
¶
Vind de relevante CEMT klasse voor een beheerobject.
Source code in src/raplan_rws/netwerk.py
route_vanaf
¶
Reconstrueer het pad vanaf een doel terug naar de origine op basis van een vorige mapping.
Source code in src/raplan_rws/netwerk.py
zoek_alle_beslis_nodes
¶
zoek_alle_beslis_nodes(
g: Graph, in_onderhoud: set[str], cemt: int
) -> tuple[dict[str, set[str]], dict[str, set[str]]]
Zoek alle beslis-nodes gegeven een set objecten in onderhoud en een CEMT klasse waarop moet worden gefilterd.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
g
|
Graph
|
Graaf met brondata. |
required |
in_onderhoud
|
set[str]
|
Set van objecten in onderhoud. |
required |
cemt
|
int
|
CEMT klasse om het netwerk op te filteren. |
required |
Returns:
| Type | Description |
|---|---|
dict[str, set[str]]
|
Twee dictionaries met elk per sluis in onderhoud de beslis-sources respectievelijk |
dict[str, set[str]]
|
beslis-target nodes. |
Source code in src/raplan_rws/netwerk.py
zoek_hoogste_cemt_klasse
¶
Zoek de hoogste relevante CEMT klasse en geef alleen de lijst met objecten terug die dat ook heeft.
Source code in src/raplan_rws/netwerk.py
ohs
¶
OHS sheet readout module.
OhsBepData
¶
OHS BEP sheet data.
maak_kopie
¶
maak_kopie() -> OhsBepData
van_excel_bestand
classmethod
¶
van_excel_bestand(
bestandspad: str | Path, instellingen: OhsInstellingen
) -> OhsBepData
Importeer de BEP data uit een OHS Excel-bestand.
Source code in src/raplan_rws/ohs.py
van_excel_worksheet
classmethod
¶
van_excel_worksheet(
ws: Worksheet, instellingen: OhsInstellingen
) -> OhsBepData
Importeer de BEP data uit het BEP sheet uit een OHS Excel-bestand.
Source code in src/raplan_rws/ohs.py
OhsBepRij
¶
Rij in het OHS BEP (Beheer en Exploitatieplan) sheet.
Attributes:
| Name | Type | Description |
|---|---|---|
beheer_object |
BeheerObject
|
Objectnaam. Kan DISK code bevatten maar hoeft niet altijd. |
element_bouwdeel |
ElementBouwdeel
|
Element / bouwdeel benaming. |
discipline |
set[Discipline]
|
Betrokken discipline(s). Staat als 'Type' in de BEP Excel-sheet. |
OhsData
¶
OHS sheet data. Zie de van_excel_bestand functie om deze data in te laden.
Attributes:
| Name | Type | Description |
|---|---|---|
bep |
OhsBepData
|
Beheer- en ExploĆÆtatieplan sheet data. |
element_functie |
OhsElementFunctieData
|
Element-Functie mapping. |
van_excel_bestand
classmethod
¶
van_excel_bestand(
bestandspad: str | Path, instellingen: OhsInstellingen
) -> OhsData
Importeer de relevante data uit een OHS Excel-bestand.
Source code in src/raplan_rws/ohs.py
van_excel_workbook
classmethod
¶
van_excel_workbook(
wb: Workbook, instellingen: OhsInstellingen
) -> OhsData
Importeer de relevante data uit een ingeladen OHS Excel-workbook.
Source code in src/raplan_rws/ohs.py
verwerk
¶
verwerk() -> VerwerkteOhsData
Verwerk deze rauwe data tot een verwerkt data object met beheerobjecten en structuren.
OhsElementFunctieData
¶
maak_kopie
¶
maak_kopie() -> OhsElementFunctieData
van_excel_bestand
classmethod
¶
van_excel_bestand(
bestandspad: str | Path, instellingen: OhsInstellingen
) -> OhsElementFunctieData
Importeer de Element-Functie data uit een OHS Excel-bestand.
Source code in src/raplan_rws/ohs.py
van_excel_worksheet
classmethod
¶
van_excel_worksheet(
ws: Worksheet, instellingen: OhsInstellingen
) -> OhsElementFunctieData
Importeer de Element-Functie data uit het Element-Functie sheet uit een OHS Excel-bestand.
Source code in src/raplan_rws/ohs.py
OhsElementFunctieRij
¶
Rij in het OHS Element-Functie sheet.
Attributes:
| Name | Type | Description |
|---|---|---|
beheer_object |
BeheerObject
|
Naam voor het beheerobject. Kan DISK code bevatten maar hoeft niet altijd. |
element_bouwdeel |
ElementBouwdeel
|
Naam voor het element/bouwdeel. |
schutten |
ElementBouwdeel
|
Of het element/bouwdeel bijdraagt aan de functie schutten. |
spuien |
ElementBouwdeel
|
Of het element/bouwdeel bijdraagt aan de functie spuien. |
kruisen |
ElementBouwdeel
|
Of het element/bouwdeel bijdraagt aan de functie kruisen. |
keren |
ElementBouwdeel
|
Of het element/bouwdeel bijdraagt aan de functie keren. |
vgm |
ElementBouwdeel
|
Of het element/bouwdeel bijdraagt aan de functie VGM. |
secundair |
ElementBouwdeel
|
Of het element/bouwdeel secundair bijdraagt. |
code |
ElementBouwdeel
|
DISK code op basis van de beheerobjectnaam. |
maak_kopie
¶
maak_kopie() -> OhsElementFunctieRij
OhsInstellingen
¶
Importeer-instellingen voor de OHS Excel workbook.
Attributes:
| Name | Type | Description |
|---|---|---|
vast_beheerobject |
BeheerObject | None
|
ĆĆ©n vast beheerobject welke geldt voor het in te laden OHS-sheet.
Gaat meestal gepaard met |
object_naar_disk_override |
dict[str, str]
|
Een dictionary mapping van OHS waardes in de "object" kolom naar de bijbehorende DISK code. |
disk_in_objectnaam |
bool
|
Of de DISK code kan worden afgeleid uit de waarden in de "object" kolom
in de BEP- en Element-Functie sheets. Standaard op |
element_in_objectkolom |
bool
|
Of het element in de "object" kolom is geplaatst in plaats van het
beheerobject. Gaat meestal gepaard met een |
beheer_object
¶
beheer_object(object: str) -> BeheerObject
Leidt de DISK code af met behulp van deze instellingen.
Source code in src/raplan_rws/ohs.py
element_bouwdeel
¶
element_bouwdeel(
object: str, element_bouwdeel: str
) -> ElementBouwdeel
Importeer de Element/Bouwdeel combinatie.
Source code in src/raplan_rws/ohs.py
maak_kopie
¶
maak_kopie() -> OhsInstellingen
VerwerkteOhsData
¶
Verwerkte OHS data.
leid_missende_disciplines_af
¶
Probeer missende discipline data af te leiden uit element-bouwdeel namen.
Source code in src/raplan_rws/ohs.py
maak_kopie
¶
maak_kopie() -> VerwerkteOhsData
migreer_complex
¶
Combineer alle data naar een 'complex' object met afgekorte DISK code.
Source code in src/raplan_rws/ohs.py
verwerk_bep
¶
verwerk_bep(bep: OhsBepData)
Verwerk BEP sheet data.
Source code in src/raplan_rws/ohs.py
verwerk_data
¶
verwerk_data(data: OhsData)
Verwerk extra OHS data in dit object.
Source code in src/raplan_rws/ohs.py
verwerk_element_functie
¶
verwerk_element_functie(
element_functie: OhsElementFunctieData,
)
Verwerk Element-Functie sheet data.
Source code in src/raplan_rws/ohs.py
zoek_binnen_complex
¶
Doe een poging om missende waarden te vullen vanuit de gedeelde complex waarden.
Source code in src/raplan_rws/ohs.py
plot
¶
Plots voor visualisatie in de bundelingstool.
gantt_beheerobject
¶
Gantt chart voor een enkel beheerobject (RaPlan System).
Laat de planning voor ingrepen zien over de verschillende element-bouwdelen.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
system
|
System
|
RaPlan |
required |
horizon
|
Horizon
|
Planningshorizon om de figuren op af te knippen. |
required |
Returns:
| Type | Description |
|---|---|
Figure
|
Plotly figuur van de Gantt chart. |
Source code in src/raplan_rws/plot.py
gantt_ingrepen
¶
gantt_ingrepen(
project: Project | RwsProject, horizon: Horizon
) -> Figure
Gantt chart voor een geheel RaPlan Project.
Laat de planning van ingrepen zien over de alle verschillende beheerobjecten in het project.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
project
|
Project | RwsProject
|
RaPlan |
required |
horizon
|
Horizon
|
Planningshorizon om de figuren op af te knippen. |
required |
Returns:
| Type | Description |
|---|---|
Figure
|
Plotly figuur van de Gantt chart. |
Source code in src/raplan_rws/plot.py
mdm_gelijkenisanalyse
¶
mdm_gelijkenisanalyse(sa: SimilarityAnalysis) -> Figure
Maak een gelijkenisanalyse figuur voor de ingrepen op beheerobjecten.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
sa
|
SimilarityAnalysis
|
Gelijkenisanalyseobject. |
required |
Returns:
| Type | Description |
|---|---|
Figure
|
Plotly figuur. |
Source code in src/raplan_rws/plot.py
poema
¶
POEMA Excel data import.
PoemaData
¶
verwerk
¶
verwerk(
ohs: VerwerkteOhsData | None = None,
horizon: Horizon | None = None,
negeer_verleden: bool = True,
negeer_toekomst: bool = True,
minimale_periode: int = 2,
) -> VerwerktePoemaData
Verwerk de POEMA data - eventueel aangevuld/gematcht met verwerkte OHS data.
Source code in src/raplan_rws/poema.py
PoemaDiagnostiek
¶
Diagnostiek tijdens het inladen en matchen van POEMA data.
maak_kopie
¶
maak_kopie() -> PoemaDiagnostiek
rapporteer
¶
Rapporteer de diagnostieke bevindingen van een POEMA/OHS import.
Source code in src/raplan_rws/poema.py
PoemaRij
¶
Rij in het POEMA Excel export data format.
Attributes:
| Name | Type | Description |
|---|---|---|
referentie_nummer |
str
|
Specifiek referentienummer voor de maatregel. |
netwerk_code |
str | None
|
Netwerkcode zoals "HWVN". |
dienst_code |
str | None
|
Dienstcode zoals "RWS MN". |
maatregel_type |
str | None
|
Type maatregel zoals "Variabel onderhoud". |
kan_later_dan_uiterst |
str | None
|
Of de maatregel nog later mag dan het uiterst adviesjaar. |
is_vernieuwing |
str | None
|
Of het vervanging betreft: j/n |
bron |
str
|
Bron van de maatregel zoals "P-IHP". |
maatregel_naam |
str
|
Korte omschrijving van de maatregel. |
maatregel_omschrijving |
str
|
Toelichting Bouwdeel en eventuele specificaties van aantallen en/of locatie. |
object_code |
str
|
DISK code van het object/de sluiskolk. |
ih_onderdeel |
str
|
Instandhoudingsonderdeel. |
advies_plan_jaar |
int | float
|
Advies planjaar vanuit de bron. |
uiterst_advies_jaar |
int | float
|
Laatst toegestaan uitvoeringsjaar op basis van techniek. |
uitvoerings_kosten |
int | float
|
Kosten in kEur. |
frequentie_tekst |
str
|
Indicatie frequentie in tekst zoals "Maatregel eens per XX jaar uitvoeren." |
bronbestand |
str
|
Bronbestand waar data vandaan komt zoals: "RCM_Irenesluis_2024_202407091330_PM.xlsx" |
element_bouwdeel
¶
element_bouwdeel() -> ElementBouwdeel
Leidt het ElementBouwdeel af van het maatregel_omschrijving veld.
Source code in src/raplan_rws/poema.py
periode
¶
periode() -> float | None
Lengte van de periode voor deze maatregel indien het een herhalende preventieve maatregel betreft.
Source code in src/raplan_rws/poema.py
VerwerktePoemaData
¶
Verwerkte POEMA data.
Attributes:
| Name | Type | Description |
|---|---|---|
planning |
MaatregelPlanning
|
Maatregelplanning op basis van POEMA rijen. |
objecten |
dict[str, BeheerObject]
|
Dictionary van DISK codes naar beheerobjecten en complexen. |
structuren |
defaultdict[str, ObjectStructuur]
|
Dictionary van DISK codes naar extra informatie w.b. element-bouwdelen en bijbehorende disciplines en functie-impact. |
horizon |
Horizon
|
Opgegeven of geobserveerde tijdshorizon. |
check_element_bouwdeel
¶
check_element_bouwdeel(
disk: str,
complex: str,
eb: ElementBouwdeel,
diag: PoemaDiagnostiek,
) -> tuple[set[Discipline], FunctieImpact]
Check of het bouwdeel bestaat voor de opgegeven DISK code.
Source code in src/raplan_rws/poema.py
check_object
¶
check_object(
disk: str, diag: PoemaDiagnostiek
) -> BeheerObject
Check of het object bestaat en maak het aan als dat niet zo is.
Source code in src/raplan_rws/poema.py
is_overbodig
¶
is_overbodig(
rij: PoemaRij,
horizon: Horizon,
negeer_verleden: bool,
negeer_toekomst: bool,
minimale_periode: int,
) -> bool
Check of een POEMA rij binnen de horizon valt, inachtnemend de filters.
Source code in src/raplan_rws/poema.py
maak_kopie
¶
maak_kopie() -> VerwerktePoemaData
verwerk
¶
verwerk(
poema: PoemaData,
ohs: VerwerkteOhsData | None = None,
horizon: Horizon | None = None,
negeer_verleden: bool = True,
negeer_toekomst: bool = True,
minimale_periode: int = 2,
) -> PoemaDiagnostiek
Verwerk POEMA data, eventueel aangevuld met te matchen verwerkte OHS data.
Source code in src/raplan_rws/poema.py
project
¶
Rijkswaterstaat project Python raplan.
RwsProject
¶
Data voor een RWS project.
Attributes:
| Name | Type | Description |
|---|---|---|
naam |
str | None
|
Optionele projectnaam. |
planning |
MaatregelPlanning
|
Het hart van de data, de maatregelplanning. |
objecten |
dict[str, BeheerObject]
|
Alle beheerobject-namen en code per DISK code. |
structuren |
defaultdict[str, ObjectStructuur]
|
Alle beheerobject-structuren bestaande uit de element-bouwdelen en de daarbij betrokken disciplines en functie-impact per element-bouwdeel. |
horizon |
Horizon | None
|
Opgegeven of geobserveerde horizon. |
vervroeging_factor |
float
|
Hoeveel jaar een taak naar voren mag worden gehaald t.o.v. de afstand tussen het advies plan jaar en het uiterst advies jaar (standaard 25%). |
later_dan_uiterst |
int
|
Maximale uitloop voor maatregelen die later dan hun uiterste advies plan
jaar worden gepland wanneer dat is toegestaan door het veld |
max_vervroeging |
int | None
|
Maximaal aantal jaar dat een maatregel mag worden vervroegd. |
max_uitstel |
int | None
|
Maximaal aantal jaar dat een maatregel mag worden uitgesteld. |
project |
Project
|
RaPlan project dat correspondeert met de RWS data. |
component_naar_disk_eb |
dict[UUID, tuple[str, ElementBouwdeel]]
|
Mapping van Component UUID's uit het RaPlan project naar element-bouwdelen uit de RWS wereld. |
disk_eb_naar_component |
dict[tuple[str, ElementBouwdeel], Component]
|
Mapping van een DISK code en ElementBouwdeel naar een RaPlan project Component. |
maintenance_naar_geplande_maatregel |
dict[UUID, GeplandeMaatregel]
|
Mapping van Maintenance UUID's uit het RaPlan project naar geplande maatregelen in de RWS planning. |
geplande_maatregel_naar_maintenance |
dict[UUID, Maintenance]
|
Mapping van een geplande maatregel naar de bijbehorende RaPlan Maintenance. |
system_naar_structuur |
dict[UUID, ObjectStructuur]
|
Mapping van System UUID's uit het RaPlan project naar beheerobject structuren in de RWS wereld. |
bundel_maatregelen_enkele_kolk
¶
bundel_maatregelen_enkele_kolk(
disk: str,
instellingen: ModelInstellingen | None = None,
uitvoeren: bool = True,
direct_doorvoeren: bool = True,
dynamische_verschuiving: (
Callable[[UUID, float], int | float | None] | None
) = None,
dynamische_combis: (
Callable[[frozenset[UUID]], int | float | None]
| None
) = None,
dynamische_uitsluiting: (
Callable[[frozenset[UUID]], bool] | None
) = None,
) -> LpSyncProject
Maak een synchronisatiemodel van de maatregelplanning.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
disk
|
str
|
DISK code van het beheerobject om de maatregelen van te bundelen. |
required |
instellingen
|
ModelInstellingen | None
|
Instellingen voor het optimalisatiemodel. |
None
|
uitvoeren
|
bool
|
Of de optimalisaties gelijk moeten worden uitgevoerd of alleen worden klaargezet. |
True
|
direct_doorvoeren
|
bool
|
Of de resultaten gelijk moeten worden doorgevoerd in de planning. |
True
|
dynamische_verschuiving
|
Callable[[UUID, float], int | float | None] | None
|
Optie om een 'custom' verschuivingsfunctie op te geven die
de standaardimplementatie via de |
None
|
dynamische_combis
|
Callable[[frozenset[UUID]], int | float | None] | None
|
Optie om een 'custom' combinatie-functie op te geven die
de standaardimplementatie via de |
None
|
dynamische_uitsluiting
|
Callable[[frozenset[UUID]], bool] | None
|
Optie om een 'custom' combinatie-functie op te geven die
de standaardimplementatie via de |
None
|
Source code in src/raplan_rws/project.py
621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 | |
bundel_maatregelen_ineens
¶
bundel_maatregelen_ineens(
instellingen: ModelInstellingen | None = None,
uitvoeren: bool = True,
direct_doorvoeren: bool = True,
dynamische_verschuiving: (
Callable[[UUID, float], int | float | None] | None
) = None,
dynamische_combis: (
Callable[[frozenset[UUID]], int | float | None]
| None
) = None,
dynamische_uitsluiting: (
Callable[[frozenset[UUID]], bool] | None
) = None,
) -> LpSyncProject
Maak een synchronisatiemodel van de maatregelplanning.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
instellingen
|
ModelInstellingen | None
|
Modelinstellingen voor de onderliggende optimalisatie. |
None
|
uitvoeren
|
bool
|
Of het model gelijk moet worden uitgevoerd. |
True
|
direct_doorvoeren
|
bool
|
Of de resultaten gelijk moeten worden verwerkt in de planning van dit project object. |
True
|
dynamische_verschuiving
|
Callable[[UUID, float], int | float | None] | None
|
Optie om een 'custom' verschuivingsfunctie op te geven die
de standaardimplementatie via de |
None
|
dynamische_combis
|
Callable[[frozenset[UUID]], int | float | None] | None
|
Optie om een 'custom' combinatie-functie op te geven die
de standaardimplementatie via de |
None
|
dynamische_uitsluiting
|
Callable[[frozenset[UUID]], bool] | None
|
Optie om een 'custom' combinatie-functie op te geven die
de standaardimplementatie via de |
None
|
Source code in src/raplan_rws/project.py
bundel_maatregelen_per_kolk
¶
bundel_maatregelen_per_kolk(
instellingen: ModelInstellingen | None = None,
uitvoeren: bool = True,
direct_doorvoeren: bool = True,
dynamische_verschuiving: (
Callable[[UUID, float], int | float | None] | None
) = None,
dynamische_combis: (
Callable[[frozenset[UUID]], int | float | None]
| None
) = None,
dynamische_uitsluiting: (
Callable[[frozenset[UUID]], bool] | None
) = None,
) -> dict[UUID, LpSyncProject]
Maak een synchronisatiemodel van de maatregelplanning.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
instellingen
|
ModelInstellingen | None
|
Instellingen voor het optimalisatiemodel. |
None
|
uitvoeren
|
bool
|
Of de optimalisaties gelijk moeten worden uitgevoerd of alleen worden klaargezet. |
True
|
direct_doorvoeren
|
bool
|
Of de resultaten gelijk moeten worden doorgevoerd in de planning. |
True
|
dynamische_verschuiving
|
Callable[[UUID, float], int | float | None] | None
|
Optie om een 'custom' verschuivingsfunctie op te geven die
de standaardimplementatie via de |
None
|
dynamische_combis
|
Callable[[frozenset[UUID]], int | float | None] | None
|
Optie om een 'custom' combinatie-functie op te geven die
de standaardimplementatie via de |
None
|
dynamische_uitsluiting
|
Callable[[frozenset[UUID]], bool] | None
|
Optie om een 'custom' combinatie-functie op te geven die
de standaardimplementatie via de |
None
|
Source code in src/raplan_rws/project.py
gen_ingreep_procedures
¶
gen_ingreep_procedures() -> (
Generator[Procedure, Never, None]
)
Genereer de RaPlan Procedure objecten voor alle ingrepen op objecten.
herbouw_project
¶
Herbouw het intern opgeslagen RaPlan project en update de mapping dictionaries.
Source code in src/raplan_rws/project.py
maak_kopie
¶
maak_kopie() -> RwsProject
naar_excel_bestand
¶
pakket_id
¶
pakket_id(maintenance: list[Maintenance]) -> UUID
Bereken een stabiel pakket UUID op basis van de maatregel-inhoud.
plan_ingrepen
¶
plan_ingrepen(
instellingen: ModelInstellingen | None = None,
uitvoeren: bool = True,
direct_doorvoeren: bool = True,
dynamische_maatregel_verschuiving: (
Callable[[UUID, float], int | float | None] | None
) = None,
dynamische_ingreep_combis: (
Callable[[frozenset[UUID]], int | float | None]
| None
) = None,
dynamische_ingreep_uitsluiting: (
Callable[[frozenset[UUID]], bool] | None
) = None,
) -> LpProcedureProject
Maak een optimalisatiemodel voor de ingrepen (gebundelde maatregelen).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
instellingen
|
ModelInstellingen | None
|
Instellingen voor het optimalisatiemodel. |
None
|
uitvoeren
|
bool
|
Of de optimalisaties gelijk moeten worden uitgevoerd of alleen worden klaargezet. |
True
|
direct_doorvoeren
|
bool
|
Of de resultaten gelijk moeten worden doorgevoerd in de planning. |
True
|
dynamische_maatregel_verschuiving
|
Callable[[UUID, float], int | float | None] | None
|
Optie om een 'custom' verschuivingsfunctie op te
geven die de standaardimplementatie via de |
None
|
dynamische_ingreep_combis
|
Callable[[frozenset[UUID]], int | float | None] | None
|
Optie om een 'custom' combinatie-functie op te geven die
de standaardimplementatie via de |
None
|
dynamische_ingreep_uitsluiting
|
Callable[[frozenset[UUID]], bool] | None
|
Optie om een 'custom' combinatie-functie op te geven die
de standaardimplementatie via de |
None
|
Source code in src/raplan_rws/project.py
sluit_specifieke_ingreep_combi_uit
¶
sluit_specifieke_ingreep_combi_uit(
pakket_id_a: UUID,
pakket_id_b: UUID,
instellingen: ModelInstellingen,
ongedaan_maken: bool = False,
)
Sluit een specifieke combinatie van ingrepen uit door deze IDs toe te voegen aan de
verboden combinaties in het ModelInstellingen object.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
pakket_id_a
|
UUID
|
Helft van het betrokken |
required |
pakket_id_b
|
UUID
|
Andere helft van het betrokken |
required |
instellingen
|
ModelInstellingen
|
De |
required |
ongedaan_maken
|
bool
|
Verwijder het paar uit de verboden combinaties van de instellingen. |
False
|
Source code in src/raplan_rws/project.py
sluit_specifieke_maatregel_combi_uit
¶
sluit_specifieke_maatregel_combi_uit(
a: GeplandeMaatregel,
b: GeplandeMaatregel,
instellingen: ModelInstellingen,
ongedaan_maken: bool = False,
)
Sluit een specifieke combinatie van maatregelen uit door deze IDs toe te voegen aan de
verboden combinaties in het ModelInstellingen object.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
a
|
GeplandeMaatregel
|
Helft van het betrokken |
required |
b
|
GeplandeMaatregel
|
Andere helft van het betrokken |
required |
instellingen
|
ModelInstellingen
|
De |
required |
ongedaan_maken
|
bool
|
Verwijder het paar uit de verboden combinaties van de instellingen. |
False
|
Source code in src/raplan_rws/project.py
stel_specifieke_ingreep_combi_in
¶
stel_specifieke_ingreep_combi_in(
pakket_id_a: UUID,
pakket_id_b: UUID,
score: int | float | None,
instellingen: ModelInstellingen,
)
Stel een specifieke score in voor het gelijkvallen van deze twee maatregelen op hetzelfde object. Dit wordt doorgevoerd in het instellingen object.
Source code in src/raplan_rws/project.py
stel_specifieke_maatregel_combi_in
¶
stel_specifieke_maatregel_combi_in(
a: GeplandeMaatregel,
b: GeplandeMaatregel,
score: int | float | None,
instellingen: ModelInstellingen,
)
Stel een specifieke score in voor het gelijkvallen van deze twee maatregelen op hetzelfde object. Dit wordt doorgevoerd in het instellingen object.
Source code in src/raplan_rws/project.py
stel_specifieke_verschuiving_in
¶
stel_specifieke_verschuiving_in(
m: GeplandeMaatregel,
score: (
int | float | tuple[int | float, int | float] | None
),
instellingen: ModelInstellingen,
)
Stel een specifieke verschuiving in voor een geplande maatregel of verwijder hem. Dit wordt doorgevoerd in het instellingen object.
Source code in src/raplan_rws/project.py
van_excel_bestand
classmethod
¶
van_excel_bestand(
bestandspad: str | Path,
naam: str | None = None,
horizon: Horizon | None = None,
vervroeging_factor: float = 0.25,
later_dan_uiterst: int = 0,
max_vervroeging: int | None = 1,
max_uitstel: int | None = 5,
) -> RwsProject
Laad een RWS project in vanaf en Excel bestand met de maatregelplanning.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
bestandspad
|
str | Path
|
Pad naar het Excel bestand met de maatregelplanning. |
required |
naam
|
str | None
|
Optionele naam voor het project. |
None
|
horizon
|
Horizon | None
|
Optionele horizon om maatregelen die moeten worden meegenomen te filteren. |
None
|
vervroeging_factor
|
float
|
Factor om te bepalen hoeveel de maximale vervroeging van een maatregel is, ten opzichte van het verschil tussen het advies plan jaar en het uiterst advies jaar (meestal tussen 0.0 en 1.0, standaard op 0.25). |
0.25
|
later_dan_uiterst
|
int
|
Aantal jaar dat een maatregel mag worden uitgesteld bovenop hun uiterst advies jaar. Standaard op 0. |
0
|
max_vervroeging
|
int | None
|
Maximaal aantal jaar dat een maatregel naar voren gehaald mag worden t.o.v. het advies plan jaar. Standaard op 1. |
1
|
max_uitstel
|
int | None
|
Maximaal aantal jaar dat een maatregel mag worden uitgesteld t.o.v. het advies plan jaar. Standaard op 5. |
5
|
Source code in src/raplan_rws/project.py
van_maatregel_planning
classmethod
¶
van_maatregel_planning(
planning: MaatregelPlanning,
naam: str | None = None,
horizon: Horizon | None = None,
vervroeging_factor: float = 0.25,
later_dan_uiterst: int = 0,
max_vervroeging: int | None = 1,
max_uitstel: int | None = 5,
)
Neem een maatregelplanning over in een RWS project.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
planning
|
MaatregelPlanning
|
Maatregelplanning object. |
required |
naam
|
str | None
|
Optionele naam voor het project. |
None
|
horizon
|
Horizon | None
|
Optionele horizon om maatregelen die moeten worden meegenomen te filteren. |
None
|
vervroeging_factor
|
float
|
Factor om te bepalen hoeveel de maximale vervroeging van een maatregel is, ten opzichte van het verschil tussen het advies plan jaar en het uiterst advies jaar (meestal tussen 0.0 en 1.0, standaard op 0.25). |
0.25
|
later_dan_uiterst
|
int
|
Aantal jaar dat een maatregel mag worden uitgesteld bovenop hun uiterst advies jaar. Standaard op 0. |
0
|
max_vervroeging
|
int | None
|
Maximaal aantal jaar dat een maatregel naar voren gehaald mag worden t.o.v. het advies plan jaar. Standaard op 1. |
1
|
max_uitstel
|
int | None
|
Maximaal aantal jaar dat een maatregel mag worden uitgesteld t.o.v. het advies plan jaar. Standaard op 5. |
5
|
Source code in src/raplan_rws/project.py
van_poema_data
classmethod
¶
van_poema_data(
data: VerwerktePoemaData,
naam: str | None = None,
horizon: Horizon | None = None,
vervroeging_factor: float = 0.25,
later_dan_uiterst: int = 0,
max_vervroeging: int | None = 1,
max_uitstel: int | None = 5,
) -> RwsProject
Maak een RWS project gebaseerd op verwerkte POEMA data.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
data
|
VerwerktePoemaData
|
Verwerkte POEMA data. |
required |
naam
|
str | None
|
Optionele naam voor het project. |
None
|
horizon
|
Horizon | None
|
Optionele horizon om maatregelen die moeten worden meegenomen te filteren. |
None
|
vervroeging_factor
|
float
|
Factor om te bepalen hoeveel de maximale vervroeging van een maatregel is, ten opzichte van het verschil tussen het advies plan jaar en het uiterst advies jaar (meestal tussen 0.0 en 1.0, standaard op 0.25). |
0.25
|
later_dan_uiterst
|
int
|
Aantal jaar dat een maatregel mag worden uitgesteld bovenop hun uiterst advies jaar. Standaard op 0. |
0
|
max_vervroeging
|
int | None
|
Maximaal aantal jaar dat een maatregel naar voren gehaald mag worden t.o.v. het advies plan jaar. Standaard op 1. |
1
|
max_uitstel
|
int | None
|
Maximaal aantal jaar dat een maatregel mag worden uitgesteld t.o.v. het advies plan jaar. Standaard op 5. |
5
|
Source code in src/raplan_rws/project.py
van_poema_ohs_bestanden
classmethod
¶
van_poema_ohs_bestanden(
poema: list[str | Path],
ohs: list[tuple[str | Path, OhsInstellingen]],
horizon: Horizon | None = None,
negeer_verleden: bool = True,
negeer_toekomst: bool = True,
minimale_periode: int = 2,
naam: str | None = None,
vervroeging_factor: float = 0.25,
later_dan_uiterst: int = 0,
max_vervroeging: int | None = 1,
max_uitstel: int | None = 5,
) -> RwsProject
Maak een RWS project gebaseerd op POEMA en OHS bestanden/instellingen.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
poema
|
list[str | Path]
|
Lijst van bestandspaden naar POEMA Excel bestanden. |
required |
ohs
|
list[tuple[str | Path, OhsInstellingen]]
|
Lijst van combinaties van bestandspaden en instellingen voor OHS sheets. |
required |
naam
|
str | None
|
Optionele naam voor het project. |
None
|
horizon
|
Horizon | None
|
Optionele horizon om maatregelen die moeten worden meegenomen te filteren. |
None
|
negeer_verleden
|
bool
|
Of maatregelen die in het verleden staan geprogrammeerd ten opzichte van de opgegeven horizon moeten worden genegeerd. |
True
|
negeer_toekomst
|
bool
|
Of maatregelen die in de toekomst staan geprogrammeerd ten opzichte van het eind van de opgegeven horizon moeten worden genegeerd. |
True
|
vervroeging_factor
|
float
|
Factor om te bepalen hoeveel de maximale vervroeging van een maatregel is, ten opzichte van het verschil tussen het advies plan jaar en het uiterst advies jaar (meestal tussen 0.0 en 1.0, standaard op 0.25). |
0.25
|
later_dan_uiterst
|
int
|
Aantal jaar dat een maatregel mag worden uitgesteld bovenop hun uiterst advies jaar. Standaard op 0. |
0
|
max_vervroeging
|
int | None
|
Maximaal aantal jaar dat een maatregel naar voren gehaald mag worden t.o.v. het advies plan jaar. Standaard op 1. |
1
|
max_uitstel
|
int | None
|
Maximaal aantal jaar dat een maatregel mag worden uitgesteld t.o.v. het advies plan jaar. Standaard op 5. |
5
|
Source code in src/raplan_rws/project.py
voer_bundeling_door
¶
voer_bundeling_door(
lp_sync: LpSyncProject, new: bool = True
) -> RwsProject
Voer de bundeling door in het interne RaPlan project en wijzig de maatregelplanning.
Source code in src/raplan_rws/project.py
voer_ingreep_herplanning
¶
voer_ingreep_herplanning(
lp_proc: LpProcedureProject, new: bool = True
) -> RwsProject
Voer een optimalisatie door van de ingrepen/procedures.
Source code in src/raplan_rws/project.py
shared
¶
Gedeelde classes voor zowel de POEMA als OHS import.
BeheerObject
¶
Gegevens met betrekking op een beheerobject van Rijkswaterstaat.
maak_kopie
¶
maak_kopie() -> BeheerObject
Discipline
¶
Bases: PascalCaseStrEnum
Disciplines die betrokken is bij de uitvoering van een maatregel of maatregelpakket.
ElementBouwdeel
¶
Gegevens met betrekking op een element/bouwdeel van een beheerobject van Rijkswaterstaat.
maak_kopie
¶
maak_kopie() -> ElementBouwdeel
FunctieImpact
¶
Beschrijving van de betrokkenheid van een element-bouwdeel op ƩƩn van de objectfuncties.
faciliteren_vaarweg_verkeer
instance-attribute
¶
faciliteren_vaarweg_verkeer: bool
Faciliteren vaarwegverkeer en kruisen omgeving (functie).
faciliteren_wegverkeer
instance-attribute
¶
faciliteren_wegverkeer: bool
Faciliteren wegverkeeer (functie).
hoogwater_afvoeren
instance-attribute
¶
hoogwater_afvoeren: bool
Hoogwater afvoeren op meren en kanalen (functie).
secundaire_functies
instance-attribute
¶
secundaire_functies: bool
Of de maatregel impact heeft op de secundaire functies van het object.
vgm
instance-attribute
¶
vgm: bool
Of de maatregel leidt tot een beperking van de risico's wat betreft Veiligheid, Gezondheid en Milieu.
geen
classmethod
¶
geen() -> FunctieImpact
maak_kopie
¶
maak_kopie() -> FunctieImpact
FunctieVerlies
¶
Beschrijving van het functieverlies van een maatregel in [0.0-1.0] waarbij 1.0 staat voor 100% functieverlies.
faciliteren_vaarweg_verkeer
instance-attribute
¶
faciliteren_vaarweg_verkeer: float
Faciliteren vaarwegverkeer en kruisen omgeving (functie).
faciliteren_wegverkeer
instance-attribute
¶
faciliteren_wegverkeer: float
Faciliteren wegverkeeer (functie).
hoogwater_afvoeren
instance-attribute
¶
hoogwater_afvoeren: float
Hoogwater afvoeren op meren en kanalen (functie).
secundaire_functies
instance-attribute
¶
secundaire_functies: float
Of de maatregel impact heeft op de secundaire functies van het object.
vgm
instance-attribute
¶
vgm: float
Of de maatregel leidt tot een beperking van de risico's wat betreft Veiligheid, Gezondheid en Milieu.
geen
classmethod
¶
geen() -> FunctieVerlies
maak_kopie
¶
maak_kopie() -> FunctieVerlies
volledig
classmethod
¶
volledig(impact: FunctieImpact) -> FunctieVerlies
Maak een volledig functieverlies aan op basis van de impact van het betreffende element-bouwdeel van het onderhoud.
Source code in src/raplan_rws/shared.py
GeplandeMaatregel
¶
Geplande maatregel inclusief origine.
advies_plan_jaar
instance-attribute
¶
advies_plan_jaar: int
Het optimale vervangjaar van de specifieke maatregel volgens het ingeladen scenario.
beheerobject
instance-attribute
¶
beheerobject: BeheerObject
Beheerobject waarop deze maatregel van toepassing is.
disciplines
instance-attribute
¶
disciplines: set[Discipline]
Disciplines met betrekking op het element.
element_bouwdeel
property
¶
element_bouwdeel: ElementBouwdeel
Element-bouwdeel combi waar deze maatregel van toepassing op is.
gepland_uitvoeringsjaar
instance-attribute
¶
gepland_uitvoeringsjaar: int
Het geprogrammeerd uitvoeringsjaar op basis van maakbaarheid van de geclusterde maatregelen en maatregelpakketten.
gepland_uitvoeringsjaar_reden
instance-attribute
¶
gepland_uitvoeringsjaar_reden: str
De reden voor de laatst gemaakte planningswijziging.
gewenst_uitvoeringsjaar
instance-attribute
¶
gewenst_uitvoeringsjaar: int
Gewenst uitvoeringsjaar op basis van logische clustering van de maatregelen.
impact
instance-attribute
¶
impact: FunctieImpact
Beschrijving van de betrokkenheid van een element-bouwdeel op ƩƩn van de objectfuncties.
kan_later_dan_uiterst
instance-attribute
¶
kan_later_dan_uiterst: bool
Of het uiterste advies jaar kan worden overschreden.
periode
instance-attribute
¶
periode: float | None
Lengte van de periode voor deze maatregel indien het een herhalende preventieve maatregel betreft.
raming_incl
instance-attribute
¶
raming_incl: float
Raming incl. BTW (gebaseerd op expert judgement, DISK, kosten vanuit vorige projecten, hulp van de kostenpool etc.)
uiterst_advies_jaar
instance-attribute
¶
uiterst_advies_jaar: int
Het uiterste vervangjaar van de specifieke maatregel volgens het ingeladen scenario.
uuid
class-attribute
instance-attribute
¶
RaPlan-RWS unieke identifier.
verlies
instance-attribute
¶
verlies: FunctieVerlies
Beschrijving van het functieverlies van een maatregel in [0.0-1.0].
frequentie
¶
frequentie() -> float
Frequentie van deze maatregel (1.0 / periode) in keren per jaar.
Omgekeerd evenredig afhankelijk van de herhalingsperiode van gepland onderhoud. Wanneer het onderhoud geen periode heeft of een periode van 0, dan is defrequentie ook nul.
Source code in src/raplan_rws/shared.py
maak_kopie
¶
maak_kopie() -> GeplandeMaatregel
time
¶
valt_binnen_horizon
¶
Of deze maatregel (deels) binnen de horizon valt.
Source code in src/raplan_rws/shared.py
window
¶
window(
start: int,
vervroeging_factor: float = 0.25,
later_dan_uiterst_bonus: int = 1,
bevries_verleden: bool = True,
max_vervroeging: int | None = None,
max_uitstel: int | None = None,
) -> Window
Het afgeleide window in de tijd waarin deze maatregel mag worden gepland.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
start
|
int
|
Startjaar van de planningshorizon. Alle latere jaartallen zijn delta's ten opzichte van deze waarde. |
required |
vervroeging_factor
|
float
|
Hoeveel eerder een taak naar voren mag worden gehaald t.o.v. de afstand tussen het advies plan jaar en het uiterst advies jaar. |
0.25
|
later_dan_uiterst_bonus
|
int
|
Hoeveel jaar het uitstel mag worden opgerekt als
het |
1
|
bevries_verleden
|
bool
|
Of in het verleden geplande maatregelen moeten worden vastgezet. |
True
|
max_vervroeging
|
int | None
|
Maximaal aantal jaar dat een maatregel mag worden vervroegd. |
None
|
max_uitstel
|
int | None
|
Maximaal aantal jaar dat een maatregel mag worden uitgesteld. |
None
|
Returns:
| Type | Description |
|---|---|
Window
|
Window met de gevonden begrenzingen. |
Note
Het wordt als volgt berekend:
- Het
advies_plan_jaarwordt alsinitialgebruikt voor hetWindow. - Het regulier uitstel wordt berekend als de maximale waarde van
advies_plan_jaarofuiterst_advies_jaarminus hetadvies_plan_jaar. - De maximale vervroeging
max_rushwordt als de helft van dit regulier uitstel aangenomen. - Het maximale uitstel
max_postis het regulier uitstel plus een bonus factor als die mag worden toegekend op basis vankan_later_dan_uiterst.
Source code in src/raplan_rws/shared.py
MaatregelPlanning
¶
Geplande maatregelen over de tijd.
maatregelen
class-attribute
instance-attribute
¶
maatregelen: list[GeplandeMaatregel] = field(
default_factory=list
)
Lijst van geplande maatregelen.
horizon
¶
horizon() -> Horizon
Leidt een horizon af van de maatregelen in de planning of maak een horizon op alleen dit jaar.
Source code in src/raplan_rws/shared.py
maak_kopie
¶
maak_kopie() -> MaatregelPlanning
naar_excel_bestand
¶
Convert this to an Excel workbook.
objecten_structuren
¶
objecten_structuren() -> (
dict[str, tuple[BeheerObject, ObjectStructuur]]
)
Leid een dictionary af van DISK code naar beheerobject-omschrijvingen en hun objectstructuren.
Source code in src/raplan_rws/shared.py
van_excel_bestand
classmethod
¶
van_excel_bestand(
bestandspad: str | Path,
) -> MaatregelPlanning
Laad een maatregel planning terug in vanaf een Excelbestand.
Source code in src/raplan_rws/shared.py
607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 | |
ObjectStructuur
¶
Structuur van beheerobjecten: hun bouwdelen/elementen.
Attributes:
| Name | Type | Description |
|---|---|---|
element_bouwdelen |
set[ElementBouwdeel]
|
Set van element-bouwdelen in een object. |
disciplines |
defaultdict[ElementBouwdeel, set[Discipline]]
|
Set van herkende disciplines per element-bouwdeel in een object. |
impacts |
defaultdict[ElementBouwdeel, FunctieImpact]
|
De element-functie mapping voor een object. |
maak_kopie
¶
maak_kopie() -> ObjectStructuur
utils
¶
Various utilities for RWS applications.
extract_comp_code
¶
extract_disk_code
¶
Attempt to extract a DISK code from a string such as '39B-002-02'.
Source code in src/raplan_rws/utils.py
is_truey
¶
Whether this is a True-ish value.
Source code in src/raplan_rws/utils.py
setup_raplan_logging
¶
setup_raplan_logging(
raplan_level: int = INFO,
root_level: int = ERROR,
fmt: str = "%(name)s %(levelname)s: %(message)s",
)
Stel een RaPlan logger in die zowel RaPlan als RaPlan-RWS output laat zien.