GEF-formaterne |
||
|
GEF - der er et XML-baseret format - var oprindeligt tænkt som et generelt udvekslingformat til GERDA-data, men det bruges p.t. ikke. Det har vist sig, at brugere og dataleverandører bedre kan anvende et database-format. Formatet vil muigvis senere blive reintroduceret. I det følgende beskrives formatet.
Der findes to undertyper af GEF, nemlig GEF-dataset og GEF-model til h.h.v. måledata og modeller (tolkninger). I takt med udvidelsen af GERDA vil GEF-formaterne blive udvidet til at omfatte nye datatyper.
Herunder findes en introducerende forklaring til formaterne. Derudover er der udarbejdet eksempler på filer med de forskellige datatyper.
GEF-formaterne bygger på XML-standarden. XML-filer er ASCII-filer, og de er rimeligt læselige for mennesker samtidigt med at de er meget nemme at læse og skrive for computer-programmer.
Det vil føre for vidt, at gennemgå alle regler og muligheder i XML-dokumenter her, men for at forstå hvordan GEF-filer er opbygget, er en lille introduktion til XML nødvendig. (For yderligere diskussion af XML som sådan se XML-standarden.)
XML-dokumenter består dels af ELEMENT'er og ATTLIST'er (attributter) for ELEMENT'er. ELEMENT'er kan have under-ELEMENT'er, og en XML-fil er således hierarkisk opbygget.
I GEF-formaterne er der ELEMENT'er med navne, der gerne skulle give mening, hvis man kender til naturen af de geofysiske data. Wenner-data findes f.eks. som nogle ELEMENT'er med navnene <WENNERHEADER>, <WENNERPOSITION> og <WENNERDATA>. ELEMENT'er skrives altså inde i et sæt af kantede parenteser < og >.
I et <WENNERHEADER>-ELEMENT kan man angive dels nogle attributter for xutmmin (mindste UTM-X koordinat for profilet), yutmmin, xutmmax og yutmmax, og dels et eller flere under-ELEMENTER af typen <WENNERPOSITION>. I hvert <WENNERPOSITION>-ELEMENT kan man tilsvarende dels angive attributterne position (punktnummer på profilet), xutm, yutm og elevation og dels et eller flere under-ELEMENTER af typen <WENNERDATA>. Nederst i hierarkiet for wenner-data er altså en række <WENNERDATA>-ELEMENT'er, som bl.a. har attributterne sequence (punktnummer på den givne position), a og rhoa.
Et eksempel på et uddrag af en fil med wenner-data:
... <WENNERHEADER xutmmin="554361" yutmmin="6252002" xutmmax="554391" yutmmax="6252052"> <WENNERPOSITION position="1" xutm="554361" yutm="6252052"> <WENNERDATA sequence="1" a="10" rhoa="17"/> </WENNERPOSITION> <WENNERPOSITION position="2" xutm="554371" yutm="6252022"> <WENNERDATA sequence="1" a="10" rhoa="28"/> </WENNERPOSITION> ... </WENNERHEADER>
Under-ELEMENT'erne til <WENNERHEADER> findes altså mellem <WENNERHEADER> og </WENNERHEADER>, og attributterne for <WENNERHEADER> selv findes mellem <WENNERHEADER og slut-parentesen >. I dette eksempel har der i hvert punkt på profilet kun været målt med én elektrodeafstande (10 m), så derfor er der kun ét <WENNERDATA>-under-ELEMENT til hvert <WENNERPOSITION>-ELEMENT.
Normalt siger man, at en XML-fil er af en bestemt DOCTYPE (dokument-type), og til at beskrive en DOCTYPE bruger man en fil kaldet en Document Type Definition eller DTD. DTD'en beskriver hvilke ELEMENT'er der må indgå i en XML-fil af den givne DOCTYPE, hvilke attributter disse ELEMENT'er må have, samt hvordan XML-filen skal være hierarkisk opbygget (hvilke ELEMENT'er der er under-ELEMENT'er til andre).
Til GEF er udarbejdet to DTD'er: GEF-dataset.dtd (for måledata) og GEF-model.dtd for tolkninger.
Wenner-delen af GEF-dataset.dtd ser således ud:
<!ELEMENT WENNERHEADER (UTMZONE, DATUM, WENNERPOSITION+) > <!ATTLIST WENNERHEADER xutmmin CDATA #IMPLIED yutmmin CDATA #IMPLIED xutmmax CDATA #IMPLIED yutmmax CDATA #IMPLIED > <!ELEMENT WENNERPOSITION (WENNERDATA)+> <!ATTLIST WENNERPOSITION position CDATA #REQUIRED xutm CDATA #REQUIRED yutm CDATA #REQUIRED elevation CDATA #IMPLIED > <!ELEMENT WENNERDATA EMPTY> <!ATTLIST WENNERDATA sequence CDATA #REQUIRED a CDATA #REQUIRED rhoa CDATA #REQUIRED standarddeviation CDATA #IMPLIED settings CDATA #IMPLIED note CDATA #IMPLIED transmittercurrent CDATA #IMPLIED >
At <WENNERPOSITION> er et under-ELEMENT til <WENNERHEADER> angives altså i DTD'en ved at nævne WENNERPOSITION i en liste af ELEMENT'er tilhørende <WENNERHEADER>.
Til <WENNERHEADER> hører som det ses faktisk to yderligere under-ELEMENT'er <UTMZOME> og <DATUM>. Disse kunne i princippet også have været attributter til <WENNERHEADER>, men i GEF er det valgt at lade dem være under-ELEMENT'er, da de har deres egne tabel internt i GERDA-databasen. Et andet sted i DTD'en skal der så være et <UTMZONE>- og et <DATUM>-ELEMENT.
Efter angivelsen af at der er et <WENNERPOSITION>-under-ELEMENT til <WENNERHEADER> står der et "+"-tegn. Dette betyder, at der skal være ét eller flere <WENNERPOSITION>-ELEMENT'er for hver <WENNERHEADER>. Der kunne også have stået et '*'-tegn, hvilket ville have betyder, at der måtte være 0, 1 eller flere <WENNERPOSITION>'er.
En lidt mere udførlig beskrivelse af syntax'en i en GEF-fil findes her. Se også eksemplerne på GEF-filer.
![]() ![]() ![]() |
![]() |
![]() |