Harvoin sitä tapahtuu, mutta olen aivan ihastunut avoimen lähdekoodin ohjelmistoon. Tällä kertaa kyseessä on PostGIS, eli GIS-laajennos PostgreSQL-tietokantaan. On vieläpä GPL:ää, yleensä ihastun korkeintaan BSD-tyyppisillä lisensseillä oleviin softiin (kuten Pgsql itse).
Sain Digiroad-aineiston tuossa jokin aika sitten ja aloin hieman tutkailla miten sitä parhaiten hyödyntäisi. Data vaikutti mukavalta, vaikkakin hyvin paljon dataa puuttuu vielä. Esimerkiksi opastintaulujen tietoja ei datassa ollut, vaikka ne dokumentaatiossa mainitaan. Myöskin palvelutaulut puuttuvat. Datan käyttö ei ole kaikilta osin täysin itsestäänselvää ja yksinkertaista, esimerkiksi yksittäisen tien numeron ja nimen saamiseksi pitää noutaa elementtitaulusta (joka sisältää n kappaletta tienpalasia yhdelle tielle) elementit, nimitaulusta tien nimi sekä segmenttitaulusta tien numero. Hieman monimutkaista, mutta voihan tuota itse järkeistää omaan käyttötarkoitukseen paremmin sopivaksi.
Mutta se PostGIS. Valmiina tulee työkalut ESRI Shape -formaatin lataamiseksi kantaan, joten Digiroad imeytyy nätisti kantaan. Data on 31 palassa, joten hieman joutuu naputtamaan että kaikki menee kantaan, mutta se on pikku juttu. Sitten vähän indeksejä ohjeiden mukaan geometrioille ja testaamaan. Ja sitten se ihastuminen tulikin.
Kokeilin piruuttani hakea lähimmät tiet kannasta koordinaatin mukaan. Hupsista, menihän siinä 50 millisekuntia! Ja kannan koko 6 gigatavua, pyörittämässä läppäri hitaalla levyllä. Jotenkin tuntuu, että GiST-indeksit ovat in, hip ja pop. Ja nyt kun tarvitsee jonkin osan datasta esimerkiksi karttaa varten, ei muuta kuin pyytämään ja hetkessä tulee.
Vielä pitää katsoa tuota formaattia, datan saa ulos jossain binääriformaatissa (käsittääkseni standardoitu) tai sitten tekstinä, mutta tekstiformaatti on 2-ulotteinen ja data on neliulotteista (x, y, z ja mitta-arvo m). Mutta saahan siitäkin piirreltyä kaikkea mukavaa.