class HydrogeologischeStratigrafieLaag(AbstractDovSubType): rootpath = './/hydrogeologischeinterpretatie/laag' fields = [ XmlField(name='diepte_laag_van', source_xpath='/van', definition='Diepte van de bovenkant van de laag ' 'hydrogeologische stratigrafie in meter.', datatype='float'), XmlField(name='diepte_laag_tot', source_xpath='/tot', definition='Diepte van de onderkant van de laag ' 'hydrogeologische stratigrafie in meter.', datatype='float'), XmlField(name='aquifer', source_xpath='/aquifer', definition='code van de watervoerende laag waarin de laag ' 'Hydrogeologische stratigrafie zich bevindt.', datatype='string', xsd_type=XsdType(xsd_schema=build_dov_url( 'xdov/schema/latest/xsd/kern/interpretatie/' 'HydrogeologischeStratigrafieDataCodes.xsd'), typename='AquiferEnumType')) ]
class Boring(AbstractDovType): """Class representing the DOV data type for boreholes.""" subtypes = [BoorMethode] fields = [ WfsField(name='pkey_boring', source_field='fiche', datatype='string'), WfsField(name='boornummer', source_field='boornummer', datatype='string'), WfsField(name='x', source_field='X_mL72', datatype='float'), WfsField(name='y', source_field='Y_mL72', datatype='float'), XmlField(name='mv_mtaw', source_xpath='/boring/oorspronkelijk_maaiveld/waarde', definition='Maaiveldhoogte in mTAW op dag dat de boring ' 'uitgevoerd werd.', datatype='float'), WfsField(name='start_boring_mtaw', source_field='Z_mTAW', datatype='float'), WfsField(name='gemeente', source_field='gemeente', datatype='string'), XmlField(name='diepte_boring_van', source_xpath='/boring/diepte_van', definition='Startdiepte van de boring (in meter).', datatype='float', notnull=True), WfsField(name='diepte_boring_tot', source_field='diepte_tot_m', datatype='float'), WfsField(name='datum_aanvang', source_field='datum_aanvang', datatype='date'), WfsField(name='uitvoerder', source_field='uitvoerder', datatype='string'), XmlField(name='boorgatmeting', source_xpath='/boring/boorgatmeting/uitgevoerd', definition='Is er een boorgatmeting uitgevoerd (ja/nee).', datatype='boolean') ] pkey_fieldname = 'fiche' def __init__(self, pkey): """Initialisation. Parameters ---------- pkey : str Permanent key of the Boring (borehole), being a URI of the form `https://www.dov.vlaanderen.be/data/boring/<id>`. """ super(Boring, self).__init__('boring', pkey)
class QuartairStratigrafieLaag(AbstractDovSubType): rootpath = './/quartairstratigrafie/laag' fields = [ XmlField(name='diepte_laag_van', source_xpath='/van', definition='diepte van de bovenkant van de laag ' 'quartairstratigrafie in meter', datatype='float'), XmlField(name='diepte_laag_tot', source_xpath='/tot', definition='diepte van de onderkant van de laag ' 'quartairstratigrafie in meter', datatype='float'), XmlField(name='lid1', source_xpath='/lid1', definition='eerste eenheid van de laag quartairstratigrafie', datatype='string', xsd_type=XsdType( xsd_schema='https://www.dov.vlaanderen.be/xdov/schema/' 'latest/xsd/kern/interpretatie/' 'QuartairStratigrafieDataCodes.xsd', typename='QuartairStratigrafieLedenEnumType')), XmlField(name='relatie_lid1_lid2', source_xpath='/relatie_lid1_lid2', definition='verbinding of relatie tussen lid1 en lid2 van de ' 'laag quartairstratigrafie', datatype='string', xsd_type=XsdType( xsd_schema='https://www.dov.vlaanderen.be/xdov/schema/' 'latest/xsd/kern/interpretatie/' 'InterpretatieDataCodes.xsd', typename='RelatieLedenEnumType')), XmlField(name='lid2', source_xpath='/lid2', definition='tweede eenheid van de laag quartairstratigrafie. ' 'Indien niet ingevuld wordt default dezelfde waarde ' 'als voor Lid1 ingevuld', datatype='string', xsd_type=XsdType( xsd_schema='https://www.dov.vlaanderen.be/xdov/schema/' 'latest/xsd/kern/interpretatie/' 'QuartairStratigrafieDataCodes.xsd', typename='QuartairStratigrafieLedenEnumType')) ]
class MyGrondwaterFilter(GrondwaterFilter): fields = GrondwaterFilter.extend_fields([ XmlField(name='grondwatersysteem', source_xpath='/filter/ligging/grondwatersysteem', definition='Grondwatersysteem waarin de filter hangt.', datatype='string') ])
class FormeleStratigrafieLaag(AbstractDovSubType): rootpath = './/formelestratigrafie/laag' fields = [ XmlField(name='diepte_laag_van', source_xpath='/van', definition='Diepte van de bovenkant van de laag Formele ' 'stratigrafie in meter.', datatype='float'), XmlField(name='diepte_laag_tot', source_xpath='/tot', definition='Diepte van de onderkant van de laag Formele ' 'stratigrafie in meter.', datatype='float'), XmlField(name='lid1', source_xpath='/lid1', definition='eerste eenheid van de laag formele stratigrafie', datatype='string', xsd_type=XsdType( xsd_schema=build_dov_url( 'xdov/schema/latest/xsd/kern/interpretatie/' 'FormeleStratigrafieDataCodes.xsd'), typename='FormeleStratigrafieLedenEnumType')), XmlField(name='relatie_lid1_lid2', source_xpath='/relatie_lid1_lid2', definition='verbinding/relatie tussen lid1 en lid2 van de ' 'laag formele stratigrafie', datatype='string', xsd_type=XsdType(xsd_schema=build_dov_url( 'xdov/schema/latest/xsd/kern/interpretatie/' 'InterpretatieDataCodes.xsd'), typename='RelatieLedenEnumType')), XmlField(name='lid2', source_xpath='/lid2', definition='tweede eenheid van de laag formele stratigrafie. ' 'Indien niet ingevuld wordt default de waarde van lid1 ' 'ingevuld', datatype='string', xsd_type=XsdType(xsd_schema=build_dov_url( 'xdov/schema/latest/xsd/kern/interpretatie/' 'FormeleStratigrafieDataCodes.xsd'), typename='FormeleStratigrafieLedenEnumType')) ]
class MyFilterOpbouw(AbstractDovSubType): rootpath = './/filter/opbouw/onderdeel' fields = [ XmlField(name='opbouw_van', source_xpath='/van', definition='Opbouw van', datatype='float'), XmlField(name='opbouw_tot', source_xpath='/tot', definition='Opbouw tot', datatype='float'), XmlField(name='opbouw_element', source_xpath='/filterelement', definition='Opbouw element', datatype='string', notnull=False) ]
class BoorMethode(AbstractDovSubType): rootpath = './/boring/details/boormethode' fields = [ XmlField(name='diepte_methode_van', source_xpath='/van', definition='Bovenkant van de laag die met een bepaalde ' 'methode aangeboord werd, in meter.', datatype='float'), XmlField(name='diepte_methode_tot', source_xpath='/tot', definition='Onderkant van de laag die met een bepaalde ' 'methode aangeboord werd, in meter.', datatype='float'), XmlField(name='boormethode', source_xpath='/methode', definition='Boormethode voor het diepte-interval.', datatype='string') ]
class LithologischeBeschrijvingLaag(AbstractDovSubType): rootpath = './/lithologischebeschrijving/laag' fields = [ XmlField(name='diepte_laag_van', source_xpath='/van', definition='Diepte van de bovenkant van de laag ' 'lithologische beschrijving in meter.', datatype='float'), XmlField(name='diepte_laag_tot', source_xpath='/tot', definition='Diepte van de onderkant van de laag ' 'lithologische beschrijving in meter.', datatype='float'), XmlField(name='beschrijving', source_xpath='/beschrijving', definition='Lithologische beschrijving van de laag in vrije ' 'tekst (onbeperkt in lengte)', datatype='string') ]
class Observatie(AbstractDovSubType): rootpath = './/filtermeting/watermonster/observatie' fields = [ XmlField(name='parametergroep', source_xpath='/parametergroep', definition='Parametergroep', datatype='string'), XmlField(name='parameter', source_xpath='/parameter', definition='Parameter', datatype='string', xsd_type=XsdType(xsd_schema=_observatieDataCodes_xsd, typename='ParameterEnumType')), XmlField(name='detectie', source_xpath='/detectieconditie', definition='boven/onder detectielimiet', datatype='string'), XmlField(name='waarde', source_xpath='/waarde_numeriek', definition='waarde (numeriek) van de parameter', datatype='float'), XmlField(name='eenheid', source_xpath='/eenheid', definition='Eenheid', datatype='string', xsd_type=XsdType(xsd_schema=_observatieDataCodes_xsd, typename='MeeteenheidEnumType')), XmlField(name='veld_labo', source_xpath='/veld_labo', definition='observatie in het LABO of op het VELD', datatype='string'), ]
class InformeleHydrogeologischeStratigrafieLaag(AbstractDovSubType): rootpath = './/informelehydrostratigrafie/laag' fields = [ XmlField(name='diepte_laag_van', source_xpath='/van', definition='Diepte van de bovenkant van de laag informele ' 'hydrostratigrafie in meter.', datatype='float'), XmlField(name='diepte_laag_tot', source_xpath='/tot', definition='Diepte van de onderkant van de laag informele ' 'hydrostratigrafie in meter.', datatype='float'), XmlField(name='beschrijving', source_xpath='/beschrijving', definition='Benoeming van de eenheid van de laag informele ' 'hydrostratigrafie in vrije tekst (onbeperkt in ' 'lengte).', datatype='string') ]
class Korrelverdeling(AbstractDovSubType): rootpath = './/grondmonster/observatieReeksData/' \ 'korrelverdeling_reeks/korrelverdeling' fields = [ XmlField(name='diameter', source_xpath='/diameter', definition='.', datatype='float', notnull=False), XmlField(name='fractie', source_xpath='/fractie', definition='.', datatype='float', notnull=False), XmlField(name='methode', source_xpath='/methode', definition='.', datatype='string', notnull=False) ]
class Peilmeting(AbstractDovSubType): rootpath = './/filtermeting/peilmeting' fields = [ XmlField(name='datum', source_xpath='/datum', definition='Datum waarop de peilmeting uitgevoerd werd.', datatype='date'), XmlField(name='tijdstip', source_xpath='/tijdstip', definition='Tijdstip waarop de peilmeting uitgevoerd werd (' 'optioneel).', datatype='string'), XmlField(name='peil_mtaw', source_xpath='/peil_mtaw', definition='Diepte van de peilmeting, uitgedrukt in mTAW.', datatype='float'), XmlField(name='betrouwbaarheid', source_xpath='/betrouwbaarheid', definition='Betrouwbaarheid van de peilmeting (goed, ' 'onbekend of twijfelachtig).', datatype='string'), XmlField(name='methode', source_xpath='/methode', definition='Methode waarop de peilmeting uitgevoerd werd.', datatype='string', xsd_type=XsdType(xsd_schema=_filterDataCodes_xsd, typename='PeilmetingMethodeEnumType')), XmlField(name='filterstatus', source_xpath='/filterstatus', definition='Status van de filter tijdens de peilmeting (in ' 'rust - werking).', datatype='string', xsd_type=XsdType(xsd_schema=_filterDataCodes_xsd, typename='FilterstatusEnumType')), XmlField(name='filtertoestand', source_xpath='/filtertoestand', definition="Filtertoestand bij de peilmeting. " "Standaardwaarde is '1' = Normaal.", datatype='integer', xsd_type=XsdType(xsd_schema=_filterDataCodes_xsd, typename='FiltertoestandEnumType')) ]
class Meetdata(AbstractDovSubType): rootpath = './/sondering/sondeonderzoek/penetratietest/meetdata' fields = [ XmlField(name='z', source_xpath='/sondeerdiepte', definition='Diepte waarop sondeerparameters geregistreerd ' 'werden, uitgedrukt in meter ten opzicht van het ' 'aanvangspeil.', datatype='float'), XmlField(name='qc', source_xpath='/qc', definition='Opgemeten waarde van de conusweerstand, ' 'uitgedrukt in MPa.', datatype='float'), XmlField(name='Qt', source_xpath='/Qt', definition='Opgemeten waarde van de totale weerstand, ' 'uitgedrukt in kN.', datatype='float'), XmlField(name='fs', source_xpath='/fs', definition='Opgemeten waarde van de plaatelijke ' 'kleefweerstand, uitgedrukt in kPa.', datatype='float'), XmlField(name='u', source_xpath='/u', definition='Opgemeten waarde van de porienwaterspanning, ' 'uitgedrukt in kPa.', datatype='float'), XmlField(name='i', source_xpath='/i', definition='Opgemeten waarde van de inclinatie, uitgedrukt ' 'in graden.', datatype='float') ]
class GeotechnischeCoderingLaag(AbstractDovSubType): rootpath = './/geotechnischecodering/laag' __geotechnischeCoderingHoofdnaamCodesEnumType = XsdType( xsd_schema=build_dov_url('xdov/schema/latest/xsd/kern/interpretatie/' 'GeotechnischeCoderingDataCodes.xsd'), typename='GeotechnischeCoderingHoofdnaamCodesEnumType') __gtCoderingBijmengingHoeveelheidEnumType = XsdType( xsd_schema=build_dov_url('xdov/schema/latest/xsd/kern/interpretatie/' 'GeotechnischeCoderingDataCodes.xsd'), typename='GeotechnischeCoderingBijmengingHoeveelheidEnumType') fields = [ XmlField(name='diepte_laag_van', source_xpath='/van', definition='Diepte van de bovenkant van de laag ' 'geotechnische codering in meter.', datatype='float'), XmlField(name='diepte_laag_tot', source_xpath='/tot', definition='Diepte van de onderkant van de laag ' 'geotechnische codering in meter.', datatype='float'), XmlField(name='hoofdnaam1_grondsoort', source_xpath='/hoofdnaam[1]/grondsoort', definition='hoofdnaam (als code) van de laag geotechnische ' 'codering', datatype='string', xsd_type=__geotechnischeCoderingHoofdnaamCodesEnumType), XmlField(name='hoofdnaam2_grondsoort', source_xpath='/hoofdnaam[2]/grondsoort', definition='Secundaire grondsoort (als code) van de laag ' 'geotechnische codering', datatype='string', xsd_type=__geotechnischeCoderingHoofdnaamCodesEnumType), XmlField(name='bijmenging1_plaatselijk', source_xpath='/bijmenging[1]/plaatselijk', definition='plaatselijk of niet-plaatselijk', datatype='boolean'), XmlField(name='bijmenging1_hoeveelheid', source_xpath='/bijmenging[1]/hoeveelheid', definition='aanduiding van de hoeveelheid bijmenging', datatype='string', xsd_type=__gtCoderingBijmengingHoeveelheidEnumType), XmlField(name='bijmenging1_grondsoort', source_xpath='/bijmenging[1]/grondsoort', definition='type grondsoort (als code) van de laag ' 'geotechnische codering', datatype='string', xsd_type=__geotechnischeCoderingHoofdnaamCodesEnumType), XmlField(name='bijmenging2_plaatselijk', source_xpath='/bijmenging[2]/plaatselijk', definition='plaatselijk of niet-plaatselijk', datatype='boolean'), XmlField(name='bijmenging2_hoeveelheid', source_xpath='/bijmenging[2]/hoeveelheid', definition='aanduiding van de hoeveelheid bijmenging', datatype='string', xsd_type=__gtCoderingBijmengingHoeveelheidEnumType), XmlField(name='bijmenging2_grondsoort', source_xpath='/bijmenging[2]/grondsoort', definition='type grondsoort (als code) van de laag ' 'geotechnische codering', datatype='string', xsd_type=__geotechnischeCoderingHoofdnaamCodesEnumType), XmlField(name='bijmenging3_plaatselijk', source_xpath='/bijmenging[3]/plaatselijk', definition='plaatselijk of niet-plaatselijk', datatype='boolean'), XmlField(name='bijmenging3_hoeveelheid', source_xpath='/bijmenging[3]/hoeveelheid', definition='aanduiding van de hoeveelheid bijmenging', datatype='string', xsd_type=__gtCoderingBijmengingHoeveelheidEnumType), XmlField(name='bijmenging3_grondsoort', source_xpath='/bijmenging[3]/grondsoort', definition='type grondsoort (als code) van de laag ' 'geotechnische codering', datatype='string', xsd_type=__geotechnischeCoderingHoofdnaamCodesEnumType) ]
class Sondering(AbstractDovType): """Class representing the DOV data type for CPT measurements.""" subtypes = [Meetdata] fields = [ WfsField(name='pkey_sondering', source_field='fiche', datatype='string'), WfsField(name='sondeernummer', source_field='sondeernummer', datatype='string'), WfsField(name='x', source_field='X_mL72', datatype='float'), WfsField(name='y', source_field='Y_mL72', datatype='float'), WfsField(name='start_sondering_mtaw', source_field='Z_mTAW', datatype='float'), WfsField(name='diepte_sondering_van', source_field='diepte_van_m', datatype='float'), WfsField(name='diepte_sondering_tot', source_field='diepte_tot_m', datatype='float'), WfsField(name='datum_aanvang', source_field='datum_aanvang', datatype='date'), WfsField(name='uitvoerder', source_field='uitvoerder', datatype='string'), WfsField(name='sondeermethode', source_field='sondeermethode', datatype='string'), WfsField(name='apparaat', source_field='apparaat_type', datatype='string'), XmlField(name='datum_gw_meting', source_xpath='/sondering/visueelonderzoek/' 'datumtijd_waarneming_grondwaterstand', definition='Datum en tijdstip van waarneming van de ' 'grondwaterstand.', datatype='datetime'), XmlField(name='diepte_gw_m', source_xpath='/sondering/visueelonderzoek/grondwaterstand', definition='Diepte water in meter ten opzicht van het ' 'aanvangspeil.', datatype='float') ] def __init__(self, pkey): """Initialisation. Parameters ---------- pkey : str Permanent key of the Sondering (CPT measurement), being a URI of the form `https://www.dov.vlaanderen.be/data/sondering/<id>`. """ super(Sondering, self).__init__('sondering', pkey) @classmethod def from_wfs_element(cls, feature, namespace): s = cls(feature.findtext('./{{{}}}fiche'.format(namespace))) for field in cls.get_fields(source=('wfs', )).values(): s.data[field['name']] = cls._parse(func=feature.findtext, xpath=field['sourcefield'], namespace=namespace, returntype=field.get( 'type', None)) return s
class Grondmonster(AbstractDovType): """Class representing the DOV data type for ground samples.""" subtypes = [Korrelverdeling] __grondmonsterDataCodesEnumType = XsdType( xsd_schema='https://www.dov.vlaanderen.be/xdov/schema/latest/' 'xsd/kern/grondmonster/GrondmonsterDataCodes.xsd', typename='MonsterEnumType') fields = [ WfsField(name='pkey_grondmonster', source_field='grondmonsterfiche', datatype='string'), WfsField(name='naam', source_field='naam', datatype='string'), WfsField(name='pkey_boring', source_field='boringfiche', datatype='string'), WfsField(name='boornummer', source_field='boornummer', datatype='string'), XmlField( name='datum', source_xpath='/grondmonster/datum_monstername', datatype='date', ), WfsField(name='x', source_field='X_mL72', datatype='float'), WfsField(name='y', source_field='Y_mL72', datatype='float'), WfsField(name='gemeente', source_field='gemeente', datatype='string'), WfsField(name='diepte_van_m', source_field='diepte_van_m', datatype='float'), WfsField(name='diepte_tot_m', source_field='diepte_tot_m', datatype='float'), WfsField(name='peil_van_mtaw', source_field='peil_van_mTAW', datatype='float'), WfsField(name='peil_tot_mtaw', source_field='peil_tot_mTAW', datatype='float'), WfsField(name='monstertype', source_field='monstertype', datatype='string'), XmlField(name='astm_naam', source_xpath='/grondmonster/observatieData/observatie[' 'parameter="ASTM_NAAM"]/waarde_text', definition='ASTM_naam', datatype='string'), XmlField(name='grondsoort_bggg', source_xpath='/grondmonster/observatieData/observatie[' 'parameter="BGGG"]/waarde_text', definition='Grondsoort BGGG', datatype='string'), XmlField(name='humusgehalte', source_xpath='/grondmonster/observatieData/observatie[' 'parameter="HUMUSGEHALTE"]/waarde_numeriek', definition='Humusgehalte', datatype='float'), XmlField(name='kalkgehalte', source_xpath='/grondmonster/observatieData/observatie[' 'parameter="KALKGEHALTE"]/waarde_numeriek', definition='Kalkgehalte', datatype='float'), XmlField(name='uitrolgrens', source_xpath='/grondmonster/observatieData/observatie[' 'parameter="UITROLGRENS"]/waarde_numeriek', definition='Uitrolgrens', datatype='float'), XmlField(name='vloeigrens', source_xpath='/grondmonster/observatieData/observatie[' 'parameter="VLOEIGRENS"]/waarde_numeriek', definition='Vloeigrens', datatype='float'), XmlField(name='glauconiet', source_xpath='/grondmonster/observatieData/observatie[' 'parameter="GLAUCONIET_TOTAAL"]/waarde_numeriek', definition='Glauconiet totaal', datatype='float'), XmlField(name='korrelvolumemassa', source_xpath='/grondmonster/observatieData/observatie[' 'parameter="korrelvolumemassa"]/waarde_numeriek', definition='', datatype='float'), XmlField(name='volumemassa', source_xpath='/grondmonster/observatieData/observatie[' 'parameter="volumemassa"]/waarde_numeriek', definition='', datatype='float'), XmlField(name='watergehalte', source_xpath='/grondmonster/observatieData/observatie[' 'parameter="watergehalte"]/waarde_numeriek', definition='', datatype='float') ] def __init__(self, pkey): """Initialisation. Parameters ---------- pkey : str Permanent key of the Grondmonster, being a URI of the form `https://www.dov.vlaanderen.be/data/grondmonster/<id>`. """ super(Grondmonster, self).__init__('grondmonster', pkey) @classmethod def from_wfs_element(cls, feature, namespace): """Build `Grondmonster` instance from a WFS feature element. Parameters ---------- feature : etree.Element XML element representing a single record of the WFS layer. namespace : str Namespace associated with this WFS featuretype. Returns ------- grondmonster : Grondmonster An instance of this class populated with the data from the WFS element. """ grondmonster = cls( feature.findtext('./{{{}}}grondmonsterfiche'.format(namespace))) for field in cls.get_fields(source=('wfs', )).values(): grondmonster.data[field['name']] = cls._parse( func=feature.findtext, xpath=field['sourcefield'], namespace=namespace, returntype=field.get('type', None)) return grondmonster
class GecodeerdeLithologieLaag(AbstractDovSubType): rootpath = './/gecodeerdelithologie/laag' __gecodeerdHoofdnaamCodesEnumType = XsdType( xsd_schema='https://www.dov.vlaanderen.be/xdov/schema/latest/xsd/' 'kern/interpretatie/GecodeerdeLithologieDataCodes.xsd', typename='GecodeerdHoofdnaamCodesEnumType') __gecodeerdBijmengingHoeveelheidEnumType = XsdType( xsd_schema='https://www.dov.vlaanderen.be/xdov/schema/latest/xsd/' 'kern/interpretatie/GecodeerdeLithologieDataCodes.xsd', typename='GecodeerdBijmengingHoeveelheidEnumType') fields = [ XmlField(name='diepte_laag_van', source_xpath='/van', definition='Diepte van de bovenkant van de laag ' 'gecodeerde lithologie in meter.', datatype='float'), XmlField(name='diepte_laag_tot', source_xpath='/tot', definition='Diepte van de onderkant van de laag ' 'gecodeerde lithologie in meter.', datatype='float'), XmlField(name='hoofdnaam1_grondsoort', source_xpath='/hoofdnaam[1]/grondsoort', definition='Primaire grondsoort (als code) van de laag ' 'gecodeerde lithologie', datatype='string', xsd_type=__gecodeerdHoofdnaamCodesEnumType), XmlField(name='hoofdnaam2_grondsoort', source_xpath='/hoofdnaam[2]/grondsoort', definition='Secundaire grondsoort (als code) van de laag ' 'gecodeerde lithologie', datatype='string', xsd_type=__gecodeerdHoofdnaamCodesEnumType), XmlField(name='bijmenging1_plaatselijk', source_xpath='/bijmenging[1]/plaatselijk', definition='plaatselijk of niet-plaatselijk', datatype='boolean'), XmlField(name='bijmenging1_hoeveelheid', source_xpath='/bijmenging[1]/hoeveelheid', definition='aanduiding van de hoeveelheid bijmenging', datatype='string', xsd_type=__gecodeerdBijmengingHoeveelheidEnumType), XmlField(name='bijmenging1_grondsoort', source_xpath='/bijmenging[1]/grondsoort', definition='type grondsoort (als code) van de laag ' 'gecodeerde lithologie of geotechnische codering', datatype='string', xsd_type=__gecodeerdHoofdnaamCodesEnumType), XmlField(name='bijmenging2_plaatselijk', source_xpath='/bijmenging[2]/plaatselijk', definition='plaatselijk of niet-plaatselijk', datatype='boolean'), XmlField(name='bijmenging2_hoeveelheid', source_xpath='/bijmenging[2]/hoeveelheid', definition='aanduiding van de hoeveelheid bijmenging', datatype='string', xsd_type=__gecodeerdBijmengingHoeveelheidEnumType), XmlField(name='bijmenging2_grondsoort', source_xpath='/bijmenging[2]/grondsoort', definition='type grondsoort (als code) van de laag ' 'gecodeerde lithologie of geotechnische codering', datatype='string', xsd_type=__gecodeerdHoofdnaamCodesEnumType), XmlField(name='bijmenging3_plaatselijk', source_xpath='/bijmenging[3]/plaatselijk', definition='plaatselijk of niet-plaatselijk', datatype='boolean'), XmlField(name='bijmenging3_hoeveelheid', source_xpath='/bijmenging[3]/hoeveelheid', definition='aanduiding van de hoeveelheid bijmenging', datatype='string', xsd_type=__gecodeerdBijmengingHoeveelheidEnumType), XmlField(name='bijmenging3_grondsoort', source_xpath='/bijmenging[3]/grondsoort', definition='type grondsoort (als code) van de laag ' 'gecodeerde lithologie of geotechnische codering', datatype='string', xsd_type=__gecodeerdHoofdnaamCodesEnumType) ]
class Grondmonster(AbstractDovType): """Class representing the DOV data type for ground samples.""" subtypes = [Korrelverdeling] __grondmonsterDataCodesEnumType = XsdType( xsd_schema='https://www.dov.vlaanderen.be/xdov/schema/latest/' 'xsd/kern/grondmonster/GrondmonsterDataCodes.xsd', typename='MonsterEnumType' ) fields = [ WfsField(name='pkey_grondmonster', source_field='grondmonsterfiche', datatype='string'), WfsField(name='naam', source_field='naam', datatype='string'), WfsField(name='pkey_boring', source_field='boringfiche', datatype='string'), WfsField(name='boornummer', source_field='boornummer', datatype='string'), XmlField(name='datum', source_xpath='/grondmonster/datum_monstername', datatype='date',), WfsField(name='x', source_field='X_mL72', datatype='float'), WfsField(name='y', source_field='Y_mL72', datatype='float'), WfsField(name='gemeente', source_field='gemeente', datatype='string'), WfsField(name='diepte_van_m', source_field='diepte_van_m', datatype='float'), WfsField(name='diepte_tot_m', source_field='diepte_tot_m', datatype='float'), WfsField(name='peil_van_mtaw', source_field='peil_van_mTAW', datatype='float'), WfsField(name='peil_tot_mtaw', source_field='peil_tot_mTAW', datatype='float'), WfsField(name='monstertype', source_field='monstertype', datatype='string'), XmlField(name='astm_naam', source_xpath='/grondmonster/observatieData/observatie[' 'parameter="ASTM_NAAM"]/waarde_text', definition='ASTM_naam', datatype='string'), XmlField(name='grondsoort_bggg', source_xpath='/grondmonster/observatieData/observatie[' 'parameter="BGGG"]/waarde_text', definition='Grondsoort BGGG', datatype='string'), XmlField(name='humusgehalte', source_xpath='/grondmonster/observatieData/observatie[' 'parameter="HUMUSGEHALTE"]/waarde_numeriek', definition='Humusgehalte', datatype='float'), XmlField(name='kalkgehalte', source_xpath='/grondmonster/observatieData/observatie[' 'parameter="KALKGEHALTE"]/waarde_numeriek', definition='Kalkgehalte', datatype='float'), XmlField(name='uitrolgrens', source_xpath='/grondmonster/observatieData/observatie[' 'parameter="UITROLGRENS"]/waarde_numeriek', definition='Uitrolgrens', datatype='float'), XmlField(name='vloeigrens', source_xpath='/grondmonster/observatieData/observatie[' 'parameter="VLOEIGRENS"]/waarde_numeriek', definition='Vloeigrens', datatype='float'), XmlField(name='glauconiet', source_xpath='/grondmonster/observatieData/observatie[' 'parameter="GLAUCONIET_TOTAAL"]/waarde_numeriek', definition='Glauconiet totaal', datatype='float'), XmlField(name='korrelvolumemassa', source_xpath='/grondmonster/observatieData/observatie[' 'parameter="KORRELVOLUMEMASSA"]/waarde_numeriek', definition='', datatype='float'), XmlField(name='volumemassa', source_xpath='/grondmonster/observatieData/observatie[' 'parameter="VOLUMEMASSA"]/waarde_numeriek', definition='', datatype='float'), XmlField(name='watergehalte', source_xpath='/grondmonster/observatieData/observatie[' 'parameter="WATERGEHALTE"]/waarde_numeriek', definition='', datatype='float') ] pkey_fieldname = 'grondmonsterfiche' def __init__(self, pkey): """Initialisation. Parameters ---------- pkey : str Permanent key of the Grondmonster, being a URI of the form `https://www.dov.vlaanderen.be/data/grondmonster/<id>`. """ super(Grondmonster, self).__init__('grondmonster', pkey)
class GrondwaterFilter(AbstractDovType): """Class representing the DOV data type for Groundwater screens.""" subtypes = [Peilmeting] fields = [ WfsField(name='pkey_filter', source_field='filterfiche', datatype='string'), WfsField(name='pkey_grondwaterlocatie', source_field='putfiche', datatype='string'), WfsField(name='gw_id', source_field='GW_ID', datatype='string'), WfsField(name='filternummer', source_field='filternummer', datatype='string'), WfsField(name='filtertype', source_field='filtertype', datatype='string'), WfsField(name='x', source_field='X_mL72', datatype='float'), WfsField(name='y', source_field='Y_mL72', datatype='float'), WfsField(name='start_grondwaterlocatie_mtaw', source_field='Z_mTAW', datatype='float'), XmlField(name='mv_mtaw', source_xpath='/grondwaterlocatie/puntligging/' 'oorspronkelijk_maaiveld/waarde', definition='Maaiveldhoogte in mTAW op dag ' 'dat de put/boring uitgevoerd werd', datatype='float'), WfsField(name='gemeente', source_field='gemeente', datatype='string'), XmlField(name='meetnet_code', source_xpath='/filter/meetnet', definition='Tot welk meetnet behoort deze filter.', datatype='string', xsd_type=XsdType(xsd_schema=_filterDataCodes_xsd, typename='MeetnetEnumType')), XmlField(name='aquifer_code', source_xpath='/filter/ligging/aquifer', definition='In welke watervoerende laag hangt de filter ' '(code).', datatype='string', xsd_type=XsdType(xsd_schema=build_dov_url( 'xdov/schema/latest/xsd/kern/interpretatie/' 'HydrogeologischeStratigrafieDataCodes.xsd'), typename='AquiferEnumType')), XmlField(name='grondwaterlichaam_code', source_xpath='/filter/ligging/grondwaterlichaam', definition='', datatype='string', xsd_type=XsdType(xsd_schema=_filterDataCodes_xsd, typename='GrondwaterlichaamEnumType')), XmlField(name='regime', source_xpath='/filter/ligging/regime', definition='', datatype='string'), WfsField(name='diepte_onderkant_filter', source_field='onderkant_filter_m', datatype='float'), WfsField(name='lengte_filter', source_field='lengte_filter_m', datatype='float') ] pkey_fieldname = 'filterfiche' def __init__(self, pkey): """Initialisation. Parameters ---------- pkey : str Permanent key of the Filter (screen), being a URI of the form `https://www.dov.vlaanderen.be/data/filter/<id>`. """ super(GrondwaterFilter, self).__init__('filter', pkey)
class Boring(AbstractDovType): """Class representing the DOV data type for boreholes.""" subtypes = [BoorMethode] fields = [ WfsField(name='pkey_boring', source_field='fiche', datatype='string'), WfsField(name='boornummer', source_field='boornummer', datatype='string'), WfsField(name='x', source_field='X_mL72', datatype='float'), WfsField(name='y', source_field='Y_mL72', datatype='float'), XmlField(name='mv_mtaw', source_xpath='/boring/oorspronkelijk_maaiveld/waarde', definition='Maaiveldhoogte in mTAW op dag dat de boring ' 'uitgevoerd werd.', datatype='float'), WfsField(name='start_boring_mtaw', source_field='Z_mTAW', datatype='float'), WfsField(name='gemeente', source_field='gemeente', datatype='string'), XmlField(name='diepte_boring_van', source_xpath='/boring/diepte_van', definition='Startdiepte van de boring (in meter).', datatype='float', notnull=True), WfsField(name='diepte_boring_tot', source_field='diepte_tot_m', datatype='float'), WfsField(name='datum_aanvang', source_field='datum_aanvang', datatype='date'), WfsField(name='uitvoerder', source_field='uitvoerder', datatype='string'), XmlField(name='boorgatmeting', source_xpath='/boring/boorgatmeting/uitgevoerd', definition='Is er een boorgatmeting uitgevoerd (ja/nee).', datatype='boolean') ] def __init__(self, pkey): """Initialisation. Parameters ---------- pkey : str Permanent key of the Boring (borehole), being a URI of the form `https://www.dov.vlaanderen.be/data/boring/<id>`. """ super(Boring, self).__init__('boring', pkey) @classmethod def from_wfs_element(cls, feature, namespace): b = cls(feature.findtext('./{{{}}}fiche'.format(namespace))) for field in cls.get_fields(source=('wfs', )).values(): b.data[field['name']] = cls._parse(func=feature.findtext, xpath=field['sourcefield'], namespace=namespace, returntype=field.get( 'type', None)) return b
class GrondwaterFilter(AbstractDovType): """Class representing the DOV data type for Groundwater screens.""" subtypes = [Peilmeting] fields = [ WfsField(name='pkey_filter', source_field='filterfiche', datatype='string'), WfsField(name='pkey_grondwaterlocatie', source_field='putfiche', datatype='string'), WfsField(name='gw_id', source_field='GW_ID', datatype='string'), WfsField(name='filternummer', source_field='filternummer', datatype='string'), WfsField(name='filtertype', source_field='filtertype', datatype='string'), WfsField(name='x', source_field='X_mL72', datatype='float'), WfsField(name='y', source_field='Y_mL72', datatype='float'), WfsField(name='start_grondwaterlocatie_mtaw', source_field='Z_mTAW', datatype='float'), XmlField(name='mv_mtaw', source_xpath='/grondwaterlocatie/puntligging/' 'oorspronkelijk_maaiveld/waarde', definition='Maaiveldhoogte in mTAW op dag ' 'dat de put/boring uitgevoerd werd', datatype='float'), WfsField(name='gemeente', source_field='gemeente', datatype='string'), XmlField(name='meetnet_code', source_xpath='/filter/meetnet', definition='Tot welk meetnet behoort deze filter.', datatype='string', xsd_type=XsdType(xsd_schema=_filterDataCodes_xsd, typename='MeetnetEnumType')), XmlField(name='aquifer_code', source_xpath='/filter/ligging/aquifer', definition='In welke watervoerende laag hangt de filter ' '(code).', datatype='string', xsd_type=XsdType(xsd_schema=build_dov_url( 'xdov/schema/latest/xsd/kern/interpretatie/' 'HydrogeologischeStratigrafieDataCodes.xsd'), typename='AquiferEnumType')), XmlField(name='grondwaterlichaam_code', source_xpath='/filter/ligging/grondwaterlichaam', definition='', datatype='string', xsd_type=XsdType(xsd_schema=_filterDataCodes_xsd, typename='GrondwaterlichaamEnumType')), XmlField(name='regime', source_xpath='/filter/ligging/regime', definition='', datatype='string'), WfsField(name='diepte_onderkant_filter', source_field='onderkant_filter_m', datatype='float'), WfsField(name='lengte_filter', source_field='lengte_filter_m', datatype='float') ] def __init__(self, pkey): """Initialisation. Parameters ---------- pkey : str Permanent key of the Filter (screen), being a URI of the form `https://www.dov.vlaanderen.be/data/filter/<id>`. """ super(GrondwaterFilter, self).__init__('filter', pkey) @classmethod def from_wfs_element(cls, feature, namespace): """Build `GrondwaterFilter` instance from a WFS feature element. Parameters ---------- feature : etree.Element XML element representing a single record of the WFS layer. namespace : str Namespace associated with this WFS featuretype. Returns ------- filter : GrondwaterFilter An instance of this class populated with the data from the WFS element. """ gwfilter = cls( feature.findtext('./{{{}}}filterfiche'.format(namespace))) for field in cls.get_fields(source=('wfs', )).values(): gwfilter.data[field['name']] = cls._parse( func=feature.findtext, xpath=field['sourcefield'], namespace=namespace, returntype=field.get('type', None)) return gwfilter
class Sondering(AbstractDovType): """Class representing the DOV data type for CPT measurements.""" subtypes = [Meetdata] fields = [ WfsField(name='pkey_sondering', source_field='fiche', datatype='string'), WfsField(name='sondeernummer', source_field='sondeernummer', datatype='string'), WfsField(name='x', source_field='X_mL72', datatype='float'), WfsField(name='y', source_field='Y_mL72', datatype='float'), WfsField(name='start_sondering_mtaw', source_field='Z_mTAW', datatype='float'), WfsField(name='diepte_sondering_van', source_field='diepte_van_m', datatype='float'), WfsField(name='diepte_sondering_tot', source_field='diepte_tot_m', datatype='float'), WfsField(name='datum_aanvang', source_field='datum_aanvang', datatype='date'), WfsField(name='uitvoerder', source_field='uitvoerder', datatype='string'), WfsField(name='sondeermethode', source_field='sondeermethode', datatype='string'), WfsField(name='apparaat', source_field='apparaat_type', datatype='string'), XmlField(name='datum_gw_meting', source_xpath='/sondering/visueelonderzoek/' 'datumtijd_waarneming_grondwaterstand', definition='Datum en tijdstip van waarneming van de ' 'grondwaterstand.', datatype='datetime'), XmlField(name='diepte_gw_m', source_xpath='/sondering/visueelonderzoek/grondwaterstand', definition='Diepte water in meter ten opzicht van het ' 'aanvangspeil.', datatype='float') ] pkey_fieldname = 'fiche' def __init__(self, pkey): """Initialisation. Parameters ---------- pkey : str Permanent key of the Sondering (CPT measurement), being a URI of the form `https://www.dov.vlaanderen.be/data/sondering/<id>`. """ super(Sondering, self).__init__('sondering', pkey)