Technical
1 - Cone Penetration Test (CPT)
During a CPT a cone with sensors is pushed into
the ground with a constant speed of 2 cm/s. During the downward movement
sensordata is collected and ultimately stored in a "parent" GEF file.
Examples of measured parameters are : temperature, waterpressure, cone
tip resistance, cone sleeve resistance, vibration, conductivity, granular
structure and tilt.
2 - Dissipationtest
The downward movement can be interupted to
perform a dissipationtest. At a certain depth the waterpressure
is registered during a certain time. During a CPT multiple
dissipationtests can be performed on different depth's. Data from
each dissipationtest is stored in separate "child" GEF-CPT files. During
the conversion process later on "parent" and one or more "child" files
are combined into one BRO-XML file.
3 - Data acquisition and control
To perform a CPT with or without dissipationtest a (multi) microcontroller based
data-acquisition system is used. A typical system consists of the following
parts :
Part |
Function |
Cone |
CPT cones are integrated with sensors and
electronics.
Earlier analog cones are equipped with
"conditioning" electronics which makes it possible to transport
small analog signals over longer distances. These signals are
digitised by a microcontroller based datacoupler which is located
above ground.
Digital cones have an onboard microcontroller.
This microcontroller is responsible for immediately digitising
sensordata and communicating with the datacoupler above.
Analog and digital cones can be both integrated
with sensors for tipresistance (strain gage), sleeve resistance
(strain gage), pore water pressure (pressure sensor) and tilt
(capacitor based or mechanical). Analog signals are typically digitised
with 24-bit resolution and a 10Hz sampling rate. The microcontroller
processes the raw sensor data based on configured calibration
parameters. In the case of a digital cone digital information is
serially send to the above datacoupler.
|
Communication |
Voor de communicatie naar boven (hardware)
zijn er in geval van een digitale conus 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. In verband
hiermee is het maar zeer de vraag of de trend naar "draadloos"
doorzet. Wanneer er sprake is van geautomatiseerde buizentoevoer
dan moet toch de voorkeur worden gegeven aan een "bedraadde" realisatie.
|
Combining or coupling data streams |
Deze eveneens microcontroller gebaseerde
hardware ontvangt digitale meetgegevens van de digitale conus.
In geval van een analoge conus vindt hier ook de digitalisering
van analoge meetdata plaats. Deze gegevens worden gekoppeld
aan de positie van de conus (diepte). De diepte word verkregen
door een roterende encoder mechanisch te koppelen aan de sondeerstreng.
De gekoppelde datastroom (meetwaarden en diepte) word via USB of
RS232 doorgestuurd naar een desktop computer. Voor nauwkeurige
vastlegging van de geografische positie is de datakoppelaar mogelijk
uitgerust met een GPS ontvanger. |
Desktop computer |
Een desktop computer (bij voorkeur Linux)
is met de datakoppelaar verbonden via een USB of 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 "realtime" gevisualiseerd. De meetdata en
aanvullende informatie worden ingekapselt in standaard formaten
zoals GEF-CPT en BRO-XML. Voor externe toegankelijkheid is mogelijk
web- of fileserver functionaliteit geinstalleerd. In dat geval
kan na een sondering de data direkt worden aangeboden aan de
BasisRegistratie Ondergrond (BRO).
|
4 - Application
The conversion software has been developed in
C/C++. Compared with interpreted languages
like C#, Java or Python a C/C++ solution has an installation as well
as a speed advantage. In the development proces several open
source tools and libraries have been used. The final application or
executable runs native on a Linux webserver (Ubuntu 24.04.1 LTS).
The choice for Linux has been made because of speed, stability and
"realtime" capabilities.
5 - Conversion GEF-CPT to BRO-XML
Alle benodigde gegevens worden door de gebruiker
middels een HTML formulier aangeboden aan de Apache webserver. Na
verzending zorgt CGI functionaliteit 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 verdere verwerking is gebruik gemaakt
van technieken welke worden toegepast in de compilerbouw (compilatie,
interpretatie, translatie). Een aangeboden GEF bestand word onderworpen
aan een systematisch onderzoek. Na herkenning van woorden en structuren
vind 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 voor controle en validatie aangeboden aan een
RESTfull API server van de BRO.
6 - Graphical presentation
GEF-CPT and BRO-XML files contain all data
for 2-dimensional presentations. All these graphs are written to a
standard pdf file. Also derivative graphs like "soil behaviour type"
are visualised.
7 - Error reporting
If the software can't make a succesfull
conversion an explanatory email will be sent later.
8 - Conversiontime
The total conversion time for one CPT test is
less than 5 seconds. Determination of the "soil behaviour type" is
computationally intensive and can be a substantial part of the total
time. Conversion time also depends on filesize, webserver, RESTful API
server, mailserver and internet speed.
9 - Self-learning conversion software
Het GEF-CPT formaat kan worden omschreven als
"loosely typed". Tekst kan voorkomen op niet voor de hand liggende
plaatsen. De volgorde van sommige "keywords" is belangrijk maar voor
andere geldt dit niet. In sommige delen van het bronbestand mogen spaties
worden genegeerd. Maar in andere delen juist weer niet. De verwerkingssoftware
moet alle mogelijke combinaties herkennen en op de juiste manier verwerken.
Het kan voorkomen dat een bepaalde combinatie of structuur nog niet
wordt herkend. Team www.cptdata.nl zal in dat geval de conversiesoftware
aanpassen zodat een dergelijk geval in de toekomst wel op de juiste
manier automatisch wordt verwerkt.
10 - GEF-CPT versus BRO-XML
- In een GEF-CPT 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-CPT
formaat is overgenomen.
11 - Archief DINOloket
- Gearchiveerde BRO-XML bestanden bestaan uit 1 lange regel.
"Carriage Return" en "Linefeed" karakters zijn weggelaten. Een gevolg
hiervan is een moeilijker leesbaarheid en verwerkbaarheid.
- Datarijen in BRO-XML bestanden zouden altijd in de juiste volgorde
moeten staan. Dit is echter lang niet altijd het geval. Kolommen
penetratielengte en verlopen tijd zijn in dergelijke gevallen niet
eenduidig oplopend. Blijkbaar gaat ergens in de keten van data-acquisitie
tot data-archivering iets mis. BRO en/of TNO medewerkers bevestigen dit probleem
en hebben toegezegd daaraan te zullen werken.
- De XSD (XML schema design) specificatie van de BRO zegt merkwaardig
genoeg niets over de meetdata zelf. Er is derhalve geen controle m.b.t.
bereik, nauwkeurigheid en getalsnotatie. Dit betekent in de praktijk dat
een sondering met mogelijk foutieve meetwaarden door de BRO word geaccepteerd.
- In sommige BRO-XML bestanden is het element "zeroLoadMeasurement"
wel aanwezig maar heeft geen child elementen. Dit is niet in
overeenstemming met de XSD specificatie. BRO en/of TNO
medewerkers bevestigen dit maar zien dit niet als een probleem.
- Een gedownload document met root element "dispatchDataResponse" heeft
als childelement "dispatchDocument". Dit element heeft als child element
"CPT_O_DP". Dit is niet in overeenstemming met de XSD specificatie.
- SVG bestanden zijn onjuist of onvolledig. Ook nu ontbreken
de "Carriage Return" en "Linefeed" karakters. Bovendien zorgt een
schaakbord-achtergrond ervoor dat grafiek en text niet
duidelijk leesbaar zijn. Genoemde achtergrond kan overigens
gemakkelijk worden veranderd door het toevoegen van de volgende regel
"<rect x="0" y="0" width="100%" height="100%" fill="white"/>"
- Een door
"www.cptdata.nl" gegenereerd pdf bestand bevat voor
iedere meetparameter een grafische presentatie. Van iedere datakolom wordt
tevens de resolutie berekend en gevisualiseerd. Bij veel BRO-XML bestanden
valt op dat de hellingmeter resolutie niet in verhouding staat tot het
meetbereik. Voorbeeld :
een resolutie van 1 graad op een bereik van -1 tot +1 graad. Een
dergelijke hellingmeting is niet zinvol.
12 - Validation
Bij een GEF-CPT naar BRO-XML conversie wordt het gegenereerde XML bestand
(automatisch) aangeboden aan de validatieservice van de BRO. De BRO
retourneert een testrapport met daarin informatie of het XML bestand
voldoet aan de standaard. Met dit testrapport weet de aanvrager van
de conversie of het gegenereerde XML bestand geschikt is voor inname
door de BRO.
13 - Doorsturen gegevens naar de BRO
Bij
voldoende belangstelling wil team www.cptdata.nl volautomatisch
sondeerdata kunnen aanleveren aan de BRO. De keuze om een gegenereerd
BRO-XML bestand direkt te deponeren bij de BRO kan dan door de gebruiker
worden aangevinkt in het websiteformulier. Op deze manier wordt het
gehele proces van conversie, validatie en levering in 1 transactie
afgerond.
14 - Zelf gegevens aanleveren aan de BRO
Een sondeerbedrijf kan ook zelf data aanleveren bij de BRO. Hierbij word
het bedrijf voor een bepaald project gemachtigd door de betreffende
bronhouder (b.v. gemeente) en fungeert daarmee als dataleverancier.
Er zijn twee mogelijkheden :
1 - Handmatig aanleveren via het bronhouder portaal.
Na inloggen kunnen
via deze website BRO-XML bestanden worden geupload naar de BRO.
2 - Volautomatisch aanleveren van BRO-XML bestanden door vanaf een client
computer te communiceren met een RESTful API server van de BRO. Voor deze manier
van communiceren is authentificatie vereist. Het instellen
van een username en password is reeds eerder gebeurd via het
bronhouderportaal. In alle communicatie met de RESTful API server
worden beide "sleutels" gebruikt.
Samenvatting :
1 - Sondeerbedrijf maakt een account aan in het bronhouderportaal
2 - Sondeerbedrijf maakt onder genoemd account een username en password
aan. Dit is noodzakelijk wanneer data word geleverd aan een RESTful API
server
3 - Voor een project kan het sondeerbedrijf nu gemachtigd worden
door een bronhouder. De bronhouder machtigt het sondeerbedrijf via
zijn eigen account in het bronhouderportaal. Het sondeerbedrijf is
nu dataleverancier.
4 - Het nu gemachtigde sondeerbedrijf kan sondeerdata leveren aan de
BRO via zijn account of de RESTful API server
15 - Resources
Among others the following resources have been
used in creating the conversion software :