Het GEF-bestand uitgelegd: zo zit een sondering in GEF-formaat in elkaar

GEF (Geotechnical Exchange Format) is al decennia de standaard om grondonderzoek uit te wisselen in Nederland. Vrijwel elk geotechnisch rekenprogramma leest GEF-sonderingen in. Het formaat is verrassend simpel — platte tekst — maar juist daardoor gaat er in de praktijk veel mis met zelfgemaakte of geconverteerde bestanden. Hieronder de anatomie van een GEF-CPT-bestand en de valkuilen.

Opbouw: header en data

Een GEF-bestand bestaat uit twee delen. Eerst een header met regels die met # beginnen, afgesloten door #EOH= (end of header). Daarna volgt de data: één regel per meetpunt, meestal spatie- of puntkomma-gescheiden getallen.

#GEFID= 1, 1, 0
#COLUMN= 2
#COLUMNINFO= 1, m, Sondeerlengte, 1
#COLUMNINFO= 2, MPa, Conusweerstand, 2
#ZID= 31000, 1.49, 0.01
#EOH=
0.0000e+000 1.6300e+000

De belangrijkste headerregels

  • #COLUMNINFO beschrijft per kolom de eenheid, de naam en een gestandaardiseerd kolomnummer. Voor sonderingen is kolomtype 1 de sondeerlengte (m) en kolomtype 2 de conusweerstand (MPa). Software herkent de kolommen aan dit nummer, niet aan de volgorde.
  • #ZID is het referentieniveau: het niveau van het nulpunt van de sondeerlengte, vrijwel altijd t.o.v. NAP (code 31000). Staat hier 1.49, dan ligt het startpunt van de sondering op NAP +1,49 m.
  • #XYID bevat de coördinaten, in Nederland meestal Rijksdriehoek (code 31000).
  • #COLUMNVOID definieert per kolom de waarde die "geen meting" betekent. Regels met die waarde moet je programma overslaan.
  • #PROCEDURECODE / #REPORTCODE vertellen welk GEF-dialect het bestand volgt, voor sonderingen GEF-CPT-Report.

Sondeerlengte is geen diepte (en geen NAP-niveau)

De eerste kolom is de sondeerlengte: de afgelegde lengte van de conus vanaf het startpunt, positief naar beneden, beginnend bij 0. Je rekenprogramma berekent daaruit het NAP-niveau als niveau = ZID − sondeerlengte. Drie dingen gaan hier vaak mis:

  • Dieptes t.o.v. NAP rechtstreeks in kolom 1 zetten. Het bestand lijkt te werken, maar de sondering komt op de verkeerde hoogte of ondersteboven in je software terecht.
  • Negatieve of dalende sondeerlengtes: veel lezers weigeren het bestand of interpoleren onzin.
  • Een #ZID die niet bij de data past, waardoor alle lagen verschuiven.

Digitaliseer je een oude sondering waarvan de diepte-as in NAP-niveaus staat, reken die dan om naar sondeerlengte vanaf het hoogste punt. De CPT Converter doet dat automatisch en zet het bijbehorende niveau in #ZIDzo werkt dat in de praktijk.

Veelvoorkomende importfouten

  • Ontbrekende # voor headerregels: het bestand wordt dan als onleesbaar geweigerd.
  • Komma's als decimaalteken: GEF gebruikt punten.
  • Verkeerde eenheden: conusweerstand hoort in MPa. Oude bladen vermelden soms kgf/cm² — vrijwel gelijk aan 0,1 MPa (10 kgf/cm² ≈ 1 MPa).
  • Ongesorteerde data: meetpunten moeten van ondiep naar diep staan.

GEF en de toekomst: BRO en XML

Sinds de Basisregistratie Ondergrond (BRO) worden nieuwe sonderingen als IMBRO-XML aangeleverd. Voor de dagelijkse rekenpraktijk blijft GEF voorlopig echter de lingua franca: vrijwel alle software leest het, en het archief van bestaande GEF-bestanden is enorm. Voor gedigitaliseerde historische sonderingen is GEF dan ook nog steeds het logische doelformaat.

Scan naar GEF nodig? Met de CPT Converter maak je van een gescande sondering in een paar minuten een geldig GEF-bestand.