GML on GIS-tiedostojen siirtämiseen tarkoitettu XML-pohjainen formaatti, jota käytetään yleisesti verkon karttapalveluissa. Se määrittelee geometristen rakenteiden (piste, viiva, alue) ja ominaisuustiedon esitystavat, mutta ei vielä varsinaisia kohdetyyppeja ja ominaisuuksia. Näitä varten palvelun on määriteltävä erillinen schema-tiedosto, jossa on kuvattu mahdolliset kohdetyypit sekä kullekin sallitut ominaisuustiedot arvojoukkoineen. Tällaisia määrittelyjä ovat esimerkiksi KuntaGML ja Maanmittauslaitoksen kiinteistötietojen kyselypalvelu.

3D-Win GML-muunnin osaa lukea useimpia GML-tiedostoja ja tulkata niiden schema-tiedostoista ominaisuustietojen määrittelyt. Ilman schema-määrittelyä olevista tiedostosta voidaan lukea kohteiden geometriat, mutta koodaus ja ominaisuudet jäävät tällöin puuttumaan. Maanmittauslaitoksen maastotietokannan GML-tiedostot poikkeavat hieman normaalista ja niitä varten on erillinen MtkGml-muunnin.

GML-tiedostojen kirjoittaminen ei tällä hetkellä ole mahdollista.

Asetukset

GML-muuntimen määrittelyn Muut-kohdan asetuksissa ylemmässä laatikossa ovat yleiset GIS-asetukset ja  alemmasssa laatikossa GML-asetukset. Ominaisuuksien määrittelyt eivät ole käytössä, koska ne koskevat vain tiedostojen kirjoitusta. Merkkaa alueet ja Laske alueen piste -asetuksilla voidaan luettaessa normaalisti merkata sulkeutuvat viivat alueiksi tai laskea alueille referenssipiste.

gml schema

Kieli-asetuksella voidaan valita joistakin monikielisistä GML-tieodostoista luettavaksi paikannimet halutulla kielellä.

Koodit ja Ominaisuudet -asetuksiin voidaan laittaa etukäteen luetusta schema-tiedostosta tulkatut koodien ja ominaisuuksien määrittelyt. Useimmissa tapauksissa tämä ei ole tarpeellista, koska schema voidaan lukea ja tulkata aina tarvittaessa. Jos schema kuitenkin on monimutkainen tai palvelu on hidas, voi käyttöä nopeuttaa näiden tiedostojen avulla. Tästä lisää alla.

Lue schema -asetuksella schema-tiedosto luetaan ja tulkataan aina GML-tiedoston luvun yhteydessä. Käyttäjä ja Salasana -asetukset voidaan tarvita joidenkin suojattujen palveluiden kanssa.

Scheman tulkkaus

Schemaa etsitään ensin luettavan tiedoston kanssa samasta hakemistosta. Schema-tiedostolla on oltava sama nimi kuin luettavalla tiedostolla ja sen tiedostopääte on oltava .xsd. Jos tätä ei löydy, schema luetaan GML-tiedoston otsikkotiedoissa annetusta URL-osoitteesta. Kummassakin tapauksessa schema yleensä sisältää viittauksia muihin schema-tiedostoihin, jotka sitten myös ladataan ja tulkataan. Tämä voi joskus olla hidasta.

Tulkatut kohdetyypit ja ominaisuudet kirjoitetaan aina käyttäjän asetushakemistossa oleviin tiedostoihin auto_code_tag.txt ja auto_attr_tag.txt. Ensimmäinen sisältä listan kohdetyypeistä ja toinen ominaisuuksista.

Esimerkiksi Vantaan WFS-palvelun kohdetyyppilistan auto_code_tag.txt alku:

! C:\Users\Mikko\Documents\3D-System\3D-Win\Cache\wfs_175409_kaupunginraja.gml.vantaa
http://gis.vantaa.fi/geoserver/gis^ajokaistat
http://gis.vantaa.fi/geoserver/gis^kantakartta_tarkka
http://gis.vantaa.fi/geoserver/gis^kantakartta_yleiskuva
http://gis.vantaa.fi/geoserver/gis^keskilinjat
http://gis.vantaa.fi/geoserver/gis^kiinteistot
http://gis.vantaa.fi/geoserver/gis^kiinteistot_kiha
http://gis.vantaa.fi/geoserver/gis^kiinteistot_rajamerkit
http://gis.vantaa.fi/geoserver/gis^kiinteistot_rakenteilla
http://gis.vantaa.fi/geoserver/gis^kiinteistot_rasitteet
http://gis.vantaa.fi/geoserver/gis^kiintopiste

Vastaavan ominaisuuslistan auto_attr_tag.txt alku:

! C:\Users\Mikko\Documents\3D-System\3D-Win\Cache\wfs_175409_kaupunginraja.gml.vantaa
http://gis.vantaa.fi/geoserver/gis^ALKUPERAINEN_GLOBALID
http://gis.vantaa.fi/geoserver/gis^ASEMAKAAVAGUID
http://gis.vantaa.fi/geoserver/gis^GlobalID
http://gis.vantaa.fi/geoserver/gis^KAAVAMAARAYSGUID
http://gis.vantaa.fi/geoserver/gis^KAAVAMERKINTA
http://gis.vantaa.fi/geoserver/gis^KAAVATUNNUS
http://gis.vantaa.fi/geoserver/gis^KAYTTOTARKOITUS
http://gis.vantaa.fi/geoserver/gis^KERROSLUKU
http://gis.vantaa.fi/geoserver/gis^KOHTEENVAIHE
http://gis.vantaa.fi/geoserver/gis^KORTTELINUMERO

Kummassakin tapauksessa itse GML-tiedostossa käytetään lyhyempiä nimiavaruuksia (esim. http://gis.vantaa.fi/geoserver/gis^kiinteistot = gis:kiinteistot). Nämä aliakset kuitenkin määritellään GML-tiedoston alussa ja voivat vaihdella tiedostosta toiseen. Siksi koodi- ja ominaisuuslistoissa käytetään globaalisti yksilöiviä tunnuksia. Vaikka tähän yksilöintiin käytetäänkin URL-osoitteita, vastaavaa nettisivua ei silti välttämättä ole olemassa.

Nämä tiedostot voidaan kopioida toisille nimille (esim. vantaa_code_tag.txt ja vantaa_attr_tag.txt) ja laittaa ne GML-muuntimen Muut-asetusten kohtiin Koodit ja Ominaisuudet. Kun vielä poistetaan Lue schema -asetus, niin luku toimii nopeammin ilman hidasta scheman tulkkausta. Yleensä tätä varten kannattaa tehdä erillinen muunninmäärittely (esim. GML Vantaa).

 gml codes

Kohdetyyppi siirtyy suoraan kohteen koodiksi ja ominaisuudet kohteen ominaisuuksiksi. Esimerkiksi edellisellä määrittelyllä luetulla tontilla on seuraavat tiedot:

kielotie

Sekä kohdetyyppien että ominaisuuksien nimistä poistetaan nimiavaruudet automaattisesti.

 

Toiminnon ohjesivu: http://www.3d-system.net/help/64/fin/conv/vector/gml.htm

Keskustelu aiheesta: http://www.3d-system.net/forum/viewtopic.php?f=15&t=60

GIS-ominaisuudet: http://www.3d-system.net/wiki/index.php/tiedosto/formaatit/vektoritiedosto/gis/11-gis-ominaisuudet