Geography Markup Language
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]- ^ a b c d e OpenGIS® Geography Markup Language (GML) Encoding Standard (OGC 07-036).
- ^ OGC® Geography Markup Language (GML) — Extended schemas and encoding rules (OGC 10-129r1).
- ^ Forskrift om utfyllende tekniske og arkivfaglige bestemmelser om behandling av offentlige arkiver, Kulturdepartementet, 1999.
- ^ Statens Kartverket (2015), Nasjonal strategi for videreutvikling av SOSI.