Hopp til innhold

Geography Markup Language

Fra Wikipedia, den frie encyklopedi

Geography Markup Language (GML) er en internasjonal standard for geodata. GML er et markeringsspråk som kan brukes for å modellere geodata, og angir hvordan geodata kan lagres og utveksles.

GML er utviklet (og publisert) av Open Geospatial Consortium (OGC).[1] I tillegg har OGC samarbeidet med ISO/TC 211 om å utgi standardene ISO 19136:2007 (GML 3.2) og ISO 19136-2:2015 (GML 3.3).


Innledning

[rediger | rediger kilde]

GML er et XML-markeringsspråk for geodata basert på XML Schema. Dette innebærer at GML er todelt: et GML-dokument inneholder geodata, mens et tilhørende skjema beskriver geodataene i GML-dokumentet.

I praktisk bruk har GML mange av de samme egenskapene som XML. Et GML-dokument er utvidbart (extensible), men hvis det har selvforklarenede navn på elementer og attributter, er dokumentet mulig å forstå (uten tilhørende skjema). Det er likevel grunner til å kreve skjema for GML-dokumenter:

  • Geodata er ofte autoritative data som bør valideres og ha god kvalitet.
  • Geodata er som regel samlet i (komplekse) systemer som krever dokumentasjon. Et eksempel på dette kan være geodatatjenester.

De viktigste delene av skjemaer for GML

[rediger | rediger kilde]

Spesifisering av skjemaer for GML innebærer modellering av geodata. Slik modellering gjøres ofte i Unified Modeling Language (UML), kanskje fordi ISO 19100-serien bruker UML. I GML-standardene er modellering i UML og modellering i XML Schema likestilt, og standardene inkluderer mappinger mellom UML og XML Schema.[1][2]

Det skilles mellom tre grupper av skjemaer for GML: GML-skjema, GML-profil og GML-applikasjonsskjema.

GML-skjema

[rediger | rediger kilde]

GML-skjema (GML schema) i standarden for GML 3.2.1 betegnelsen på XML Schema-komponentene som er definert i standarden.[1] GML 3.3 er en utvidelse av GML 3.2.1, og selv om betegnelsen GML-skjema ikke er brukt på samme måte der, definerer GML 3.3 også XML Schema-komponenter.

GML-skjema for ulike versjoner av GML kan finnes på GML-skjemasidene til OGC. Et eksempel er (fra geometryBasic0d1d.xsd i versjon 3.2.1):

<complexType name="PointType">
  <complexContent>
    <extension base="gml:AbstractGeometricPrimitiveType">
      <sequence>
        <choice>
	  <element ref="gml:pos"/>
	  <element ref="gml:coordinates"/>
	</choice>
      </sequence>
    </extension>
  </complexContent>
</complexType>
<element name="Point" type="gml:PointType" substitutionGroup="gml:AbstractGeometricPrimitive">
  <annotation>
    <documentation>
      A Point is defined by a single coordinate tuple. The direct position of a point is specified by the pos element which is of type DirectPositionType.
    </documentation>
  </annotation>
</element><?xml version="1.0" encoding="UTF-8"?>

Her er Point av typen PointType, som er en subtype av AbstractGeometricPrimitiveType.

GML-profil

[rediger | rediger kilde]

En GML-profil er et subsett av GML-skjema.[1] Standardene for GML er omfattende og komplekse, og en GML-profil gir mulighet for å begrense omfanget. En GML-profil kan spesifiseres i starten av et GML-applikasjonsskjema.[1]

GML-applikasjonsskjema

[rediger | rediger kilde]

XML er utvidbart (extensible), og for GML skjer utvidelsene i hovedsak i GML-applikasjonsskjema. Mens en GML-profil innskrenker GML-skjema, kan man i GML-applikasjonsskjema spesifisere nye komponenter. Eksempler kan være bygning og tomtegrense.

GML-dokumenter i Norge

[rediger | rediger kilde]

Geodata fra norske etater har tradisjonelt vært lagret i SOSI-formatet, og forskrift om behandling av offentlige arkiver krever dette. [3] Det er likevel ventet at GML vil erstatte SOSI-formatet i framtiden. [4]


Referanser

[rediger | rediger kilde]

Eksterne lenker

[rediger | rediger kilde]
Autoritetsdata