Functies
De beschijving van functies zijn bijgewerkt tot versie 1.2.0 van de Validatiemodule. Hieronder staan de functies beschreven uitgesplitst naar:
Hulpfuncties (general_rules)
Hulpfuncties worden gebruikt als functie in de sectie general_rules van de validatieregels. Hulpfuncties geven altijd een numerieke waarde terug, met uitzondering van de functies join_parameter en object_relation.
Naam | Invoer | Beschrijving |
---|---|---|
buffer | radius (m) percentile (0-100) coverage (AHN) fill_value (optioneel) | Berekent het percentiel (percentile) over een raster (coverage) binnen een vlak beschreven als een cirkel met een radius rondom het object. Wanneer fill_value wordt gespecificeerd, dan worden ontbrekende waarden uit de functie opgevuld met deze waarde. In de validatieModule wordt nu het AHN 3 DTM met een celgrootte van 5m gebruikt als coverage. |
difference | left right absolute (default=False) | Berekent het verschil tussen een linker (left) en rechter (right), waarbij. Het resultaat = left - right Het is mogelijk het absolute (absolute=True) te berekenen met het optionele argument absolute. left en right kunnen een getal of een HyDAMO attribuut zijn. |
divide | left right | Deelt de linker (left) door de rechter (right), term. Dus: resultaat = left / right left en right kunnen een getal of een HyDAMO attribuut zijn. |
join_parameter | join_object join_parameter fill_value (optioneel) | Uit de tabel met een gerelateerd object (join_object) wordt een parameter (join_parameter) gejoined aan een object. Voorbeeld: aan de HyDAMO laag sturing kan de maximalepompcapaciteit uit de laag pomp worden toegevoegd als parameter met de volgende invoer-waarden:
De koppeling is 1:n (tegengesteld tot de functie object_relation); een waarde van één pomp kan op meerdere sturingsregels worden ingeladen. Wanneer fill_value wordt gespecificeerd, dan worden ontbrekende waarden uit de functie opgevuld met deze waarde. In bovenstaand voorbeeld zal fill_value=0 een leeg resultaat opvullen met 0. |
multiply | left right | Neemt het product van de linker (left) en de rechter (right), term. Dus: resultaat = left * right left en right kunnen een getal of een HyDAMO attribuut zijn. |
object_relation | related_object, statistic related_parameter (optioneel) fill_value | Uit de tabel van gerelateerde objecten (related_object) wordt de statistiek (statistic) berekend over een parameter (related_parameter) uit de tabel van gerelateerde objecten. Voor statistc kunnen de volgende waarden worden gespecificeerd:
Voorbeeld: voor het HyDAMO object gemaal kan de totale maximale gemaalcapaciteit worden bepaald door een related_object functie met pompen met de volgende invoer-waarden:
De koppeling is n:1 (tegengesteld tot de functie join_parameter); de statistiek van meerdere pompen kan toegevoegd worden aan één object gemaal. Wanneer fill_value wordt gespecificeerd, dan worden ontbrekende waarden uit de functie opgevuld met deze waarde. In bovenstaand voorbeeld geeft fill_value=0 een gemaalcapaciteit van 0 terug, op gemalen waar geen pompen zijn gedefinieerd in pomp-objecten. |
sum | array | Berekent de som van alle getallen/attribuut-waarden uit de getallen/attributen gespecificeerd in array Bijvoorbeeld; wanneer de gebruiker array=[“kruinbreedte”, 30] in een sum-functie op het object stuw, geeft de kruinbreedte + 30 als resultaat. |
Logische functies (validation_rules, type=logic)
Logische functies kunnen gebruikt worden in filters en als validatie-functie. Logische functies geven altijd een true/false terug.
Naam | Invoer | Beschrijving |
---|---|---|
BE | parameter, min, max, inclusive (true/false) | parameter ligt tussen min en max waarbij min/max. Inclusive (true/false) bepaalt of min en max zelf worden meegenomen (inclusive=true) of niet (inclusive=false). |
EQ | left, right | left is gelijk aan right |
GE | left, right | left is groter dan of gelijk aan right |
GT | left, right | left is groter dan right |
ISIN | parameter, array | parameter komt voor in de lijst (array) met waarden |
LE | left, right | left is kleiner dan of gelijk aan right |
LT | left, right | left is kleiner dan right |
NOTIN | parameter, array | parameter komt niet voor in de lijst (array) met waarden |
NOTNA | parameter | parameter is ingevuld |
consistent_period | max_gap (default=1) | controlleert voor de object-laag sturing of sets van sturingsregels op een regelmiddel of pomp met dezelfde prioriteit consistente periodes bevatten. Periodes worden gedefinieerd door de attributen beginperiode en eindperiode. Een periode is consistent wanneer deze binnen zijn set niet overlapt met een andere periode binnen dezelfde set. Ook moeten alle periodes binnen de set aaneensluiten. Een set is aaneengesloten wanneer gaten niet groter zijn dan het aantal dagen gedefinieerd door max_gap (default = 1 dag). |
join_object_exists | join_object | een object waarnaar binnen de tabel wordt verwezen bestaat. Bijvoorbeeld, de gemaalid waarin wordt verwezen in de tabel pomp bestaat. In dit voorbeeld wordt de validatie uitgevoerd op de object-laag pomp, waarbij de parameter join_object=gemaal. |
Topologische functies (validation_rules, type=topologic)
Topologische functies kunnen gebruikt worden als topologische validatie-functie. Een object wordt hierbij altijd beschouwd ten opzichte van een hydroobject. De uitvoer van topologische functies zijn altijd true/false.
Naam | Invoer | Beschrijving |
---|---|---|
compare_longitudinal | parameter compare_object compare_parameter direction (upstream/downstream) logical_operator | Controleert of de parameter-waarde (parameter) van een object hoger is dan (logical_operator=”GT”) of lager is dan (logical_operator=”LT”) een andere parameter-waarde (compare_parameter). Deze parameter-waarde kan komen uit het bovenstroomse (direction=upstream) of benedenstroomse (direction=downstream) object uit een andere object-laag (compare_object). Zoals beschreven, er zijn twee mogelijke waarden voor direction:
Let op er wordt alleen gekeken naar objecten die op hetzelfde hydroobject liggen. Zoals beschreven, er zijn twee mogelijke waarden voor logical_operator:
|
distant_to_others | distance (m) | Controleert of twee objecten uit dezelfde laag voldoende afstand (distance) tot elkaar hebben |
geometry_length | length (m) statistic (min, max) | Controleert of de lengte van een lijn-object voldoende lang (statistic=min) of niet langer is dan (statistic=max) een gespecificeerde lengte (length) |
no_dangling_node | tolerance (m) | Controleert of een hydroobject een eindpunt bevat dat niet verbonden is met een beginpunt van een ander hydroobject binnen tolerantie (tolerance). Een hydroobject dat terrect false geeft is óf het uitstroompunt van een watersysteem, of een onterecht doodlopende waterloop die eigenlijk verbonden hoort te zijn met een andere waterloop |
not_overlapping | tolerance (m) | Controleert of een lijn, of punt-object uit een laag niet overlapt met andere objecten uit dezelfde laag binnen een opgegeven tolerantie (tolerance). De volgende lijn-objecten zijn valide (groen) of invalide (rood). Klik voor een groter plaatje: Een punt-object is valide wanneer deze buiten de opgegeven tolerantie ligt van een ander punt |
snaps_to_hydroobject | method tolerance (m) | Controleert of een object een hydroobject kruist of binnen een bepaalde zoekstraal (tolerance) ligt. Verschillende zoekopties (method) zijn beschikbaar waarbij de ligging van de geometrie van een object wordt vergeleken met de ligging van het dichtsbijzijnde hydroobject:
|
splitted_at_junction | tolerance (m) | Controleert of een lijn-object is opgesplitst waar hij geraakt wordt door een begin- of eind-node van een ander lijn-object uit dezelfde laag binnen een opgegeven tolerantie (tolerance) |
structures_at_boundaries | areas structures tolerance (m) distance (m) | Contoleert of er aan de randen van (peil)gebieden (areas) binnen een gespecificeerde afstand (distance) een kunstwerk ligt uit een gespecificeerde lijst (structures). Hierbij worden alleen kunsterken beschouwd binnen een afstand (tolerance) tot een hydroobject dat door de rand (boundary) van een gebied (area) loopt. |
structures_at_intersections | structures tolerance (m) | Controleert of er bij kruisende hydroobjecten die bij de kruising níet opgesplitst zijn kunstwerken uit een gespecificeerde lijst (structures) liggen binnen een obgegeven tolerantie (tolerance) tot de kruisende hydrooobjecten) |
structures_at_nodes | structures tolerance (m) | Controlleert of er bij begin en eindpunten van hydroobjecten kunstwerken uit een gespecificeerde lijst (structures) liggen binnen een afstand tot het betreffende begin/eindpunt. |