GEF-formaterne

GERDA - GEofysisk Relationel DAtabase

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.

GEF-typerne

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 er XML

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.

DTD'er

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.


Tilbagenul-20.gif (65 bytes)Hjem Top  Fremad