Conversion gef <--> bro-xml
1 - Cone Penetration Test (CPT)
Bij een CPT test wordt een conus met sensoren met een constante
snelheid (2 cm/s) de grond ingedrukt. Gedurende de beweging naar beneden
word de data afkomstig van sensoren uiteindelijk geregistreerd in een
"parent" gef bestand. Voorbeelden van te meten grootheden zijn : temperatuur,
waterdruk, puntweerstand, trilling, wrijvingsweerstand, geleidbaarheid,
korrelstructuur en helling.
2 - Dissipatietest
De beweging van de sondeerstreng naar
beneden kan worden gestopt i.v.m het uitvoeren van een dissipatietest.
Hierbij wordt op een bepaalde diepte gedurende een bepaalde tijd
waterdruk en conusweerstand geregistreerd. Per sondering zijn meerdere
dissipatietesten mogelijk. Elke afzonderlijke dissipatietest wordt
opgeslagen in een apart "child" gef bestand. Tijdens het conversieproces
worden "parent" en één of meerdere "child" bestanden automatisch
verwerkt tot één bro-xml bestand.
3 - Data acquisitie en besturing
Voor het uitvoeren van een Cone Penetration Test (mogelijk inclusief
dissipatietest) word gebruik gemaakt van een microcontroller gebaseerd
data-acquisitiesysteem. Een dergelijk systeem bestaat uit de volgende
componenten :
Onderdeel |
Functie |
Conus |
Voorheen werden conussen uitgerust met sensoren en analoge
conditioneringselektronika. Een nadeel van de analoge conus was
het versturen van "kleine" analoge signalen over relatief grote
afstand. Tegenwoordig worden conussen uitgerust met digitale
intelligentie. De intelligentie wordt bepaald door de onboard
microcontroller. Deze microcontroller
is o.a verantwoordelijk voor het uitlezen van sensoren en communicatie
met de "bovenliggende" besturing. In een
"typical" systeem bevinden zich in de conus sensoren voor punt- en
wijvingsweerstand (rekstrookjes), waterdruk (druksensor) en helling
(capacitief). De analoge sensorsignalen worden met 24-bit
resolutie en een sampling frequentie van minimaal 10 Hz
gedigitaliseerd. Dit laatste zodat bijvoorbeeld dunne lagen niet
worden gemist. Op basis van ingestelde calibratiegegevens bewerkt
de microcontroller de ruwe data en stuurt deze naar "boven". |
Communicatie |
Voor de communicatie naar boven (hardware) zijn er meerdere mogelijkheden :
CAN, RS485, optisch en audio. Elke methode heeft
zijn eigen voor- en
nadelen. In geval van bedrading word een kabel door de diverse
sondeerbuizen getrokken. De "handling" van de buizen wordt hierdoor
wel gecompliceerder. Het robuuste Controller Area Network (CAN)
heeft o.a als voordeel t.o.v. RS485 dat transmissie fouten worden
herkend en hersteld. Ook kan het multimaster CAN netwerk worden gekoppeld
aan het reeds bestaande netwerk in vrachtauto's. De draadloze varianten
(optisch en audio) hebben als nadeel dat er beperkingen zijn in
connectiviteit, data-snelheid en data-betrouwbaarheid. Ook zijn beide
laatstgenoemden nogal onderhoudsgevoelig. Wanneer er sprake is van
geautomatiseerde buizentoevoer dan moet de voorkeur worden gegeven
aan een niet-draadloze realisatie.
|
Datakoppelaar |
Deze eveneens microcontroller gebaseerde hardware ontvangt meetgegevens van de conus.
Deze gegevens worden gekoppeld aan de positie van de conus
(diepte). De diepte wordt verkregen door een roterende encoder
mechanisch te koppelen aan de sondeerstreng. De gekoppelde
datastroom (meetwaarden en diepte) word doorgestuurd naar
een desktop computer. Voor nauwkeurige vastlegging van de positie
is de datakoppelaar mogelijk uitgerust met een GPS ontvanger. |
Desktop computer |
De desktop computer is met de datakoppelaar verbonden via een USB
of (verouderde) RS232 poort.
Het sondeerproces kan vanaf deze plaats worden gestart, gestopt
of gepauzeerd. Ook kunnen diverse configuratie waarden voor conus
en koppelaar hier worden ingesteld. Op de desktop wordt de ruwe meetdata
verder verwerkt en gevisualiseerd. De meetdata en aanvullende
informatie worden ingekapselt in standaard formaten zoals gef en
bro-xml. Voor externe toegankelijkheid is mogelijk web- of fileserver
functionaliteit geinstalleerd.
|
4 - Applicatie
De conversie software is ontwikkeld onder
Linux. Zoveel
mogelijk is er gebruik gemaakt van open source software. De uiteindelijke
applicatie draait native op een Ubuntu (release : 22.04) systeem met
geinstalleerde Apache webserver. Door middel van crosscompiling is
er ook een Windows versie beschikbaar. Het geheel kan daarom ook
werken in een Microsoft omgeving.
5 - Documentatie
Voor de totstandkoming van de conversie
software zijn meerdere bronnen geraadpleegd. Hierbij de meest
relevante :
Gef 1.1.2 CPT
Gef dissipation test
BRO : Een handreiking voor conversie
Basisregistratie Ondergrond Catalogus Geotechnisch Sondeeronderzoek (CPT)
XML schema design files
XML tutorial
XML schema tutorial
6 - Conversie gef naar bro-xml
Alle benodigde gegevens worden door de gebruiker
middels een HTML formulier aangeboden aan de Apache webserver. Na
verzending zorgt CGI functionaliteit (common gateway interface) ervoor dat genoemde
gegevens op de juiste plaats worden opgeslagen. Hierbij wordt ook een eerste
controle uitgevoerd m.b.t. de juistheid van de aangeboden data.
Bij de verder verwerking is gebruik gemaakt
van technieken welke worden toegepast in de compilerbouw (compilatie,
interpretatie, translatie). Een aangeboden gef bestand
wordt als eerste verwerkt door een lexer. De output van de lexer
(tokenstream) is vervolgens de input voor de parser. De parser
herkent structuren (syntax) in het originele gef bestand.
Tijdens parsing wordt een zogenaamde Abstract Syntax Tree (AST)
aangemaakt. Met de AST als uitgangspunt vindt een semantische analyse
plaats. Er wordt o.a gecontroleerd op volledigheid, tegenstrijdigheid en
samenhang.
Vervolgens vindt de eigenlijke vertaling plaats. Hierbij wordt
een datamodel gevuld met data en metadata.
De informatie welke nu aanwezig is in het
datamodel kan worden geexporteerd als een bro-xml bestand. Dit bestand
wordt tenslotte gevalideerd met de BRO specificatie als uitgangspunt.
7 - Graphische representatie
Een gef of bro-xml bestand bevat alle
noodzakelijke data (grootheden, eenheden, metadata en data) om een
correcte grafische weergave te genereren. Deze gegevens worden als vectoren
weggeschreven naar één of meer pdf bestanden.
8 - Foutrapportage
Fouten of tekortkomingen in aangeleverde
bestanden kunnen ertoe leiden dat een voltooien van de conversie niet
mogelijk is. In een later gestuurde email word vermeld
welke fouten zijn opgetreden en waarom de conversie niet is gelukt.
9 - Conversietijd
Het algehele conversieproces per sondering kan
maximaal 15 seconden duren. De totale verwerkingstijd is mede afhankelijk
van externe factoren zoals mailservers en internetsnelheid.
10 - Kwaliteitsregime
Op basis van de aangeleverde gegevens word
automatisch bepaald aan welk kwaliteitregime het gegenereerde bro-xml bestand
voldoet.
11 - Aanpassen conversie software
Het gef formaat kan worden omschreven als tolerant.
Voorbeelden : tekst welke voor kan komen op niet voor de hand liggende plaatsen,
volgorde van sommige "keywords" belangrijk maar andere weer niet,
voorkomen van speciale tekens in verschillende contexten.
De verwerkingssoftware moet al deze gevallen onderkennen
en op de juiste manier verwerken. Omdat er veel combinaties mogelijk zijn
kan het in de testfase gebeuren dat zo'n combinatie nog niet wordt herkend.
Team www.cptdata.nl zal in dat geval de software aanpassen zodat een dergelijk
geval in de toekomst wel op de juiste manier automatisch wordt verwerkt.
12 - Opmerkingen gef versus bro-xml
- In een gef document mogen kolommen met data in
elke volgorde voorkomen. De #COLUMNINFO nummers geven aan welke kolom
correspondeert met welke meetwaarde. Voor iedere kolom wordt ook het
meetkanaal gespecificeerd. In het bro-xml formaat hebben kolommen een vaste
volgorde. Het meetkanaal is niet aanwezig.
- In #SPECIMENVAR worden enkel de bovengrens van
de verschillende verwijderde lagen gespecificeerd. In de bro-xml wordt
voor iedere verwijderde laag ook de ondergrens toegevoegd.
- De #FIRSTSCAN waarde is niet overgenomen.
- De #LASTSCAN waarde is niet overgenomen maar wel impliciet aanwezig in
de meetdata.
- De #COLUMNMINMAX waarden zijn niet overgenomen maar wel impliciet aanwezig
in de meetdata.
- Het totaal aantal aanwezige kolommen in #COLUMN is niet overgenomen
maar wel impliciet aanwezig in de meetdata.
- Meetdata in bestaande bro-xml bestanden bestaat uit een lange rij van
numerieke waarden. Dit is niet erg overzichtelijk en daarom is in
gegenereerde bestanden de data op een meer
ordelijke manier gerangschikt. De originele kolomstructuur in het gef
formaat is overgenomen.
14 - BRO : Basisregistratie ondergrond
De BRO heeft mogelijkheden voor inname
en uitgifte van bro-xml bestanden.
Inname : Bestanden met root-element "registrationRequest" of
"correctionRequest"
Uitgifte : Bestanden met root-element "dispatchDataResponse" of
"CPT"
Bro-xml bestanden met genoemde root-elementen worden door de
conversie software herkend of ondersteund.
15 - Mogelijk toekomstige ontwikkelingen
- Ontwikkeling van een desktop applicatie (GUI)
in combinatie met embedded software (datakoppelaar). Sondeerdata afkomstig
van de datakoppelaar (via USB) wordt gecombineerd met metadata
en direkt opgeslagen als een bro-xml bestand. Het bro-xml bestand kan
per email direkt worden verstuurd voor verdere dataverwerking of levering
aan de Basisregistratie Ondergrond (BRO).