Example #1
0
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'))
    ]
Example #2
0
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)
Example #3
0
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'))
    ]
Example #4
0
class MyGrondwaterFilter(GrondwaterFilter):

    fields = GrondwaterFilter.extend_fields([
        XmlField(name='grondwatersysteem',
                 source_xpath='/filter/ligging/grondwatersysteem',
                 definition='Grondwatersysteem waarin de filter hangt.',
                 datatype='string')
    ])
Example #5
0
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'))
    ]
Example #6
0
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)
    ]
Example #7
0
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')
    ]
Example #8
0
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')
    ]
Example #9
0
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'),
    ]
Example #10
0
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')
    ]
Example #11
0
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)
    ]
Example #12
0
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'))
    ]
Example #13
0
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')
    ]
Example #14
0
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)
    ]
Example #15
0
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
Example #16
0
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
Example #17
0
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)
    ]
Example #18
0
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)
Example #19
0
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)
Example #20
0
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
Example #21
0
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
Example #22
0
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)