Data importeren¶
Deze handleiding gaat er vanuit dat je enkele databestanden hebt geselecteerd zoals die in de vorige pagina (Data voorbereiden) zijn omschreven. Het doel is het inladen van een maatregelplanning met zoveel mogelijk verrijkende data met betrekking tot de maatregelen en elementen en hun bouwdelen.
Startpunt: het RwsProject¶
We starten met het importeren van de POEMA data en OHS data om een RwsProject te vullen met een zo rijk mogelijk gevulde MaatregelPlanning.
Voor het voorbeeld nemen we de Prs. Marijkesluis (39B-001) en Prs. Irenesluis (39B-002) complexen. Daarvoor zijn ook de datasets meegeleverd bij de Rijkswaterstaat Jupyter Notebook omgeving.
Het importeer script ziet er dan als volgt uit:
from raplan_rws.project import BeheerObject, OhsInstellingen, RwsProject
# Het pad naar het POEMA input bestand
poema_input = "../data/POEMA maatregelen Irene en Marijke sluis.xlsx"
# Het pad naar het OHS sheet voor de Prs. Marijkesluis.
marijke_ohs_file = "../data/Kopie van OHS Marijkesluis 2026.xlsm"
# De specifieke OHS sheet instellingen voor de Prs. Marijkesluis.
marijke_ohs_instellingen = OhsInstellingen(
# Bij de Marijkesluis staat in de meeste regels het element in de "Object" kolom.
element_in_object_kolom=True,
# De specifieke object-code wordt in dit OHS sheet eigenlijk niet genoemd,
# daarom nemen we aan dat alles de 39B-001-01 DISK code betreft.
vast_beheerobject=BeheerObject(
code="39B-001-01",
naam="Prs. Marijkesluis",
),
)
# Het pad naar het OHS sheet voor de Prs. Irenesluis.
irene_ohs_file = "../data/Kopie van OHS Irenesluis 2025.xlsm"
# De specifieke OHS sheet instellingen voor de Prs. Irenesluis.
irene_ohs_instellingen = OhsInstellingen(
object_naar_disk_override={
"Objectoverstijgende Voorzieningen Prs. Irenesluis": "39B-002"
}
)
# Het aanmaken van het project zelf.
proj = RwsProject.van_poema_ohs_bestanden(
# Lijst van POEMA export bestanden.
poema=[
poema_input
],
# Lijst van paren van OHS bestanden en instellingen.
ohs=[
(marijke_ohs_file, marijke_ohs_instellingen),
(irene_ohs_file, irene_ohs_instellingen)
],
# Naam van het project. Wordt soms gebruikt in figuren.
naam="Irene en Marijkesluizen demo",
)
# Opslaan van de geïmporteerde maatregelplanning.
proj.naar_excel_bestand("../generated/irene_marijke_volledig.xlsx")
Tip
In de laatste regel in het snippet hierboven is de planning van het project ook gelijk weggeschreven naar een Excel.
Hiermee kan het conversie-proces van POEMA/OHS naar RwsProject de volgende keer worden overgeslagen door deze opgeslagen planning snel terug in te laden.
Het importeerproces kan de nodige tijd in beslag nemen bij grotere datasets omdat er een hoop informatie moet worden afgeleid en aan de verschillende complexen/kolken/elementen/bouwdelen/maatregelen moet worden gekoppeld.
Aanvullende instellingen RwsProject¶
Zie de referentie van RwsProject.van_poema_ohs_bestanden voor aanvullende instellingen mogelijk bij het importeren van de bestanden zoals het instellen van:
- de projectnaam (komt wel eens terug in figuren).
- de horizon in jaren die moet worden meegenomen.
- of het verleden moet worden genegeerd voor taken die niet binnen de horizon kunnen worden ingepland.
- of de toekomst moet worden genegeerd voor taken die niet binnen de horizon kunnen worden ingepland.
- wat de minimale periode moet zijn voor taken om te worden meegenomen zodat te hoogfrequente taken kunnen worden uitgesloten
- vervroegingsfactor voor maatregelen om een aantal jaar te bepalen dat een maatregel naar voren mag worden geschoven.
- of een maatregel toch later dan het uiterst advies jaar zou mogen worden ingepland.
- wat de limitering is op het te bepalen
Windowvan een maatregel in termen van vervroeging (in jaren naar voren). - wat de limitering is op het te bepalen
Windowvan een maatregel in termen van uitstel (in jaren naar achter).
Het snippet wordt dan:
from raplan_rws.project import BeheerObject, Horizon, OhsInstellingen, RwsProject
# Het pad naar het POEMA input bestand
poema_input = "../data/POEMA maatregelen Irene en Marijke sluis.xlsx"
# Het pad naar het OHS sheet voor de Prs. Marijkesluis.
marijke_ohs_file = "../data/Kopie van OHS Marijkesluis 2026.xlsm"
# De specifieke OHS sheet instellingen voor de Prs. Marijkesluis.
marijke_ohs_instellingen = OhsInstellingen(
# Bij de Marijkesluis staat in de meeste regels het element in de "Object" kolom.
element_in_object_kolom=True,
# De specifieke object-code wordt in dit OHS sheet eigenlijk niet genoemd,
# daarom nemen we aan dat alles de 39B-001-01 DISK code betreft.
vast_beheerobject=BeheerObject(
code="39B-001-01",
naam="Prs. Marijkesluis",
),
)
# Het pad naar het OHS sheet voor de Prs. Irenesluis.
irene_ohs_file = "../data/Kopie van OHS Irenesluis 2025.xlsm"
# De specifieke OHS sheet instellingen voor de Prs. Irenesluis.
irene_ohs_instellingen = OhsInstellingen(
object_naar_disk_override={"Objectoverstijgende Voorzieningen Prs. Irenesluis": "39B-002"}
)
# Het aanmaken van het project zelf.
proj = RwsProject.van_poema_ohs_bestanden(
# Lijst van POEMA export bestanden.
poema=[poema_input],
# Lijst van paren van OHS bestanden en instellingen.
ohs=[(marijke_ohs_file, marijke_ohs_instellingen), (irene_ohs_file, irene_ohs_instellingen)],
# Naam van het project. Wordt soms gebruikt in figuren.
naam="Irene en Marijkesluizen demo",
# Projecthorizon in jaren die moet worden meegenomen uit POEMA.
horizon=Horizon(2026, end=None),
# Of taken in het verleden moeten worden genegeerd.
negeer_verleden=True,
# Of taken buiten de horizon in de toekomst moeten worden genegeerd.
# (als er een 'end' is opgegeven)
negeer_toekomst=True,
# Minimale herhalingsperiode voor taken om te mogen worden meegenomen.
minimale_periode=2,
# Vervroegingsfactor voor maatregelen om een aantal jaar te bepalen
# dat een maatregel naar voren mag worden geschoven t.o.v. "uiterst min advies jaar"
vervroeging_factor=0.25,
# Hoeveel jaar een maatregel met een vinkje in de KAN_LATER_DAN_UITERST
# kolom mag worden uitgesteld.
later_dan_uiterst=0,
# Waar de vervroeging van een maatregel op wordt gemaximeerd.
max_vervroeging=1,
# Waar het uitstel van een maatregel op wordt gemaximeerd.
max_uitstel=5,
)
# Opslaan van de geïmporteerde maatregelplanning.
proj.naar_excel_bestand("../generated/irene_marijke_volledig.xlsx")
OHS sheet instellingen¶
Zie OhsInstellingen voor meer informatie wat betreft het importeren van de OHS instellingen zoals:
- Of het OHS sheet één vast beheerobject beschrijft en zo ja: welke.
- Een mapping (dictionary) van objectnamen zoals ze in het OHS sheet worden gebezigd naar DISK codes als die niet in de object-kolom genoemd worden.
- Of de DISK code wordt genoemd in de object kolom in het OHS sheet.
- Of de object-kolom wordt gebruikt om het element weer te geven in plaats van het beheerobject.
Vervolg: exports, visualisatie, analyse¶
That's it! Met de data ingelezen in een RwsProject kun je gelijk door naar:
- Het opslaan/inladen van de planning, zodat je niet steeds op het importeer-proces hoeft te wachten. Dit kun je eventueel opvolgen met handmatige aanpassingen aan de Excel om eventuele missende data aan te vullen of verbeteringen door te voeren.
- Het visualiseren van de planning, om zicht te krijgen op de brondata.
- Het optimaliseren van de planning met de bundelingstool.
- Het handmatig aanpassen van de planning.
- Het schuiven van ingrepen als geheel.
- Het clusteren van ingrepen op basis van gelijkenis
- Eventuele logistieke uitdagingen op het vaarwegennetwerk vroegtijdig signaleren. Dit is alleen goed mogelijk bij datasets die een dusdanig brede scope aan kolken bevatten dat er problemen gesignaleerd kunnen worden.
Meekijken onder de motorkap¶
Tip
Gaat er wat mis? Het pakket houdt een logboek bij van enkele interne acties, boekhouding en sommige outputs. Wellicht zit daar meer informatie tussen om het gedrag beter te begrijpen. Deze logs kunnen worden toegevoegd aan de standaard output met behulp van het volgende snippet aan het begin van een Notebook:
Voor maximale verbositeit kan dit worden aangepast naar: