Utan att veta så mycket om GML så tänkte jag här dela med mig av mina begränsade erfarenheter till er som vet lika lite som jag.
GML står för ”Geography Markup Language” och är baserat på xml syntax. Formatet är skapat genom OGC (Open Geospatial Consortium) och är tänkt att inte bara kunna hantera data i vektor eller raster utan även täckningsområden såväl som sensordata (beskrivning hämtad från Wikipedia).
Det finns ”profiler” som beskriver hur standarden kan begränsas för speciella ändamål:
- Punktprofil – Mycket förenklad och begränsad GML
- Förenklad profil – Hantera vektorgeometrier och transaktioner (typ WFS)
- GMLJP2 – Profil för Jpeg2000
- RSS – Profil för exempelvis sensordata i realtid
Vill man däremot kunna hantera exempelvis täckningsområden och topologier så måste man använda den fullständiga standarden.
Dessutom så finns det olika versioner av GML där det är version 3 som har stöd för mer än bara punkter, linjer och ytor (d.v.s. raster och täckningsytor). Detta betyder inte automatiskt att version 3 är bättre än version 2, utan framför allt att version 3 är mera komplex.
Just komplexiteten är nog den främsta anledningen till att inte fler gått över till GML utan fortsätter använda exempelvis ESRI shape. Jag har hittat en sida som listar massor med olika sätt att beskriva en enkel polygon med GML (länk) och det är inte så lätt att fånga upp alla dessa metoder i ett program eller programtillägg.
Många företag har därför skapat egna definitioner av hur de tillämpar GML och därmed skapar man en transparens i datastrukturen vilket kan säkerställa att data kan utbytas mellan olika programvaror och sensorer. Som jag uppfattar det är denna metod rekommenderad när det gäller att tillämpa standarden.
I praktiken då, för oss vanliga dödliga. Det går att läsa GML i QGIS utan större problem. Däremot så går dessa inte att redigera. Vill man ändra eller lägga till något så måste man först konvertera formatet till exempelvis PostGIS eller Shape. Det går även att spara ett lager som GML direkt från QGIS.
När jag jämför GML och shape i QGIS så ser jag egentligen bara en fördel med GML och det är att det är en fil i stället för många. En fördel som snabbt blir eliminerad om man packar shapefilerna med zip. QGIS kan nämligen läsa packade shapefiler. I ärlighetens namn skall tilläggas att om man packar gml-filer så blir de mindre än den packade shapefilen.
GML är långsammare att rendera, tar större plats på disken och går som tidigare nämnt inte att redigera (med QGIS).
Varför är då GML viktigt?
- Mer komplexa objekt än vad shape kan hantera.
- Slippa kopiera och klistra in, utför transaktioner i stället.
- Hantera data mera dynamiskt.
- Topologier! Inte bara inom en objektsklass utan även mellan olika klasser.
- Webb-anpassat.
När man börjar jobba med GML så kommer man ganska snart att beröras av andra akronymer som SVG och SOAP. Men mer om dessa får det bli en annan gång.