Resultaten
De beschijving van resultaten zijn bijgewerkt tot versie 0.9.6 van de Validatiemodule. Hieronder staan de resultaten van de Validatiemodule beschreven uitgesplitst naar:
Samenvatting (validation_result.json)
Dit bestand wordt bevraagd via de API wanneer de gebruiker de metadata opvraagt. De validatiemodule levert de volgende eigenschappen:
succes: true/false alleen bij true is de validatie volledig succesvol uitgevoerd
module_version: de versie van de validatiemodule die is gebruikt
date_check: De lokale datum-tijd waarop de validatie is gestart
duration: nummer, de tijd in seconden die de validatie heeft geduurd
status: geeft aan tot welke stap de validatiemodule is gekomen: initialization, define data-model, syntax-validation (layers), syntax-validation (fields), logical validation, export results, finished. Een geslaagde validatie (succes=true) heeft altijd status=finished.
error: een foutmelding gevolgd door een Python Exception. Alleen zichtbaar als succes=false en status != finished
errors: deze is alleen zichtbaar wanneer een of meerdere general_rules of validation_rules uit de validationrules.json een Python-exception veroorzaakt. De module zal bij elke exception doorgaan met de volgende regel uit de validationrules.json. Bij deze errors hebben zelf geen invloed op de status en succes waarden.
dataset_layers: array, lagen zoals aangeboden in de dataset GeoPackage(s)
result_layers: array, de lagen die te downloaden zijn als resultaat
missing_layers: lagen die onderdeel zijn van het datamodel, maar niet aanwezig zijn in de dataset
error_layers: aangeboden lagen die niet konden worden gevalideerd
syntax_result: array, lagen waarvoor een syntax_oordeel beschikbaar is
validation_result: array, lagen waarvoor validation_rules zijn uitgevoerd
Een voorbeeld van een sammenvatting bij een succesvol uitgevoerde validatie:
{
"success": true,
"module_version": "0.9.4",
"date_check": "2022-01-25T15:36:50.082241",
"duration": 13.35630178451538,
"status": "finished",
"dataset_layers": [
"Afvoergebiedaanvoergebied",
"Duikersifonhevel",
"Hydroobject",
"Regelmiddel",
"Stuw",
"Brug",
"Bodemval",
"Gemaal",
"Kunstwerkopening",
"Pomp"
],
"result_layers": [
"afvoergebiedaanvoergebied",
"duikersifonhevel",
"hydroobject",
"regelmiddel",
"stuw",
"brug",
"bodemval",
"gemaal",
"kunstwerkopening",
"pomp"
],
"missing_layers": [
"admingrenswaterschap",
"afsluitmiddel",
"aquaduct",
"beheergrenswaterschap",
"bijzonderhydraulischobject",
"doorstroomopening",
"grondwaterinfolijn",
"grondwaterinfopunt",
"grondwaterkoppellijn",
"grondwaterkoppelpunt",
"hydrologischerandvoorwaarde",
"hydroobject_normgp",
"lateraleknoop",
"meetlocatie",
"meetwaardeactiewaarde",
"normgeparamprofiel",
"normgeparamprofielwaarde",
"peilafwijkinggebied",
"peilbesluitgebied",
"peilgebiedpraktijk",
"peilgebiedvigerend",
"profielgroep",
"profiellijn",
"profielpunt",
"reglementgrenswaterschap",
"streefpeil",
"sturing",
"vispassage",
"vispassagevlak",
"vuilvang",
"zandvang"
],
"error_layers": [],
"syntax_result": [
"afvoergebiedaanvoergebied",
"duikersifonhevel",
"hydroobject",
"regelmiddel",
"stuw",
"brug",
"bodemval",
"gemaal",
"kunstwerkopening",
"pomp"
],
"validation_result": [
"duikersifonhevel",
"regelmiddel",
"kunstwerkopening",
"stuw",
"brug",
"pomp",
"gemaal",
"hydroobject"
],
"warnings": [
"5 objecten niet meegenomen in general_rule object: 'duikersifonhevel', id: '1' wegens no_data in invoer.",
"5 objecten niet meegenomen in general_rule object: 'duikersifonhevel', id: '2' wegens no_data in invoer.",
"5 objecten niet meegenomen in general_rule object: 'duikersifonhevel', id: '3' wegens no_data in invoer.",
"2 objecten niet meegenomen in general_rule object: 'stuw', id: '0' wegens no_data in invoer.",
"2 objecten niet meegenomen in general_rule object: 'stuw', id: '1' wegens no_data in invoer."
]
}
Per object-laag (geopackage, csv en geojson)
Per HyDAMO objectlaag wordt er een laag weggeschreven in het mapje results en of meerdere bestanden:
Als laag in: results.gpkg
Als csv-bestand: csv\{object_laag}.csv
Als geojson-bestand: geojson\{object_laag}.geojson
Zie een voorbeeld csv-bestand voor het HyDAMO object duikersifonhevel op basis van module v0.9.4:
Kolomnamen
Al deze bestanden bevatten de volgende kolomnamen:
nen3610id: string, het nen3610id van het object waarop resultaten worden gerapporteerd
code: string, de waterschapscode van het object
syntax_{kolom_naam}: string, het resultaat van de syntax validatie per kolomnaam in het HyDAMO bestand (1 of meerdere kolommen)
syntax_oordeel: true/false, true als er geen syntax-fouten zijn opgetreden in kolommen, anders false
general_{id:03d}_{result_variable}: numeriek, uitkomst van een general_rule, gespecificeerd naar id en result_variable (0, 1 of meerdere kolommen)
validate_{id:03d}_{result_variable}: true/false, uitkomst van een validation_rule, gespecificeerd naar id en result_variable (1 of meerdere kolommen)
rating: integer, het rapportcijfer.
summary: string, een samentrekking van alle error_messages van alle gefaalde validatieregels op dit object
valid: string, de ids van de validatieregels die niet falen op dit object
invalid: string de ids van de validatieregels die wel falen op dit object
invalid_critical: string uitsplitsing van invalid validatie-ids met het predicaat “critical”
invalid_non_critical: string uitsplitsing van invalid validatie-ids met het predicaat “non-critical”
ignored: string, de ids van de validatieregels die op een of andere manier (input = nan, uitgesloten via filter en/of exceptions) worden genegeerd voor dit object
tags_assigned: string, de tags die aan het object zijn gekoppeld via validatieregels
tags_invalid: string, de tags die aan het object zijn gekoppeld via validatieregels die een niet-plausibel (invalid) resultaat geven
date_check: De lokale datum-tijd waarop de validatie is gestart
Enumeratie van syntax-fouten
De kolommen met de vorm syntax_{kolom_naam} bevatten een syntax-oordeel in de volgende vorm:
oorspronkelijke_waarde → NULL (fouten: #,#,#)
Het deel voor (fouten: #,#,#) geeft een mutatie van de oorspronkelijke waarde naar NULL weer; het veld wordt leeggemaakt. Óf dit gebeurd is afhankelijk van de syntax-fout,
invalid_dtype_error: niet het juiste data-type en niet te converteren (waarde wordt verwijderd)
invalid_dtype: niet het juiste data-type, maar wel te converteren
non_unique_values: niet unieke waarde (waarde wordt verwijderd)
missing_values: missende waarde, overig of onbekend voor een verplichte kolom (waarde wordt verwijderd)
fill_values: een door HWH gespecificeerde opvulwaarde (waarde wordt verwijderd)
non_domain_values: een waarde die niet bij het opgegeven keuzedomein valt (waarde wordt verwijderd)
invalid_geometry: een niet valide geometrie of een geometrie van een onjuist type (geometrie wordt verwijderd)
Voorbeeld:
onbekend-> NULL (fouten: 4) betekent dat veld-waarde onbekend is verwijderd uit een verplichte kolom in het HyDAMO datamodel (code 4).