Ajantasaisen maastotietoaineiston tuottaminen karttatuotannon ja tietotuotepalveluiden käyttöön Aalto-yliopisto Insinööritieteiden korkeakoulun Maankäyttötieteiden laitos Diplomityö Espoo, toukokuu 2013 Tekniikan kandidaatti Mikko Kupsu Valvoja: Prosessori Kirsi Virrantaus Ohjaaja: Diplomi-insinööri Veijo Pätynen AALTO-YLIOPISTO INSINÖÖRITIETEIDEN KORKEAKOULU PL 11000, 00076 AALTO http://www.aalto.fi DIPLOMITYÖN TIIVISTELMÄ Tekijä: Mikko Kupsu Työn nimi: Ajantasainen maastotietoaineiston tuottaminen karttatuotannon ja tietotuotepalveluiden käyttöön Korkeakoulu: Insinööritieteiden korkeakoulu Laitos: Maankäyttötieteiden laitos Professuuri: Kartografia ja geoinformaatiikka Koodi: Maa-123 Työn valvoja: Professori Kirsi Virrantaus Työn ohjaaja: Diplomi-insinööri Veijo Pätynen Tiivistelmä: Tämän diplomityön tarkoituksena on kuvata miten ajantasaista maastotietoaineistoa tuotetaan karttatuotannon ja tietotuotepalveluiden käyttöön Maanmittauslaitoksen Maastotietokannasta. Tarve ajantasaisen maastotietoaineiston tuottamiseen syntyi uuden aineiston irrotustiedostomuodon ja uuden eräpohjaisten töiden suorittamiseen rakennetun järjestelmän käyttöönottotarpeesta sekä Maanmittauslaitoksen maastotietojen avaamisesta laajoin käyttöoikeuksin ilman käyttöoikeusmaksua. Diplomityön pohjalta on toteutettu Maanmittauslaitokselle uusi automaattinen aineiston irrotusprosessi, joka on erittäin keskeisessä roolissa Maanmittauslaitoksen kartta- ja tietotuotepalvelutuotannossa. Ajantasaisen maastotietoaineiston tuottamisessa täytyy huolehtia ensisijaisesti aineiston eheydestä. Käyttämällä useita aineistoa tuottavia prosesseja laajojen aineistojen irrottamisessa voidaan lyhentää merkittävästi aineiston muodostumisaikaa, mutta samalla aineiston eheys vaarantuu. Maastotietoaineiston tuottamisprosessin suunnittelun yhteydessä voidaan ratkaista useita irrotuksen ongelmia ilman mutkikasta prosessisäännöstöä yksinkertaisella irrotusjärjestelmäarkkitehtuurilla. Myös kunnollisen tietokantaratkaisun avulla voidaan helpottaa aineiston irrotuksen suorittamista. Maanmittauslaitoksen Maastotietokannan pitkän transaktion tietokantaratkaisu helpotti aineiston irrottamista kun yhden tietokantayhteyden sisällä tietokannan tilanne ei muutu muiden käyttäjien toimista huolimatta. Aineiston irrotuksen alustana käytetty erätöiden suorittamiseen rakennettu JAKOerä-järjestelmä ratkaisi useita irrotusprosessin ongelmia omalla arkkitehtuurillaan muun muassa irrotuksen osien suoritusjärjestyksen sekä irrotuksen eheyden varmistamisen suhteen. Irrotuksen tiedostomuoto mahdollisti helpon tavan todentaa irrotetun aineiston oikeellisuus XMLtiedostomuodosta perittyjen toimintojen avulla. Päivämäärä: 27.05.2013 Kieli: Suomi Sivumäärä: 67 Avainsanat: aineiston irrotus, aineiston eheys, GML, Maastotietokanta AALTO UNIVERSITY SCHOOL OF ENGINEERING PO Box 11000, FI-00076 AALTO http://www.aalto.fi ABSTRACT OF THE MASTER’S THESIS Author: Mikko Kupsu Title: Production of up-to-date topographical data to be used in map production and information services School: School of Engineering Department: Department of Real Estate, Planning and Geoinformatics Professorship: Cartography and geoinformatics Code: Maa-123 Supervisor: Professor Kirsi Virrantaus Instructor: M. Sc. Veijo Pätynen Abstract: The purpose of this master’s thesis is to describe how up-to-date topographical data is generated to be used in map production and in information services from National Land Survey of Finland’s Topographic database. The need for producing up-to-date topographical data came from need of taking new data extraction format and taking new batch job base system into production use and also from that National Land Survey of Finland’s topographical data was opened to public with extensive and permanent right of use and without compensation. Based on this master’s thesis a new automatic data extraction process, which has very essential role in National Land Survey of Finland’s map and information service production, was developed. While producing up-to-date topographic data the main concern is data integrity. By using multiple data producing processes when create large datasets, the total time used by the data extraction process can be diminished greatly but at same time data integrity gets compromised. When designing topographical data extraction process many of extraction problems can be solved without using complex processing rules by using simple architecture in your data extraction system. Also by using proper database solution, many of the data extraction problems can be solved. The long transaction database solution used in National Land Survey of Finland’s Topographical database made data extraction easier as the status of the database does not change during one database session automatically even though multiple users are using the same database. The batch job system JAKOerä used in the data extraction process solved many of the problems in the data extraction process with its architecture solution for example processing order of the data extraction and determining the integrity status of the extracted data. The data extraction format enabled easy way of determining data validity with method s inherited from XML-format. Date: 27.05.2013 Language: Finnish Number of pages: 67 Keywords: data extraction, data integrity, GML, Topographic database Alkusanat Tämä diplomityön on tehty Maanmittauslaitoksen Kehittämiskeskuksen maastotietotietotuotantosovellusryhmälle. Kiitokset ohjaajalleni Veijolle, joka jaksoi auttaa diplomityön suorittamisessa sekä kollegoilleni Juhalle ja Ilkalle, jotka tukivat irrotusprosessin suunnittelussa ja toteutuksessa. Kiitokset myös valvojalleni Kirsille, joka jaksoi auttaa minua suorittamaan tutkintoni vaikka tiukoille meinasi mennä. Suuri kiitos avopuolisolleni ja kihlatulleni Johannalle, joka jaksoi muistuttaa diplomityön tekemisen tärkeydestä ja tutkinnon suorittamisesta kun kärsin pahimmista motivaatio-ongelmista. Lisäksi erityiskiitos äidilleni Ernalle, joka jaksoi selitellä diplomityöni tilannetta lähipiirilleni. Espoo, 19.05.2013 Mikko Kupsu Sisällysluettelo 1 2 Johdanto .................................................................................................................... 3 1.1 Työn tausta ......................................................................................................... 4 1.2 Työn tavoite ....................................................................................................... 4 1.3 Aiheen rajaus ...................................................................................................... 5 Automaattinen aineiston irrotus Maanmittauslaitoksessa......................................... 7 2.1 Maanmittauslaitoksen organisaatiorakenne ....................................................... 7 2.2 Automaattiseen aineiston irrotukseen liittyvät organisaation osat ja projektit .. 9 2.2.1 Automaattiseen aineiston irrotukseen liittyvät sovellusryhmät .................. 9 2.2.2 TIPARA-hanke ......................................................................................... 10 2.3 MTK-GML–aineiston käyttö Maanmittauslaitoksessa .................................... 11 2.3.1 Maastotietokanta-aineisto latauspalvelussa .............................................. 11 2.3.2 Maastotietokannan tiestö osoitteilla.......................................................... 12 2.3.3 Taustakartta 1:5 000.................................................................................. 12 2.3.4 VISPILÄ/sk-projekti ................................................................................. 13 2.4 Automaattisen aineiston irrotuksen rooli Avoimien aineistojen tiedostopalvelussa ....................................................................................................... 14 3 Toimintaympäristö .................................................................................................. 15 3.1 3.1.1 Arkkitehtuuri ............................................................................................. 16 3.1.2 Yleinen toimintaperiaate ........................................................................... 20 3.1.3 Automaattisen irrotusprosessin kannalta tärkeät ominaisuudet ................ 21 3.2 4 JAKOerä-järjestelmä ........................................................................................ 15 JAKOmtj-järjestelmä ....................................................................................... 22 3.2.1 Maastotietokanta ....................................................................................... 25 3.2.2 MTK-skeema ja MTK-GML-tiedostomuoto ............................................ 32 3.2.3 Aikaisempi aineiston irrotusprosessi ........................................................ 35 3.2.4 Toiminnallisuuden siirto JAKOerä-järjestelmään .................................... 38 Uusi automaattinen aineiston irrotusprosessi ......................................................... 41 4.1 Jatkuva aineiston irrotus ................................................................................... 41 4.1.1 Ensimmäinen vaihe ................................................................................... 41 4.1.2 Toinen vaihe ............................................................................................. 43 4.1.3 Kolmas vaihe ............................................................................................ 44 4.2 Uusi kertaluontoinen irrotusprosessi ................................................................ 45 4.2.1 Ensimmäinen vaihe ................................................................................... 46 5 4.2.2 Toinen vaihe ............................................................................................. 46 4.2.3 Kolmas vaihe ............................................................................................ 46 Uusi aineiston irrotusprosessin tuotantokäytössä ................................................... 47 5.1 Koko Suomen aineiston kertairrotus ................................................................ 47 5.1.1 6 Kertairrotuksen tunnuslukuja .................................................................... 48 5.2 Jatkuvan automaattisen aineistoirrotuksen aloittaminen .................................. 49 5.3 Aikaisemman ja uuden aineiston irrotusprosessin vertailu .............................. 50 5.4 Uusien aineiston irrotusprosessien vaikutus JAKOmtj-sovelluksessa ............. 51 Pohdinta ja tulevaisuus ........................................................................................... 55 6.1 Jatkokehitysajatuksia........................................................................................ 56 7 Yhteenveto .............................................................................................................. 57 8 Lähteet .................................................................................................................... 59 Lyhenteiden ja termien selitykset ACID Atomicity, Consistency, Isolation, Durability. ASCII American Standard Code for Information Interchange. ATOM The Atom Syndication Format. CSV Comma Separated Values. EFFI Electronic Frontier Finland ry. GML Geography Markup Language. ITFF Kodak CitiPix Bentley image format. JAKOerä JAKOerätyö-järjestelmä. JAKOkii JAKO/Kiinteistötietojärjestelmä. JAKOmtj JAKO/Maastotietojärjestelmä. MIF MapInfo Interchange Format. MMM Maa- ja metsätalous ministeriö. MML Maanmittauslaitos. MXL MaagisXL-tiedostomuoto. OGC Open Geospatial Consortium. SHAPE Esri Shapefile. SLD Styled Layer Descriptor. TIFF Tagged Image File Format. UTM Universal Transverse Mercator. VMDS Version Managed Data Store. WPS Web Processing Service. XML Extensible Markup Language. 1 2 1 Johdanto Maanmittauslaitoksella (MML) on lakisääteinen rooli kartantuottajana, johon kuuluu huolehtia yleisistä kartastotöistä, edistää tarkoituksenmukaista kartoitusta ja kartantuotantoa sekä myydä, julkaista ja jakaa karttatietoja ja toimialansa muita tietoja. Maanmittauslaitos ylläpitää koko Suomen kattavaa Maastotietokantaa, josta kerättävää paikkatietoaineistoa käytetään raaka-aineena niin Maanmittauslaitoksen digitaalisten tuotteiden kuin painettujen karttojen ja tulosteidenkin tuotannossa. Maastotietokannan ajantasalla pitäminen onkin nykyään Maanmittauslaitoksen tärkein karttatehtävä. Maanmittauslaitoksen ajantasaisia digitaalisia karttoja julkaistaan muun muassa Maanmittauslaitoksen ylläpitämissä Paikkatietoikkuna- ja Karttapaikkapalveluissa. Maanmittauslaitos ehdotti vuoden 2011 lopussa maa- ja metsätalousministeriölle (MMM), että Maanmittauslaitoksen maksuista annettuun asetukseen tehdään muutos, joka poistaisi maastotietoaineistosta käyttöoikeusmaksun. Ehdotuksen mukaan maastotiedoista ei perittäisi enää käyttömaksua ja avattavat aineistot olisivat kiintopisteaineisto, pieni- ja keskimittakaavainen kartta-aineisto vektori- ja rasterimuodossa sekä Maastotietokannan tiedot ja kannasta tuotetut rasterimuotoiset kartat, digitaaliset ilmakuvat ja laserkeilausaineisto. Ehdotus toteutti hallitusohjelman ja valtioneuvoston periaatepäätöksen tavoitetta julkisen tiedon avaamisesta laajaan käyttöön sekä Maanmittauslaitoksen ja yleisten kartastotöiden strategian päämäärää saada Maanmittauslaitoksen tuotteet mahdollisimman laajaan käyttöön. Maa- ja metsätalousministeriö pyysi Maanmittauslaitoksen ehdotuksesta lausunnon oikeus-, sisäasiain-, puolustus-, valtiovarain-, opetus- ja kulttuuri-, työ- ja elinkeino-, liikenne- ja viestintä- ja ympäristöministeriöstä, Suomen kuntaliitolta sekä muutamilta maanmittausalan yrityksiltä (MMM, 2011). Ehdotus ja annetut lausunnot aiheuttivat suurta julkista keskustelua. Etenkin Valtiovarainministeriön budjettiosaston kielteinen kanta herätti suurta kummastusta ja muun muassa Electronic Frontier Finland ry (EFFI) lähestyi Suomen valtionvarainministeri Jutta Urpilaista asiaan liittyen avoimilla kirjeillä (EFFI 2011a & EFFI 2011b). Valtioneuvoston raha-asiainvaliokunta käsitteli Maanmittauslaitoksen lähettämää ehdotusta ja päätti vastustuksesta huolimatta 21.12.2011, että maastotiedot tulevat laajoin käyttöoikeuksin ilman käyttöoikeusmaksua saataville 1.5.2012 alkaen. Maastotiedot tulivat saataville sekä tiedostonlataus- että rajapintapalveluina. Avoimien aineistojen tiedostonlatauspalvelu avattiin 9.5.2012 ja Maastotietokannan kaikki kohteet julkaistiin ladattavaksi 14.5.2012 GML-, SHAPE- ja MIF-tiedostoina. Julkaistuissa aineistoissa havaittiin kuitenkin virheitä MIF-tiedostojen saamenkielisien merkkien esityksessä ja virheellisessä datum-tiedossa sekä ZIP-pakattujen MIF- ja SHAPEtiedostojen karttalehtien nimeämisessä. Myöskään karttalehtien nimeäminen ei noudattanut JHS-suositusta 154 ETRS89 -järjestelmään liittyvät karttaprojektiot, tasokoordinaatistot ja karttalehtijako. Edellä mainitut virheet korjattiin lokakuun 2012 aikana. 3 1.1 Työn tausta Maanmittauslaitoksessa valmistui vuonna 2010 sisäisten sovellusten käyttöön erilaisten erätöiden suorittamiseen tarkoitettu JAKOerä-palvelu, jonka tarkoituksena oli siirtää paljon prosessointivoimaa ja/tai suuria tietomääriä vaativat työt käyttäjän työasemalta palvelinympäristöön tehokkaammille koneille ja fyysisesti lähemmäksi tietokantapalvelimia. JAKOerä-palvelu oli jo otettu käyttöön Maanmittauslaitoksen kiinteistötietojärjestelmässä, JAKOkii-sovelluksessa, muun muassa erilaisten siirtotiedostojen muodostamisessa sekä esirekisteröintipalvelussa. JAKOerä-palvelu haluttiin ottaa käyttöön laajasti kaikissa Maanmittauslaitoksen SmallWorld-pohjaisissa tuotantosovelluksissa. JAKOerä-järjestelmän käytön laajentamisen tarkoituksena oli vähentää yksittäisten palvelinkoneiden käyttöä eri sovellusryhmissä, sekä yksinkertaisemman arkkitehtuurin ja toteutuksen kautta helpottaa ATK-vastaavien ylläpitotyötä. Maanmittauslaitoksen Kehittämiskeskuksen vuoden 2010 tulossopimuksessa mainittiin tarve uuden MTK-GML–tiedostomuodon määrittelystä. MTK-GML–aineiston irrotustiedostomuoto otettiin käyttöön syksyllä 2011 Maanmittauslaitoksen maastotietojärjestelmä JAKOmtj-sovelluksessa. Samalla päätettiin uudistaa automaattinen aineiston irrotusprosessi käyttämällä ajastettua JAKOerä-palvelua aikaisemmin käytössä olleesta, useasta jatkuvasta palvelinprosessista ja yhdestä fyysisestä palvelimesta muodostuvan toteutuksen sijaan. Aikaisemman toteutuksen heikkous oli vaikea suorittavien prosessien määrän lisääminen, sillä muun muassa suorituksen samanaikaisuus sekä työjonon hallinta oli erittäin hankalaa. Aikaisempi toteutus perustui vahvasti prosessien luku- ja kirjoitusmahdollisuuksien ajastamiseen käyttäen hyväksi aikaikkunoita. MTK-GML– tiedostomuoto tarjosi Maanmittauslaitokselle mahdollisuuden julkaista aineistoa loppukäyttäjän kannalta neutraalissa tiedostomuodossa eikä sidottuna tietyn toimittajan tiedostomuotoon. 1.2 Työn tavoite Uuden MTK-GML–tiedostomuodon käyttöönoton tavoitteena on aikaisemmin aineiston irrotukseen käytetystä MXL-tiedostomuodosta luopuminen, sillä kahden samansisältöisen aineiston ylläpito ei ole kustannustehokasta tai tarkoituksenmukaista. Tavoite JAKOerä-palvelun laajasta käyttöönotosta Maanmittauslaitoksen tuotantosovelluksissa tarkoitti aikaisemmasta aineiston irrotusprosessista luopumista. Maanmittauslaitoksen tietojärjestelmien kehittäminen ja ylläpito -vastuualueen maastotietotuotantosovellusryhmä, joka oli toteuttanut aikaisemman automaattisen aineiston irrotusprosessin, sai tehtäväkseen toteuttaa uuden automaattisen aineiston irrotusprosessin. Tämän diplomityön ensisijaisena tavoitteena on toteuttaa uusi automaattinen aineiston irrotusprosessi Maanmittauslaitoksen tietojärjestelmien kehittäminen ja ylläpito -vastuualueen maastotietotuotantosovellusryhmän käyttöön sekä luoda pohja JAKOmtj-sovelluksen erilaisten työasema-aineistoirrotuksien siirtämiseen JAKOerä-palveluun. Maanmittauslaitoksen maastotietojen avaaminen korosti automaattisen aineiston irrotusprosessin tärkeyttä Maanmittauslaitoksen toiminnassa, sillä se oli avainasemassa maastotietojen avaamisen suhteen. Automaattisen aineiston irrotusprosessin irrottama 4 MTK-GML–aineisto tulee toimimaan yhtenä tarjottavista tiedostomuodoista sekä lähtöaineistona kaikille muille Maastotietokannasta tarjottaville tiedostomuodoille, mikä korosti uuden aineiston irrotusprosessin luotettavuuden ja toimivuuden turvaamista. Jatkuvasta automaattisen aineiston irrotusprosessin toivottiin toteutuksensa puolesta auttavan Maanmittauslaitosta täyttämään sille asetetut odotukset ensimmäisenä viranomaisena, joka avaa tietosisältönsä vapaaseen ja rajoittamattomaan käyttöön. Näin mahdollistettaisiin jatkuvan, ajantasaisen ja eheän aineiston luovuttaminen Maastotietokannan tiedoista kiinnostuneille. JAKOerä-palvelu tarjosi arkkitehtuurinsa pohjalta helpon ja tehokkaan ratkaisun työjonon hallintaan, prosessointivoiman muutoksiin sekä poisti kokonaan samanaikaisuuden ongelman tarjoamalla joustavammat mahdollisuudet tarkkailla prosesseja erillisen käyttöliittymän avulla. 1.3 Aiheen rajaus Tämä diplomityö painottuu automaattisen ja itsenäisen aineiston irrotusprosessin suunnittelun ja toteutuksen kuvaukseen. Sovelluksen toteutus toimii kuitenkin diplomityön ensisijaisena tarkoituksena ja diplomityössä pyritään kuvaamaan ja perustelemaan erityisen tarkasti toteutuksen eri vaiheissa tehdyt päätökset sekä kuvaamaan päätöksiin vaikuttavat tekijät. Diplomityön tuloksena syntynyt sovellustoteutus tehdään Maanmittauslaitoksen Kehittämiskeskuksen maastotietotuotantosovellusryhmälle projektityönä ja se otettiin tuotantokäyttöön kevään 2012 aikana. Automaattinen ja itsenäinen aineiston irrotusprosessi toteutettiin JAKOmtj-sovelluksen karttatuotantoon käyttäen hyväksi JAKOerä-palvelua. Lisäksi irrotusprosessi muutettiin sopimaan useampaan eri tilanteeseen, jotta sitä voidaan käyttää pohjana jatkossa vanhojen JAKOmtj-sovelluksen irrotusprosessien siirrossa JAKOerä-palveluun. Diplomityön tuloksena syntynyt prosessi syrjäyttää JAKOmtj-sovelluksen vanhan automaattisen aineiston irrotusprosessin sekä luo pohjan muiden irrotusprosessien suorituksen ”ulkoistamisen” palvelimille työasemasuorituksen sijaan. 5 6 2 Automaattinen aineiston irrotus Maanmittauslaitoksessa Automaattinen aineiston irrotus koskettaa suurta osaa Maanmittauslaitoksen organisaatiota joko suorasti tai välillisesti. Maastotietokannan tietojen julkaiseminen Avoimien aineistojen tiedostopalvelussa kasvatti automaattisen aineiston irrotuksen merkittävyyttä Maanmittauslaitokselle suuresti, sillä Avoimien aineistojen tiedostopalvelu loi uuden kanavan jakaa Maastotietokannan tietoja. Uusi jakelutapa kasvatti irrotettujen aineistojen loppukäyttäjien määrää merkittävästi, mikä loi myös tarpeen jatkuvan ajantasaisen aineiston tuottamiseen loppukäyttäjille. Tässä kappaleessa kuvataan lyhyesti Maanmittauslaitoksen organisaatiorakenne yleisellä tasolla sekä miten sen eri osat liittyvät automaattiseen aineiston irrotukseen. Tämän lisäksi kuvataan automaattisen aineiston irrotuksen roolia Avoimien aineistojen tiedostopalvelussa. 2.1 Maanmittauslaitoksen organisaatiorakenne Maanmittauslaitos on maa- ja metsätalousministeriön alainen laitos, jonka organisaatio koostuu 12 maanmittaustoimistosta, joilla on yhteensä 35 asiakaspalvelupistettä eri paikkakunnilla, kuudesta valtakunnallisesta tuotanto- ja palveluyksiköstä sekä keskushallinnosta. Valtakunnallisten tuotanto- ja palveluyksiköiden tarkoitus on kehittää, tukea ja koordinoida toimintaa ja valtakunnallisia palveluja. Kuvassa 1 kuvataan Maanmittauslaitoksen organisaatiorakennetta. Kuva 1. Maanmittauslaitoksen organisaatio (MML, 2012g) Maanmittauslaitoksen toiminta on jaettu erilaisiin prosesseihin riippuen siitä, mitä osaa asiakassegmentistä ne palvelevat. Kaikilla prosesseilla on prosessinomistajat, joiden tehtävä on muun muassa ohjata ja kehittää oman osa-alueensa toimintaa ja ottaa kantaa osa-alueensa asioihin. Keskeisempänä osana Maanmittauslaitoksen toimintaa ovat asiakastarpeisiin vastaavat ydinprosessit. Ydinprosesseja ovat perustoimitus- (PETO), arviointitoimitus- (ARTO), tilusjärjestelytoimitus- (TJ), kirjaamis- (KIR), säädösperusteinen rekisterin ylläpito- (RETI), tietopalvelut- (TIETO) sekä 7 maastotietotuotantoprosessi (MARA). Nämä prosessit saavat tukea henkilöstö-, talousja tietohallintoprosessilta ja niitä kutsutaan tukiprosesseiksi. Kuva 2 esittää Maanmittauslaitoksen ydin- ja tukiprosesseja. Kuva 2. Ydin- ja tukiprosessit (MML, 2012e) Tukiprosesseista henkilöstö- ja talousprosessi kuuluvat hallintovastuualueeseen ja tietohallintoprosessin alainen Kehittämiskeskus (KEKE) jakaantuu kolmeen erilliseen vastuualueeseen: toiminnan tuki ja kehittäminen (TUKE), tuotanto- ja erillistehtävät (TUER) ja tietojärjestelmien kehittäminen ja ylläpito (TIEKE). Tuotanto- ja erillistehtävät vastuualue jakaantuu kolmeen tiimiin: kartta-, maasto-, paikkatietoinfratiimiin. Tietojärjestelmien kehittämisen ja ylläpidon vastuualue jakaantuu kuuteen sovellusryhmään: kiinteistötehtävät (KITE), kiinteistötehtävien tekninen tuki (KITU), paikkatietopalvelut (PATI), prosessin tila (PROT), tuotanto- ja erillistehtävien –vastuualueen entisen julkaisutiimin kehitystehtävistä vastanneisiin henkilöihin ja maastotietotuotantosovellusryhmään (MATU). Jokainen sovellusryhmä palvelee yhtä tai useampaa asiakastarpeisiin vastaavaa prosessia. 8 2.2 Automaattiseen aineiston irrotukseen liittyvät organisaation osat ja projektit Automaattinen aineiston irrotus koskettaa erityisesti tietojärjestelmien kehittäminen ja ylläpito –vastuualueen maastotietotuotantosovellusryhmää (MATU) ja tuotanto- ja erillistehtävät –vastuualueen julkaisutiimiä. Lisäksi Maanmittauslaitoksen sisäiset projektit MAAVAA/ko, TIEPALinfra/sk ja VISPILÄ/sk liittyvät automaattiseen aineiston irrotukseen joko suorasti tai epäsuorasti. Myös muun muassa Atk-keskus ja tietojärjestelmien kehittämien ja ylläpito –vastuualueen kiinteistötehtävien tekninen tuki –sovellusryhmä liittyvät automaattiseen irrotukseen tarjoamalla tietojärjestelmät ja infrastruktuurin automaattisen aineiston irrotuksen suorittamiseen. Tässä kappaleessa keskitytään automaattisessa aineiston irrotuksessa käytettäviin tietojärjestelmiin ja niiden ylläpitoon sekä automaattisen irrotuksen lopputuotteiden käyttäjiin. 2.2.1 Automaattiseen aineiston irrotukseen liittyvät sovellusryhmät Maastotietotuotantoprosessi on yksi Maanmittauslaitoksen ydinprosesseista ja sen tarkoituksena on toteuttaa Maanmittauslaitoksen lakisääteisiä tehtäviä huolehtia yleisistä kartastotöistä sekä kiinteistöjä ja paikkatietoja koskevien rekisterien pitämisestä. Prosessin tuloksena saadaan maastotietoaineistoja ja kiinteistörekisteriin liittyvään karttaan tietoja kiinteistörajojen sijainnista. Maastotietotuotantoprosessi sisältää muun muassa tuotantoprosessit maastotietojen määräaikaiseen ja jatkuvaan ajantasaistukseen. (MML 2013d). Tietojärjestelmien kehittäminen ja ylläpito –vastuualueen maastotietotuotantosovellusryhmä tarjoaa palveluja ja tukea ensisijaisesti maastotietotuotantoprosessille ja vastaa ensisijaisesti Maanmittauslaitoksen Maastotietokannan kehittämisestä ja ylläpidosta. Sovellusryhmän vastuualueisiin kuuluu normaalin ylläpito- ja kehittämistyön lisäksi ajantasaiseen aineiston irrottamiseen tarvittavien työkalujen kehittäminen, jotta maastoaineistoa voidaan irrottaa maastotietokannasta karttatuotannon raaka-aineeksi. Maastotietotuotantosovellusryhmän asiantuntijat ovat toteuttaneet aikaisemman automaattisen irrotusprosessin, jolla irrotettiin pääsääntöisesti Maastotietokannasta aineistoa MXL-tiedostomuodossa, sekä määritelleet MTK-skeeman ja kehittäneet työkalut MTK-GML–aineiston irrottamiseksi Maastotietokannasta. Tuotanto- ja erillistehtävät –vastuualueen julkaisutiimin tehtäviin kuuluu muun muassa erilaiset tuotannolliset tehtävät. Tuotannolliset tehtävät pitää sisällään muun muassa tehtävän tuottaa maastotietokannasta ja karttatietokannoista rasteriaineistoja, päivittää ja ylläpitää rasterivarastoa sekä aineiston lataaminen laitoksen rasterivarastoon tietopalvelusovellusten sekä rajapintojen käyttöön. Tuotannollisten tehtävien lisäksi julkaisutiimi muun muassa osallistuu digitaalisten ja graafisten perus- ja maastokarttajulkaisujen kehittämistyöhön ja tuotannolliseen testaamiseen. (MML 2013a). 9 Julkaisutiimi käyttää maastotietotuotantosovellusryhmän tuottamilla välineillä Maastotietokannasta irrotettua ajantasaista aineistoa muun muassa tiettyjen karttatuotteiden raaka-aineena. Esimerkiksi maastokartoissa 1:100 000 ja 1:250 000 käytetään tätä aineistoa. Lisäksi aineistosta muodostetaan karttalehdet TIFFtiedostomuodossa joihinkin Maanmittauslaitoksen internet-palveluihin taustakarttaaineistoksi. Julkaisutiimi käyttää edelleen MXL-tiedostomuotoista aineistoa taustarasterien muodostamiseen, mutta pyrkii siirtymään MTK-GML–tiedostomuotoon ja muodostamaan taustarastereita MTK-GML–aineistosta. Taustarasterien muodostamisen lisäksi julkaisutiimi tuottaa tiedostopalveluun Maastotietokantavektorituotteen mukaiset aineistot (MML 2013b). 2.2.2 TIPARA-hanke Maanmittauslaitoksen paikkatietoaineistojen rajapintapalveluiden kehittämistä koordinoidaan erityisessä TIPARA-hankkeessa (paikkatietoaineistojen katselu- ja latauspalvelujen toteuttamishanke). Hankkeen tavoitteena on kuvata keskeiset tekniset vaatimukset eri palvelutyyppien toteuttamiselle. TIPARA-hanke koostuu TIPARAohjausryhmästä ja TIPARAsolusta. TIPARAohjausryhmän tehtävänä on ohjata kansallisten ja INSPIRE-direktiivin mukaisten Maanmittauslaitoksen paikkatietoaineistojen katselu- ja latauspalvelujen toteuttamista. Lisäksi ohjausryhmän tehtävänä on päättää hankkeeseen liittyvien palvelujen toteuttamisjärjestyksestä ja aikataulusta ottaen huomioon INSPIRE-direktiivin ja mahdollisen kansallisen paikkatietostrategian sekä asiakkaiden vaatimukset ja odotukset. Ohjausryhmän vastuulla on myös määrittää Maanmittauslaitoksen tahtotila ja rooli INSPIREdirektiivin eri teemakohtaisten tietotuotteiden toteuttamisessa, toimia katselu- ja latauspalvelujen toteutus- ja mahdollisten käyttöönottoprojektien johtoryhmänä tai sopeuttavan ylläpidon ohjaajana sekä hoitaa mahdolliset muut palvelujen toteutuksen ohjaamiseen liittyvät tehtävät. TIPARAsolun tehtävä on valmistella edellä mainittuja kohtia TIPARAohjausryhmälle. (MML, 2012l) TIPARA-hankkeen alaisia projekteja olivat muun muassa MAAVAA/ko- ja TIEPALinfra/sk-projektit. MAAVAA/ko-projektin vastuulla oli maastotietotuotteiden avaaminen mahdollisimman laajaan käyttöön. TIEPALinfra/sk-projektin vastuulla oli toteuttaa tiedostolatauspalvelun tekninen ja toiminnallinen ympäristö, jonka avulla digitaalisia paikkatietoaineistoja voidaan välittää ulkoisille asiakkaille. MAAVAA/ko-projekti Maamittauslaitoksen Maastotietokannan avaamisesta vapaaseen käyttöön asetettiin 14.12.2011 Maanmittauslaitoksen Tietopalvelukeskuksen hallinnoima Maastotietotuotteiden avaaminen käyttöönotto (MAAVAA/ko) – projekti, jonka vastuulla on vastata niistä toimenpiteistä, jotka liittyvät Maanmittauslaitoksen maastotietotuotteiden avaamiseen mahdollisimman laajaan käyttöön (MML 2011c). MAAVAA/ko -projektissa päätettiin käyttää automaattisen aineiston irrotuksen tuottamaa MTK-GML–aineistoa ulkoisille käyttäjille luovutettavana tiedostomuotona. Projektissa suunniteltiin tarjottavan ainoastaan Maastotietokannan aineistoa GMLtiedostomuodossa, mutta suunnitelma kaatui siihen, että projektin nopea aikataulu ei sallinut asiakkaille ja kaupallisille toimijoille tarpeeksi aikaa valmistautua muutokseen. 10 GML-tiedostomuodon rinnalle otettiin MIF- ja SHAPE-tiedostomuodot, jotka muodostetaan MTK-GML–aineistosta (MML 2012n). TIEPALinfra/sk-projekti Tiedostolatauspalvelun infrastruktuurin toteuttaminen (TIEPALinfra/sk) – projekti alkoi 17.2.2011 ja sen tehtävänä oli toteuttaa tiedostolatauspalvelun tekninen ja toiminnallinen ympäristö, jonka avulla digitaalisia paikkatietoaineistoja pystyttiin välittämään ulkoisille asiakkaille. Projektin toteutuksessa tuli ottaa huomioon INSPIREdirektiivin toimeenpanosääntö tiedostolatauspalveluista ja sen mukaiset vaatimukset. Projektin aikana tehtiin päätös Maanmittauslaitoksen maastotietoaineistojen avaamisesta, mikä muutti projektin päätehtäväksi avoimien aineistojen tiedostopalvelun toteuttamisen. Projekti toteutti myös prosessit ajantasaisen tiedostojen tarjoamiseen muun muassa MTK-GML–aineistosta. (MML, 2012m) 2.3 MTK-GML–aineiston käyttö Maanmittauslaitoksessa MTK-GML–aineiston korvattua MXL-aineiston ainoana jatkuvasti irrotettavana ja ajantasaisimpana irrotusaineistona Maastotietokannasta, pyrkivät useat MXL-aineistoa käyttäneet prosessit sopeutumaan uuteen, muuttuneeseen ympäristöön. Tällaisia prosesseja olivat muun muassa Maanmittauslaitoksen julkaisema digitaalinen Maastotietokanta-aineisto, muutamat karttatuotannon prosessit sekä osoitepisteiden laskenta. Kaikki MXL-aineistoa käyttävät prosessit eivät ole kuitenkaan onnistuneet siirtymään uuteen MTK-GML–aineistoon, mutta työ uuteen aineistomuotoon siirtymiseen on työn alla. 2.3.1 Maastotietokanta-aineisto latauspalvelussa Tuotanto- ja erillistehtävät –vastuualueen julkaisutiimin vastuulla on tuottaa Avoimien aineistojen tiedostopalveluun Maastotietokanta-vektorituotteen mukaiset aineistot SHAPE-, MIF- ja MTK-GML–tiedostomuodoissa. Lähtöaineistona ja yhtenä tulosaineistona prosessi käyttää automaattisen aineiston irrotuksen tuottamaa MTKGML–aineistoa. Tuotantoprosessi koostuu neljästä askeleesta ja kestää kokonaisuudessaan noin kolme vuorokautta. Prosessin vaiheet ovat: 1) Lähtöaineiston haku, 2) FME-ajo, 3) ZIP-tiedostojen käsittely ja 4) Tulostiedostojen kopiointi. (MML, 2013e) Lähtöaineisto haetaan automaattisen aineiston irrotuksen verkkolevyltä ja kopioidaan väliaikaiseen sijaintiin. Lähtöaineisto on jatkuvan muutoksen alla ja koko aineiston samanhetkisellä kopioinnilla varmistetaan käytettävän ja tuotettavan aineiston eheys. FME-ajo muodostaa FME-palvelimella MTK-GML–aineistosta SHAPE- ja MIFaineistoa. ZIP-tiedostojen käsittelyssä FME-ajon muodostama SHAPE- ja MIFtiedostojen aluemainen ja kohdemainen aineisto yhdistetään, ja MIF-aineistoon liitetään merkistön selite sekä tarvittavat fontit. Tulostiedostojen kopioinnissa eheä aineisto siirretään tiedostopalvelun tietojärjestelmään ja jaotellaan lehtikohtaisiin hakemistoihin. (MML 2013b) 11 2.3.2 Maastotietokannan tiestö osoitteilla Tuotanto- ja erillistehtävät –vastuualueen julkaisutiimin tuottama Maastotietokannan tiestö osoitteilla sisältää kaikki ajokelpoiset tiet, kadut, kevyen liikenteen väylät, polut, rautatiet, lautat ja lossit. Aineisto tuotetaan kerran vuodessa, yleensä keväällä, vektorityyppisenä MTK-GML-, MIF- ja SHAPE–tiedostomuodoissa. Aineiston lehtijako on TM35-FIN 1:100 000 mittakaavassa, jossa lehtikoko 48 x 96 km ja aineiston koordinaatisto on ETRS-TM35FIN. Maastotietokannan tiestö osoitteilla prosessi käyttää lähtöaineistonaan MTK-GML–aineistoa. Prosessi ei käytä automaattisen aineiston irrotuksen irrottamaa aineistoa, sillä automaattisen aineiston irrotuksen tuottama MTK-GML–aineisto tuotetaan 1:25 000 mittakaavassa. Prosessin vaiheet ovat 1) Lähtöaineiston irrotus, 2) FME-ajo, 3) ZIP-tiedostojen käsittely ja tulosten kopiointi ja 4) Ilmoituksen ja varmuuskopiointi. (MML, 2013e) Lähtöaineiston irrotus tehdään JAKOmtj-sovelluksella yhdellä sovelluspalvelimella, jossa irrotusta tekee neljä erillistä prosessia. FME-ajossa MTK-GML–tiedostomuodossa irrotettu aineisto muunnetaan SHAPE- ja MIF-tiedostomuotoihin. ZIP-tiedostojen käsittelyssä ja tulosten kopioinnissa kaikki irrotetut tiedostot pakataan ZIP-tiedostoiksi, alue- ja kohdemainen aineisto yhdistettään yhdeksi ZIP-tiedostoksi, MIF-tiedostojen ZIP-tiedostoihin liitetään merkistön selite sekä tarvittavat fontit ja tiedostot lajitellaan lehtikohtaisesti. Uuden aineiston valmistumisesta ilmoitetaan prosessin päätteeksi muun muassa Myyntipalveluun. (MML, 2013f) 2.3.3 Taustakartta 1:5 000 Tuotanto- ja erillistehtävät –vastuualueen julkaisutiimin vastuulla on tuottaa neljä kertaa vuodessa (tammi-, huhti-, heinä- ja lokakuussa) taustakarttasarjan 1:5 000 mittakaavainen rajapintarasteri sekä tiedostolatauspalveluun karttarasteri. Taustakartat toimitetaan deflate-pakattuina 24-bittisenä PNG- ja ITIFF-muotoisina tiedostoina TM35-FIN –lehtijaon 1:10 000 mittakaavassa ETRS-TM35FIN –koordinaatistossa. Lehtikoko tiedostoilla on 6 x 6 km ja 12 000 x 12 000 pikseliä. PNG-tiedostot toimitetaan Avoimien aineistojen tiedostopalveluun ja ITFF-tiedostot Maanmittauslaitoksen rajapintapalveluun ladattavaksi. Taustakartta 1:5 000 tuotantoprosessi käyttää yhtenä syöteaineistonaan automaattisen aineiston irrotuksen tuottamaa MTK-GML–aineisto. Prosessin vaiheet ovat: 1) Tiestö osoitteille –aineiston käsittely, 2) Rakennuspisteiden käsittely, 3) Osoite- ja rakennuspisteaineistojen yhdistäminen, 4) Piirtäminen ja rasterointi, 5) Rajanpinnalle vienti ja 6) Ilmoituksen ja aineiston varmuuskopiointi. (MML, 2013g) Tiestö osoitteilla –aineisto poimitaan automaattisen aineiston irrotuksen tuottamasta MTK-GML–aineistosta. Aineistosta poimitaan tiestö, joka muunnetaan raaka-MIF – tiedostomuotoon. Rakennuspisteiden käsittelyssä Väestörekisterikeskukselta saatu rakennus- ja huoneistorekisterin aineisto muuntaa ASCII-tiedostomuotoisen aineiston CSV-tiedostomuotoon. Osoite- ja rakennuspisteaineistojen yhdistämisessä osoite- ja rakennuspisteaineistot yhdistetään lehtikohtaisiksi MXL-tiedostoiksi. Piirtämisessä ja rasteroinnissa MXL-aineisto ja erillinen PMX-piirtoaineisto muunnetaan usean muunnosaskeleen kautta tulostiedostoiksi. Rajapinnalle viennissä tulosaineisto kopioidaan loppusijoituspaikkaan. Prosessin lopuksi ilmoitetaan muun muassa Myyntipalveluihin, että uusi aineisto on valmistunut. (MML, 2013g) 12 2.3.4 VISPILÄ/sk-projekti Maastotietokannan tietotuotteiden visualisointipalvelun pilotti-projektin (VISIPLÄ/sk) yhtenä tavoitteena on tutkia voidaanko uudella visualisointipalvelulla korvata nykyisiä tietotuotteiden valmistusprosesseja, ja selvittää voidaanko rasterituotteita valmistaa online rasterointina. Maanmittauslaitoksen nykyiset tietotuotteiden visualisointipalvelut toimivat vanhentuneella tekniikalla erätyöpohjaisina prosesseina, vaativat ihmistyötä, ovat henkilöriippuvaisia sekä virheherkkiä. Visualisointipalvelun avulla prosesseja voidaan automatisoida sekä ihmistyön ja henkilöriippuvaisuuksia määrä vähentää. (MML, 2013h) VISPILÄ/sk-projektissa tutkitaan voidaanko karttalehtien piirtäminen toteuttaa OGC WPS-palveluna. Tavoitteena on käyttää OGC SLD-tekniikkaa aineistojen valmistus ja visualisointiprosesseihin. Taustakartta 1:5 000 on yksi esimerkki Maanmittauslaitoksen tietotuotteista, johon visualisointipalvelua voitaisiin käyttää (MML, 2013h). Kuva 3 esittää mahdollista toimintatapaa, jossa uusi visualisointipalvelu käyttää automaattisen aineiston irrotuksen tuottamaan MTK-GML–aineistoa uuden karttalehden muodostamiseen. Kuva 3. Automaattinen aineiston irrotusprosessi ja visualisointipalvelu 13 2.4 Automaattisen aineiston irrotuksen rooli Avoimien aineistojen tiedostopalvelussa Avoimien aineistojen tiedostopalvelu on Maanmittauslaitoksen ylläpitämä verkkopalvelu, jossa asiakas voi ladata itsepalveluna erilaisia Maanmittauslaitoksen tarjoamia tuotteita valitsemassaan tiedostomuodossa ja valitsemaltaan alueelta. Tuotteet on saatavissa ETRS-TM35FIN-koordinaatistossa ja yhteensä erilaisia tuotteita oli vuoden 2013 alussa ladattavissa 18 kappaletta useassa eri tiedostomuodossa. Aineistojen lisensoinnissa sovelletaan Maanmittauslaitoksen avoimen tietoaineiston lisenssiä, joka antaa erittäin laajat käyttöoikeudet aineistoon ilman, että se velvoittaa aineiston käyttäjää maksamaan aineistosta. Lisenssi velvoittaa aineiston käyttäjää ilmoittamaan aineiston alkuperän käyttäjälle parhaiten soveltuvalla tavalla. (MML, 2013c) Yhtenä luovutettavana tuotteena on aineisto, joka sisältää Maastotietokannan kaikki kohteet, ja sitä tarjotaan GML-, SHAPE- ja MIF-tiedostomuodoissa. Maastotietokannan GML-tiedostomuoto on ainoa Maastotietokannasta luovutettava tiedostomuoto, jota päivitetään jatkuvasti. SHAPE- ja MIF-tiedostomuodot ovat johdannaisia GMLtiedostomuodosta ja niiden muodostaminen kestää kokonaisuudessaan noin kolme vuorokautta. Tämän vuoksi SHAPE- ja MIF-aineistot eivät ole jatkuvan päivityksen alaisena vaan ne ajantasaistetaan aika-ajoin. Jatkuva Maastotietokannan GML-aineiston päivitys saattaa aiheuttaa kuitenkin satunnaisia ongelmia aineiston eheyden osalta, sillä Avoimien aineistojen tiedostopalvelu ei säilytä tiedostojen versiohistoriaa aineistotilauksen sisällä. Tiedostopalvelu säilyttää vain yhden, nykyisen version jokaisesta tiedostosta eikä vanhempia, muuttuneita tiedostoja ole saatavilla. Jos aineistoa ladataan eri aikaan, on mahdollista että karttalehtien yhtymäkohtiin tulee virheitä, sillä karttalehdet ovat voineet muuttua lataushetkien välillä. Ratkaisuna tähän ongelmaan Maanmittauslaitos tarjoaa Avoimien aineistojen tiedostopalvelussa muutostietopalvelua, joka tarjoaa INPSIRE-direktiivin mukaisena ATOM-syötteenä tiedostopalvelussa muuttuneet tiedostot. 14 3 Toimintaympäristö Automaattisen aineiston irrotusprosessin osalta tärkeimmät järjestelmät ovat Maanmittauslaitoksen JAKOerä- ja JAKOmtj-järjestelmät. Tässä kappaleessa esitellään kummatkin järjestelmät. JAKOerä-järjestelmästä kerrotaan yksityiskohtaisemmin, sillä sen arkkitehtuuri ja toteutus olivat avainasemassa kun uutta automaattista aineiston irrotusprosessia oltiin suunnittelemassa. JAKOmtj-sovelluksen kohdalla paneudutaan tarkemmin sen tietokantaratkaisuun ja tietokantakohteiden päivittämiseen, mikä mahdollistaa tehokaan irrottamisen ja eheän lopputuloksen varmistamisen. Tämän diplomityön tuloksena syntynyt automaattinen aineiston irrotusprosessi toteutettiin Maanmittauslaitoksen JAKOerä-järjestelmään JAKO-siirtotiedosto tuotanto -palveluun rakennettavana toiminnallisuutena. Aikaisempi aineiston irrotusprosessi oli toteutettu JAKOmtj-ympäristöön, ja JAKOerä-järjestelmä JAKOkii-ympäristöön, joten JAKOerä-järjestelmän toiminnallisuutta piti laajentaa kattamaan myös JAKOmtjsovelluksesta tulevat työpyynnöt ja tukemaan näiden vaatimaa erityistä toiminnallisuutta. 3.1 JAKOerä-järjestelmä JAKOerä-järjestelmä on Maanmittauslaitoksen SmallWorld-pohjaisille järjestelmille rakennettu erätyöpohjaisten töiden suoritusympäristö. JAKOerä-järjestelmä on kehitetty Maanmittauslaitoksen kehittämiskeskuksen tietojärjestelmien kehittämisen ja ylläpidon vastuualueella vuosina 2009 – 2010 ja järjestelmä on otettu käyttöön laajasti Kiinteistörekisterin ylläpitoon käytettävässä JAKOkii-tuotantosovelluksessa muun muassa esirekisteröinnissä ja rekisteröinnissä sekä erilaisten siirtotiedostojen (GML-, MXL-, MIF- ja SHAPE-tiedostot) muodostamiseen käyttäjärajauksella. (MML, 2012i) JAKOerä-järjestelmä on suunniteltu sisältämään mahdollisimman vähän liikkuvia osia, jotta järjestelmä olisi mahdollisimman vikasietoinen. Järjestelmä koostuu ainoastaan Windows-palvelimesta sekä SmallWorld Core GIS -asennuksesta ja tämä kokonaisuus on virtualisoitu siten, että useita JAKOerä-palvelun suorittavia palvelimia ja prosesseja on samalla fyysisellä palvelimella. Tämä toimintamalli on erittäin kustannustehokas, sillä se ei vaadi mitään muita erillisiä asennuksia. (MML, 2012i) JAKOerä-järjestelmässä on mahdollista käsitellä työpyyntöjä samanaikaisesti usealla palvelinprosessilla usealla palvelimella. Esimerkiksi erilaisten siirtotiedostojen muodostamiseen käytettävä JAKOsiirtotiedosto tuotanto -palvelu koostuu 60 suorittavasta prosessista, jotka ovat kahdellatoista palvelimella. Palvelun työjono toimii palvelun syötteenä ja suorittavat prosessit varaavat työjonosta työpyyntöjä suoritukseen. Suorittavat prosessit varaavat työpyyntöjä uudelleen nimeämällä työpyynnöt ja lisäämällä työpyynnön tiedostonimeen oman tunnuksensa. Koska työjonokansio sijaitsee palvelun prosesseille yhteisellä verkkolevyllä, mahdollistaa tämä erittäin yksinkertaisella ja toimintavarmalla tavalla sen että kaksi prosessia ei ota samaa työtä käsittelyynsä, sillä vain yhdellä prosessilla voi olla kirjoitusoikeus työpyyntötiedostoon. Lisäksi suorittavat prosessit voivat uudelleen priorisoida käyttäjän työpyyntöjä, jos samalta käyttäjältä tulee työpyyntöjä edellisten työpyyntöjen ollessa vielä jonossa. (MML, 2012i) 15 3.1.1 Arkkitehtuuri JAKOerä-järjestelmä perustuu asiakas/palvelin-arkkitehtuuriin, missä toteutusmalli on niin kutsuttu ”thin-client – fat-server”. Tämä tarkoittaa, että palvelinsovelluksessa on suurin osa vaadittavasta toiminnallisuudesta ja asiakassovelluksessa on mahdollisimman kevyt toteutus. JAKOerä-järjestelmä on myös tilaton, eli se käsittelee jokaisen työpyynnön omana kokonaisuutenaan ja riippumattomana aikaisemmista työpyynnöistä. (Yadav et al., 2009) Suurimmat hyödyt asiakas/palvelin-arkkitehtuurissa liittyvät suorituskykyyn, skaalautuvuuteen ja resurssien jakamiseen. Nämä kaikki hyödyt realisoituvat JAKOerä-järjestelmässä ja olivat erityisasemassa automaattisen irrotusprosessin suunnittelussa ja toteutuksessa. Kuva 4 esittää JAKOerä-järjestelmän ulkoista arkkitehtuuria. Kuva 4. JAKOerä-järjestelmän ulkoinen arkkitehtuuri (MML, 2012i) JAKOerä-järjestelmän työpyynnöt tallentuvat verkkolevylle erityiseen kansioon, joka toimii JAKOerä-järjestelmän työjonona. Verkkolevyjärjestely on erittäin vikasietoinen, sillä töiden vastaanotto on mahdollista ja työpyynnöt eivät katoa järjestelmästä vaikka palvelinprosessi olisi kaatunut, koska verkkolevyjärjestely on riippumaton JAKOeräjärjestelmästä. Vasta levyjärjestelmän virhe voi kadottaa työpyynnöt ja/tai estää työpyyntöjen muodostumisen, ja vastaavassa tilanteessa kaikki järjestelmät rikkoutuisivat. Verkkolevyjärjestely auttaa myös JAKOerä-järjstelmän työpyyntöjen jonotuksessa sekä työpyyntöjen varauksessa, sillä työjonokansio on yhteinen yhdelle palvelulle ja vain yhdellä palvelun prosessilla voi olla kirjoitusoikeus työpyyntötiedostoon. (MML, 2012i) JAKOerä-järjestelmän yksittäinen palvelu koostuu kahdesta eri osasta: palvelinsovelluspalvelimesta ja sovelluspalvelimesta. Palvelinsovelluspalvelin tarjoaa sovellus- ja puskuritietokantapalvelun sovelluspalvelimille ja sovelluspalvelin suorittaa työt. Nämä osat voivat sijaita yhdellä tai kahdella erillisellä palvelimella ja usea sovelluspalvelin voi käyttää yhtä ja samaa palvelinsovelluspalvelinta. Samat osat sisältävää palvelinta kutsutaan itsenäiseksi sovelluspalvelimeksi. Kaksiosainen palvelinratkaisu on tehokas ratkaisu, kun JAKOerä-palvelulla on monta suorittavaa prosessia eri palvelimilla. Tällöin yhden palvelimen päivittämisellä ratkaistaan usean prosessin päivittämistarpeet. Itsenäinen sovelluspalvelin on toimintavarmempi, sillä 16 yhteys palvelinsovelluspalvelimeen ei katkea verkkoyhteysongelmiin. (MML, 2012i) Kuva 5 esittää JAKOerä-järjestelmän sisäistä arkkitehtuuria. Kuva 5. JAKOerä-järjestelmän sisäinen arkkitehtuuri (MML, 2012i) JAKOerä-järjestelmän yksittäistä palvelua ohjataan yhden tiedoston, prosessihallintatiedoston, avulla. Tämän XML-muotoisen tiedoston avulla ohjataan muun muassa kaikki tiedostopolut, joihin JAKOerä-järjestelmän palvelu tallentaa tai joista se noutaa tietoa. Käyttäjän ja palvelun väliseen kommunikaatioon käytetään kahta XML-muotoista tiedostoa. Käyttäjän tekemät työpyynnöt välitetään JAKOeräjärjestelmän palveluun työpyyntötiedostoina. Työpyyntötiedostoissa kerrotaan kaikki palvelun vaatimat tiedot työn suorittamiseksi. Töiden suorituksesta JAKOeräjärjestelmä muodostaa erillisen XML-muotoisen suoritustiedoston, jossa kerrotaan muun muassa työn onnistuminen ja mahdolliset paluuarvot sekä työn suorituksen kestoajat. (MML, 2012i) Prosessihallintatiedoston sisältö Prosessihallintatiedostossa määritetään JAKOerä-järjestelmän yhden palvelun tiedot ja tiedoston avulla voidaan kontrolloida palvelun prosessien toimintaa. Palvelun tiedot koostuvat eratyohallinta-elementistä ja sen viidessä pakollisesta lapsielementistä (nimi, juurihakemisto, palvelinprosessit ja kasittelijat). Nimi-elementtejä on kaksi kappaletta ja niissä kuvataan palvelun suomen- ja ruotsinkieliset nimet. Juurihakemisto-elementissä määritetään hakemisto, jonka alle on luotu palvelun käyttämä JAKOerätyövakiohakemistorakenne. Palvelinprosessit-elementin sisällä olevissa palvelinprosessielementeissä voidaan määrittää jopa palvelimen ja prosessin tasolla, prosessin ja palvelinsovelluksen tila sekä käynnistys- ja pysäytysajat. Kasittelijat-elementissä luetellaan kaikki palvelussa tarvittavat loogiset käsittelijät avain-arvot -pareina. Käsittelijän arvot voivat olla JAKOerä-järjestelmässä löytyvien luokkien julkisia metodeja tai järjestelmässä määriteltyjä globaaleja proseduureja. Käsittelijän määrittely ei vaadi parametrien luettelemista vaan ne välitetään työpyyntötiedostossa käsittelijälle. Näiden tiedostojen lisäksi työpyynnön suorituksesta muodostetaan lokitiedosto, josta voidaan tutkia suorituksen mahdolliset virhetilanteet. (MML, 2012j) 17 Prosessihallintatiedoston elementillä prosessi, tarkoitetaan työpyyntöjä suorittavaa osaa, jolla on yhteys tietokantaan ja palvelinsovellus elementillä tarkoitetaan työpyyntöjä jakavaa osaa. Prosessilla voi olla viisi eri tilaa (käynnissä, pysäytetty, hätäpysäytetty, täyspysäytetty ja äkkipysäytetty) ja palvelinsovelluksella kolme eri tilaa (käynnissä, pysäytetty ja hätäpysäytetty). Prosessin tila ”käynnissä” tarkoittaa, että palvelun tarvitsemat tietokannat on avattu ja prosessi on valmis vastaanottamaan työpyyntöjä. Pysäytetty-tila pysäyttää ensin palvelinsovelluksen ja sen jälkeen prosessin, kun sillä ei ole enää työpyyntöä suorituksessa. Hätäpysäytetty-tila pysäyttää palvelinsovelluksen ja prosessin välittömästi riippumatta siitä, onko työpyyntö kesken. Täyspysäytetty-tila tekee pysäytyksen ja sen jälkeen sammuttaa GIS-prosessin. Äkkipysäytetty-tila tekee ensin hätäpysäytyksen ja sammuttaa GIS-prosessin. Palvelinsovelluksen tila ”käynnissä” tarkoittaa, että palvelinsovellus on käynnissä, jos prosessi on käynnissä. Pysäytetty-tila pysäyttää palvelinsovelluksen jos työpyyntöjä ei ole kesken. Hätäpysäytetty-tila pysäyttää palvelinsovelluksen välittömästi riippumatta siitä, onko työ kesken vai ei. (MML, 2012j) Pakollisten tietojen lisäksi prosessihallintatiedostossa voidaan määrittää vapaaehtoisia elementtejä, joiden avulla voidaan ylimääritellä JAKOerä-järjestelmän oletusarvoja. Näistä suurin osa liittyy JAKOerätyö-vakiohakemistorakenteen kansiopolkujen ylimäärittelyyn. Lisäksi vapaaehtoisilla elementeillä voidaan ylimäärittää kopioidun työpyyntötiedoston, suoritustiedoston ja suorituksen lokitiedoston nimet. Tärkein elementti vapaaehtoisissa määrityksissä on työpyynnön suorituksen enimmäiskesto, joka on oletusarvoisesti 60 minuuttia. (MML, 2012j) Työpyyntötiedoston sisältö Työpyyntötiedosto on XML-muotoinen tiedosto, jossa määritellään kaikki työn vaatimat tiedot JAKOerä-järjestelmässä. Työpyyntötiedoston XML-rakenne sisältää yhden tyo-elementin, jonka sisällä on kolme alielementtiä: yleistiedot, suoritusehdot ja suoritustiedot. Yleistiedoissa määritetään työn metatietoja, joiden avulla käyttäjä voi JAKOerä-järjestelmän seurantakäyttöliittymästä tunnistaa omat työnsä. Suoritusehdot sisältävät esityöt, jotka tulee olla suoritettuna, jotta työpyyntö voidaan suorittaa onnistuneesti. Suoritustiedot-elementissä määritetään työn käsittelijät, jotka vastaavat JAKOerästä löytyviä metodeja sekä määriteltyjen käsittelijöiden tarvitsevat muuttujat. Kuvassa 6 esitetään visuaalisesti työpyyntötiedoston sisältö. (MML, 2012k) 18 Kuva 6. Työpyyntötiedoston rakenne Yleistiedot-elementissä määritetään työn metatietoja, joiden tulisi kuvata työpyyntötiedoston nimeämistä. JAKOerä-järjestelmä ei tutki yleistiedot elementin sisältöä, vaan tulkitsee nämä tiedot suoraan työpyyntötiedoston nimestä. Yleistiedotelementissä löytyy työpyynnön prioriteetti, tilauksen tehneen työaseman ja käyttäjän tunnus, työpyynnön nimi, työtyyppitunnus sekä käynnistysaika. Prioriteetilla voidaan ohjata työn kriittisyyttä muihin työpyyntöihin verrattuna ja pienemmän prioriteetin omaavat työpyynnöt pääsevät ensin suoritukseen. Työasema- ja käyttäjätunnus sekä työpyynnön nimi ovat yksilöintitietoja seurantakäyttöliittymään sekä tilastointiin, eikä näillä tiedoilla ole merkitystä suorituksen kannalta. Työtyyppitunnus liittyy JAKOsiirtotiedosto –palveluun, jossa työtyyppitunnus kertoo käyttäjän määrittämän rajauksen tyypin. Käynnistysaika määrittää aikaisimman ajankohdan jolloin työ voidaan ottaa suoritukseen. Yleistiedot-elementin tietosisältö on monistettu työpyyntötiedoston nimeen, jossa alaviivoin on erotettu prioriteetti, käynnistysaika, työaseman nimi, käyttäjätunnus ja työn nimi. Tällöin JAKOerä-järjestelmän ei tarvitse avata tiedostoa selvittääkseen työn aloittamis- ja prioriteettitiedot. Lisäksi työpyyntö voi sisältää vakioajastus-elementin, jolloin työpyyntö tilauksesta muodostetaan uusia työpyyntötilauksia vakioajastuksen määrittämän ajan välein. (MML, 2012k) Suoritusehdot-elementissä voidaan määrätä minkä niminen työ pitää olla onnistuneesti suoritettu, jotta tämän työn suorittaminen voidaan aloittaa. JAKOerä-järjestelmä tutkii esitöitä oletusarvoisesti enintään 30 päivää taaksepäin, mutta tätä rajaa voidaan muuttaa parametrisoinnilla, ja paluuarvo päätetään viimeisimmän työn onnistumisen mukaan. Suoritustiedot-elementin kasittelijat-alielementissä luetellaan käsittelijät, jotka tekevät työn suorituksen. Kukin käsittelijä eritellään omana käsittelijä-elementtinä ja käsittelijä voidaan määrittää suoraan suoritettavana luokkana ja metodina tai suorittajakartoituksen kautta, jolloin käytetään JAKOerä-järjestelmään määriteltyjä suoritusmetodeja. Jälkimmäinen tapa antaa vapauden muuttaa suorittavaa metodia tekemällä muutos 19 yhteen tiedostoon JAKOerä-järjestelmässä, kun ensimmäisessä tapauksessa muutos täytyy jakaa jokaiseen työasemaan. Jos käsittelijöitä on enemmän kuin yksi, välitetään jatkokäsittelijöille sen omien parametrien lisäksi edellisten käsittelijöiden palauttamat lisäpaluuarvot. Jatkokäsittelyjä ei luonnollisesti tehdä, mikäli edeltävä käsittelijä epäonnistuu suorituksessaan. (MML, 2012k) Käsittelijän parametrien tyyppi on oletusarvoisesti merkkijono, mutta se voidaan parametrilla muuntaa joksikin Magik-alkeistyypiksi tai tietokannan ilmentymäjoukoiksi. Lisäksi parametreina voidaan välittää Magik-olioita, jotka tukevat muunnosta XMLtietueeksi ja takaisin. Jälkimmäinen on varsin käyttökelpoinen ja toimintavarma toimintatapa, sillä työpyyntötilauksen muodostuminen epäonnistuu ja aiheuttaa sovellusvirheen, jos työpyyntötilaukseen yritetään välittää tietueita, jotka eivät tue muunnosta XML-tietueeksi. (MML, 2012k) Suoritustiedoston sisältö Suoritustiedosto muodostetaan jokaisesta aloitetusta työpyynnöstä. Suoritustiedosto on kopio työpyyntötiedostosta, johon on lisätty tietosisältöä. Kaikki suorituksen tiedot kirjataan suoritustulokset-elementin alle, minne muodostetaan suorituksen yleistiedotja kasittelijat-elementit. Yleistiedot-elementissä kerrotaan työpyynnön paluukoodi ja selitys, suorituksen tehneen palvelimen ja palvelinprosessin nimet, suorituslokin sijainti sekä tietoja suorituksen kestoajoista kuten jonoon saapumisaika, jonotuksen kesto, suorituksen aloitus- ja lopetusaika sekä kesto ja kokonaissuoritusaika työpyynnön luomisesta suorituksen päättymiseen. Suoritustiedosto sisältää myös tiedot jokaisen käsittelijän suoriutumisesta. Käsittelijän suoritustiedot ovat paluukoodi ja selitys, paluuarvot sekä suorituksen aloitus-, kesto- ja kokonaiskestoaika. 3.1.2 Yleinen toimintaperiaate JAKOerä-järjestelmän työpyynnön elinkaari alkaa kun työpyyntö muodostetaan. Työnpyyntö voidaan muodostaa asiakassovelluksesta tai se voi muodostua ajastettuna, toistuvana työnä. Työpyyntö muodostetaan JAKOerä-järjestelmän palvelun omaan työjonokansioon ja työpyyntö näkyy JAKOerä-järjestelmän seurantakäyttöliittymässä jonotustilassa. Kun suorittava prosessi varaa työpyynnön, työpyyntö siirtyy suoritustilaan seurantakäyttöliittymässä, ja seurantakäyttöliittymään tulee näkyviin suorittavan palvelimen ja prosessin tunnus. Työpyynnön elinkaari päättyy, kun suoritus saadaan päätökseen tai suoritus keskeytyy virheeseen. Kummassakin tapauksessa työpyyntö poistetaan työjonokansiosta ja suorittava prosessi voi jälleen ottaa vastaan uuden työpyynnön suoritukseen. Seurantakäyttöliittymään työpyyntö muuttuu suorituksen tuloksen perusteella, joko onnistuneeksi tai epäonnistuneeksi. Kuva 7 näyttää JAKOerä-järjestelmän seurantakäyttöliittymän, jossa on jonossa olevia, onnistuneita ja epäonnistuneita työpyyntöjä. 20 Kuva 7. JAKOerä-järjestelmän selainkäyttöliittymä JAKOerä-järjestelmän selainkäyttöliittymästä voi työn suorituksen ohella tutkia työn palauttamia tuloksia sekä suorituksen lokitiedostoa. Automaattinen aineiston irrotusprosessi ei muodosta selainkäyttöliittymään ollenkaan tulostiedostoja vaan ne tallennetaan erilliseen määritettyyn kansioon, jonne kaikki irrottavat prosessit tallentavat irrotettuja karttalehtiä. JAKOmtj-sovelluksesta tulevat työpyynnöt muodostavat tulostiedostoja, jotka näkyvät selainkäyttöliittymässä, josta käyttäjä voi tallentaa tiedostot omalle koneelleen jatkokäsittelyä varten. 3.1.3 Automaattisen irrotusprosessin kannalta tärkeät ominaisuudet JAKOerä-järjestelmä oli arkkitehtuuriltaan ja toteutukseltaan erinomainen alusta rakentaa automaattinen aineiston irrotusprosessi, sillä se tarjosi ratkaisun aikaisemman irrotusprosessin ongelmiin ja rajoitteisiin. Tärkeimpiä ominaisuuksia JAKOeräjärjestelmän käyttöönotossa automaattisessa irrotuksessa oli järjestelmän helppo skaalautuvuus, työpyyntöjen jonotus- ja ajastusmahdollisuus sekä muiden työpyyntöjen tilojen tutkimisen mahdollisuus. Näiden lisäksi JAKOerä-järjestelmän fyysinen sijainti päätietokantojen lähellä ja kevennetty toteutus, muun muassa ilman graafista käyttöliittymää, antoi sille ylilyöntiaseman työpöytäsovelluksiin verrattuna. JAKOerä-järjestelmän helppo skaalautuvuus oli suurin etu siirryttäessä vanhasta yhden palvelimen, neljän irrottavan ja yhden tarkkailevan prosessin uuteen toteutukseen. Suorittavin prosessien itsenäinen työpyyntöjen varaaminen mahdollistaa joustavan toteutuksen ja helpon tavan lisätä uusia työskenteleviä prosesseja. Koska työskentelevät prosessit eivät ole tietoisia muista työskentelevistä prosesseista ja niiden ainoa tarttumapinta JAKOerä-järjestelmän palveluun on työjono, voidaan uusia työskenteleviä prosesseja lisätä vain kertomalla suorittaville prosesseille mitä työjonopolkua se alkaa tarkkailla. Muiden työskentelevien prosessien toiminta ei häiriinny vaikka uusia työskenteleviä prosesseja lisättäisiin tai poistettaisiin. Työpyyntöjen jonotus- ja ajastusmahdollisuus on ensiarvoisen tärkeää kun halutaan irrottaa eheitä kokonaisuuksia jatkuvasti. Irrotusprosessin tärkein tehtävä on varmistaa, että irrotettavat karttalehdet muodostavat eheän kokonaisuuden ennen kuin ne voidaan 21 siirtää jatkokäsittelyyn. Jos karttalehdet eivät muodosta eheää kokonaisuutta, tulee karttalehtien yhtymäkohtiin epäselvyyksiä ja esimerkiksi toiselta karttalehdeltä alkava tie ei jatkukaan samasta kohdasta toisella karttalehdellä, vaan sirpaloituu. JAKOeräjärjestelmässä työpyynnöt otetaan suoritukseen prioriteetin ja toivotun käsittelyajan perusteella. Tämä mahdollistaa irrotusprosessien perättäisen suorituksen ennen siivousprosessia, kun siivousprosessi ajastetaan tulevaisuuteen ja muiden tärkeämpien töiden suorittamisen irrotuksen ohella, irrotuksen häiriintymättä. Mahdollisuus tarkastella muiden työpyyntöjen tiloja antaa tärkeän työkalun eheän irrotuskokonaisuuden tarkasteluun. Irrottavia ja siivousprosesseja muodostettaessa otetaan ylös irrotettavien prosessien työtunnukset, joiden perusteella voidaan JAKOeräjärjestelmässä tutkia yksittäisiä töitä. Siivousprosessi pystyy näin ollen varmistamaan, että kaikki irrottavat prosessit ovat valmistuneet ennen kuin se voi aloittaa oman suorituksensa. Oman työtunnuksensa avulla siivousprosessi pystyy päättelemään, että muita siivousprosesseja ei ole käynnissä tai tulossa suoritukseen. Muiden työpyyntöjen tilojen tarkastelumahdollisuus yhdistettynä työpyyntöjen ajastusmahdollisuudelle mahdollistaa siivousprosessin jonottamisen ja JAKOerä-järjestelmän resurssien maksimaalisen käytön, kun siivousprosessin ei tarvitse odottaa irrottavien prosessien valmistumista. Graafisen käyttöliittymän avulla irrotuksen suoritusta voidaan seurata erittäin helposti. Käyttöliittymästä näkee selvästi irrotuksen tilanteen ilman, että irrotuksen tilan tutkijalle pitäisi antaa erityisiä oikeuksia esimerkiksi tiedostojen tai kansioiden tutkimiseen. Myös ongelmatilanteiden selvittäminen on helpompaa, kun jokaisella irrottavalla prosessilla on oma lokitiedostonsa. 3.2 JAKOmtj-järjestelmä JAKOmtj-sovellus on Maanmittauslaitoksen JAKO-tuoteperheeseen kuuluva maastotietojen keruu-, ajantasaistus-, varastointi- sekä tuotteiden valmistus- ja jakelujärjestelmä (Saario, 2004). Se perustuu General Electirc Company:n Smallworld Core Spatial Technolgy – tuotteeseen, joka on räätälöity Maanmittauslaitoksen tarpeisiin. JAKOmtj-sovelluksen graafiset käyttöliittymät ja työasemassa suorituksessa oleva logiikka on rakennettu pääosin käyttäen Smallworld Core Spatial Technology:n Magik- olio-ohjelmointikieltä ja tämä kokonaisuus integroituu saumattomasti Smallworld Core Spatial Technology:n tarjoamaan spatiaaliseen pitkän transaktion tietokantaan, VMDS:een (Version managed data store). JAKOmtj-sovelluksen tietokanta koostuu kahdesta erillisestä käyttäjän tietojen tallennukseen käytetystä datasetistä, gis ja tyonseuranta. Yksittäinen dataset on käytännössä erillinen tietokanta ja datasetin idea pitää sisällään samaan käyttötarkoitukseen soveltuvaa tietoa. Maastotietokannan aineisto on tallennettu tietokannan gis-datasettiin ja tyonseuranta-datasetiin on tallennettu tietoa muun muassa tietokantakohteiden päivityksen aikana muuttuneista tietokantalehdistä. JAKOmtjsovellukseen kytketyt tietokannat voivat olla myös joko yhteiskäyttöisiä (taustarasteritietokanta) tai muiden sovellusten tietokantoja (kiinteistötietojärjestelmän tietokanta). JAKOmtj-sovellus perustuu asiakas/palvelin arkkitehtuuriin, jossa tietokannan kohteita päivitetään työasemasovelluksella. Toiminnaltaan JAKOmtj-sovellus vastaa perinteistä 22 asiakas/palvelin-toimintamallia, missä asiakaskoneella on valtaosa toiminnallisuudesta ja logiikasta, kun taas palvelin toimii käytännössä tiedonsäilöjänä. JAKOmtjsovelluksen työasemakoneet ovat Windows 7 – käyttöjärjestelmällä toimivia pöytäkoneita ja JAKOmtj-sovelluksen kolmiuloitteinen tiedonkeruu tapahtuu digitaalisilta ilmakuvilta ESPA-stereotyöasemilta, joissa on käytössä EspaSystemsin kehittämä EspaCity-ohjelmisto. ESPA-stereotyöasemien stereomalli perustuu digitaalisiin ilmakuviin ja polarisaatioperiaatteeseen, missä näyttöruudun päälle asetettu polarisaatiopaneeli ja käyttäjän silmillä olevat polarisaatiolasit yhdessä aikaansaavat stereovaikutelman. JAKOmtj-sovelluksen tietokantapalvelin on HP UX-palvelinkone. JAKOmtj-sovelluksen tietokanta-arkkitehtuuri on jaettu maantieteellisesti ja koostuu Jyväskylän päätietokannan lisäksi 12 puskuritietokannasta jokaisessa maanmittaustoimistossa sekä 24 erillisestä puskuritietokannasta maanmittaustoimistojen asiakaspalvelupisteissä. JAKOmtj-sovelluksen istunnossa on työasemalla muistinvarainen tietokantapuskuri, joka sisältää 24 000 tietokantasivua, jotka vievät tilaa noin 94 MB. Työaseman muistinvarainen tietokantapuskuri on ensisijainen tiedon noutolähde. Toissijaisesti tietokantakohteet noudetaan toimipisteen puskuritietokannasta, joka sijaitsee toimipisteen sovelluspalvelimella. Viimeisenä noutopisteenä on Jyväskylän päätietokantapalvelin, joka on yhteinen kaikille JAKOmtj-sovelluksen istunnoille. Usean puskurikerroksen käyttäminen mahdollistaa nopean tiedon haun sovellukselle, sillä maanmittaustoimistojen toimialueen vuoksi käsiteltävä alue on toimipaikan sisällä melko yhtenäinen. Kuvassa 8 näkyy JAKOmtj-sovelluksen eri palvelimien sijainti Suomessa. 23 Kuva 8. JAKOmtj tietokanta-arkkitehtuuri Tietokannan päivittäminen JAKOmtj-sovelluksen tietojen päivitys on määritelty erilaisina prosesseina. Prosessit voidaan jakaa kolmeen osaprosessiin: perusparannukseen, 5 – 10 vuoden määrävälein tehtävään ajantasaistukseen sekä jatkuvaan ajantasaistukseen. Perusparannus tarkoittaa aineiston laadun korotusta B-laatuluokasta A-laatuluokkaan. Määrävälein tehtävällä ajantasaistuksella tarkoitetaan A-laatuluokan alueiden maastokohteiden päivittämistä ja jatkuvalla ajantasaistuksella ylläpidetään tietoja, jotka eivät voi odottaa seuraavaan perusparannuksen tai määrävälisen ajantasaistuksen valmistumiseen. Tietokannan ajantasaistusrakenne riippuu siitä minkä prosessin alaista työtä ollaan tekemässä. (Saario, 2004) JAKOmtj-sovelluksessa on käytössä kaksiportainen ajantasaistusrakenne. Maastotietojen määrävälein tehtävä ajantasaistus tehdään niin kutsutuissa tuotantosuunnitelmissa, jotka ovat maastotietokannan päävaihtoehdon alaisia alivaihtoehtoja. Tuotantosuunnitelman alue käsittää ajantasaistettavan alueen. Varsinainen ylläpitotyö tehdään kuitenkin tuotantosuunnitelman alaisissa alueellisesti pienemmissä vaihtoehdoissa, joita kutsutaan töiksi. Tuotantosuunnitelma rekisteröidään maastotietokannan päävaihtoehtoon vasta, kun koko tuotantosuunnitelman alueen ajantasaistus on valmistunut. Näin rekisteriin saadaan alueellisesti yhtenäistä aineistoa. Jatkuva ajantasaistus tehdään suoraan rekisterin alaisissa vaihtoehdoissa, töissä. (Saario, 2004) Kuva 9 esittää Maastotietokannan ajantasaistusrakennetta. 24 Kuva 9. Maastotietokannan ajantasaistusrakenne Tuotantosuunnitelmat ja työt käsittävät alueellisesti yhtenäisiä kokonaisuuksia, eivätkä yleensä ulotu maanmittaustoimiston toimialueen ulkopuolelle. Tämä yhdistettynä maanmittaustoimistojen alueelliseen jakautumiseen mahdollistaa tehokkaan puskuripalvelimien käytön ilman, että puskuripalvelimen täytyy ottaa kantaa tietojen maantieteelliseen sijaintiin, vaan tietojen puskuroinnissa voidaan käyttää normaaleja puskurointi algoritmeja kuten LRU (Least Recently Used) (GE Energy, 2010). 3.2.1 Maastotietokanta Maastotietokanta on Maanmittauslaitoksen ylläpitämä, koko Suomen kattava, maastoa kuvaava aineisto. Se on sijainniltaan tarkin valtakunnallinen paikkatietoaineisto. Maastotietokannan kohteet ovat vektorimuotoisia ja tietokannan mittakaava on 1:5 000 – 1:10 000. Se on kooltaan noin 200 gigatavua, josta arviolta 2/3 on historiakohteiden osuus, ja tietokannan kohteita päivittää 220 henkilöä 12 aluetoimistossa (MML, 2001). Maastotietokannan kohteet on lajiteltu 18 kohderyhmään (tiestö, rautatiestö, vesikulkuväylästö, johtoverkosto, maasto/1, maasto/2, rakennukset, korkeussuhteet, erityiskäyttöalueet, suojelukohteet, hallinnollinen jaotus, kiintopisteet, paikannimet, selitteet, karttasymbolit, taajaan rakennetut alueet, osoitepisteet ja muut kohteet) ja tietokannan kohteiden sijaintitarkkuus on 95 %:n todennäköisyydellä laatumallissa määritellyn minimitarkkuuden mukainen. Kohteita esittävien geometrioiden suuripiirteinen määrä näkyy taulukosta 1. (Maastotietokanta, MML 2005) Taulukko 1. Erilaisten geometrioiden määrä JAKOmtj-tietokannassa (MML, 2011) Geometria Viivapiste Viiva Maanpintapiste Polygoni Aluekohde Symboli Määrä (miljoonaa) 2 000 46 29 11 9 8 25 Maastotietokanta on GE Energy:n Smallworld GIS VMDS, joka on versiohallittu pitkän transaktion spatiaalinen tietokanta. Sama tietokantasovellus on käytössä Maanmittauslaitoksen ylläpitämässä kiinteistörekisterissä, minne on yksilöity koko maan kattavasti itsenäiset maanomistuksen yksiköt (Kiinteistörekisteri). Maastotietokannan kohteilla on tietokannassa ominaisuustietoja ja sijaintigeometria ja kohteet on indeksoitu spatiaalisesti quadtree-tietorakenteeseen, joka mahdollistaa nopean tietokantakohteiden käsittelyn ja noudon. (Shekhar et al., 2003). Tietokannan rakenne Maastotietokannan käyttämä Smallworld GIS VMDS-tietokanta jakaantuu tietokantatiedostoihin, jotka ovat joko fyysisiä tiedostoja tai loogisia superfile tietokantatiedostoja. Superfile tietokantatiedosto on järjestetty tiedostojoukko, joka käyttäytyy kuin yksi looginen tietokantatiedosto, mutta koostuukin useasta komponenttitiedoista. Superfilet voivat olla suurempia kuin tietojärjestelmien asettamat tiedostokokorajoitukset, mutta kaikkien superfileen kuuluvien tiedostojen tulee sijaita samalla fyysisellä palvelimella ja niihin voida päästä käsiksi saman tietokantaa hallitsevan prosessin kautta. Etuja superfilejen käytössä ovat muun muassa, että superfilejen käyttö ei ole hitaampaa kuin tavallisten tietokantatiedostojen käyttö ja superfilejen rakennetta pystytään muokkaamaan muiden istuntojen huomaamatta rakenteellisia muutoksia. Yksittäinen Smallworld GIS VMDS tietokantatiedosto koostuu niin kutsuista hallinnollisesta ja käyttäjän tiedot osioista. Hallinnollisia tietoja ovat muun muassa versiorakenne eikä hallinnollinen tieto ole versiohallinnan alaisuudessa. Käyttäjän tiedostoissa on taulun tiedot tallennettuna sisäiseen B-puurakenteeseen, joka takaa logaritmisen ja lähes vakioajan tietokantaoperaatioille (Shekhar et al., 2003). Kuva 10 esittää yhden tietokantatiedoston rakennetta, kun sen tietoja päivitetään. Kuvasarjan alussa tietokantatiedosto sisältää kaksi taulua, joista kummastakin on vain yksi versio. Tämän jälkeen lisätään tauluun B uusia kohteita ja vahvistaa muutoksensa tietokantaan. Uuteen versioon (v2) tulee kokonaan uusi ilmentymä taulusta B, mutta muuttumattomasta taulusta A viitataan aikaisempaan versioon. Viimeisessä kohdassa jälleen lisätään ja päivitetään kohteita taulussa B, mutta taulu A on edelleen muuttumaton. Taulun B versioissa on vain kyseisen päivityskerran aikana muutetut tai lisätyt tiedot. Muuttumattomat tiedot löytyvät aikaisemmista versioista. 26 Kuva 10. Tietokantatiedoston rakenne Maastotietokannan päivittäminen tapahtuu päävaihtoehdon alaisissa alivaihtoehdoissa. Syvimmillään Maastotietokannan vaihtoehtohierarkia voi olla kahden tason syvyinen kun päävaihtoehdon alaisilla alivaihtoehdoilla, tuotantosuunnitelmilla, on alivaihtoehtoja, töitä. Yhden alivaihtoehdottoman vaihtoehdon, työn, rakenne päivitettäessä näkyy kuvasta 11, jossa kaksi käyttäjää, G1 ja G2, työskentelevät samassa vaihtoehdossa ja G2 päivittää vaihtoehtoa G1 ollessa lukijana ja tämän jälkeen uusi käyttäjä, G3, aloittaa vaihtoehdossa työskentelyn. 27 Kuva 11. Alivaihtoehdottoman vaihtoehdon rakenne Kuva 12 esittää tilannetta, jossa alternative a on tuotantosuunnitelma, alternative aa on tuotantosuunnitelman alainen työ ja alternative b suoraan rekisterin alainen työ. Kuva 12. Vaihtoehdon alivaihtoehdot 28 Samanaikaisuuden hallinta Tietokannan ajantasaistaminen on tärkein tehtävä tietokannan ylläpidossa. JAKOmtjsovellus mahdollistaa usean käyttäjän samanaikaisen tietokantakohteiden päivittämisen ilman, että muut käyttäjät huomaavat toisten käyttäjien toimia ja että tietokannan eheys vaarantuu. Periaatteellisesti usean käyttäjän tietokantasovelluksissa kohteiden päivittäminen voidaan tehdä joko pessimistisen tai optimistisen lukitsemisen avulla. Pessimistisessä lukitsemisessa kaikki päivityksen kohteena olevat tietokantakohteet lukitaan päivityksen ajaksi ja lukitus vapautetaan päivityksen jälkeen. Tietokantakohteen lukitseminen rajaa muiden käyttäjien mahdollisuuksia käsitellä kohdetta ja lukitus voi estää kohteen lukemisen, päivittämisen tai poistamisen. Lukitseminen voidaan ulottaa koko tietokantaan, tauluun, riveihin tai riviin. Optimistisessa lukitsemisessa tietokantakohteita ei lukita koko ajaksi vaan kohteen tietoja päivitettäessä havaitaan ja ratkaistaan mahdolliset konfliktit. Optimisen lukitus varaa tietokantakohteen täysin omaan käyttöönsä vain kohteen kirjoitusoperaation ajaksi. Kohteen lukeminen muistiin ei varaa kohdetta vaan sallii muiden käyttäjien lukea kohde oman istuntonsa muistiin. Pessimistinen lukitseminen antaa varman takuun, että muutokset tietokantaan tehdään turvallisesti ja onnistuneesti. Se on myös helposti toteutettavissa, mutta ei skaalaudu helposti usean käyttäjän tarpeisiin. Optimistinen lukitseminen taas sopii usean käyttäjän järjestelmiin, joissa saman ilmentymän käsittely ovat harvinaisia. Kuvan 13 sekvenssikaavio kuvaa optimisten lukitsemisen toimintaa. Kuva 13. Optimistinen lukitseminen. (Ambler 2012, muokattu) 29 Optimistisessa lukitsemisessa kohteen päivittämiseksi tietokantakohde luetaan muistiin, mikä tapahtuu tietokantakohteen lukitsemiseksi lukuoperaation ajaksi. Kun kohde on noudettu muistiin, lukko vapautetaan. Tietokantakohdetta muokataan käyttäjän toimesta ennen kuin se palautetaan muuttuneena tietokantaa. Tietokantakohteen päivitys tapahtuu lukitsemalla tietokantakohde kirjoitusta varten. Tietokantakohde haetaan jälleen muistiin ja verrataan muuttuneeseen kohteeseen. Vertailussa tutkitaan muun muassa onko kohdetta päivitetty jonkun toisen toimesta. Jos kohde voidaan päivittää tietokantaan, kohteen tiedot kirjoitetaan tietokantaan ja kohteen lukitus vapautetaan. Tietokannan kohteiden päivittäminen tapahtuu tietokantatransaktioiden avulla. Transaktio on joukko tapahtumia, jotka muokkaavat tietokantaa ja jotka suoritetaan peräkkäin, aivan kuin kyseessä olisi vain yksi ainoa tapahtuma (Oulun Seudun Ammattikorkeakoulu). Transaktioiden pitää noudattaa ACID-periaatetta, joka määrittää, että transaktioiden tulee olla atoomisia, eheitä, eriytettyjä sekä pysyviä. Tämä tarkoittaa, että transaktio suoritetaan kokonaan tai ei lainkaan, transaktion suoritus siirtää tietokannan eheästä tilasta toiseen eheään tilaan, transaktiot eivät vaikuta toisiinsa sekä onnistuneen transaktion jälkeen tiedot eivät saa mitätöityä (Bernstein et al., 2009). Maanmittauslaitoksen JAKOkii- ja JAKOmtj-sovelluksissa tehtävät tietojen päivitykset kestävät useista päivistä useisiin vuosiin, joten lyhyen transaktion tietokanta ei ollut soveltuva vaihtoehto JAKO-tuoteperheen toteutukselle. JAKOmtj-sovelluksen tietokanta toimii optimistisesti ja pessimistisesti tietokantakohteiden päivittämisen osalta käyttäen hyväkseen versioituja vaihtoehtoja tietojen lukitsemisen sijaan. Vaihtoehdolla voi olla vain yksi kirjoittaja, mutta monta lukijaa. Vaihtoehdot muodostavat puurakenteen, jossa puun juurena on ajantasaisin vaihtoehto eli rekisteri. JAKOmtj-sovelluksen tietokantatoteutuksessa puurakenteen solmun lapsisolmujen määrää ei ole rajattu, mutta puunsyvyys on rajattu kahteen eli maksimissaan kaksitasoiseen tietokantarakenteeseen. Kaikki JAKOmtj-sovelluksessa luodut vaihtoehdot ovat alivaihtoehtoja päävaihtoehdolle eli rekisterille. Vaihtoehtojen välillä ei ole automaattista tietojen ajantasaistusta vaan ajantasaistaminen on käynnistettävä manuaalisesti. Tietojen noudossa päävaihtoehdosta puhutaan ”virkistämisestä” ja tietojen julkaisusta päävaihtoehtoon puhutaan ”rekisteröimisestä”. Virkistäminen ja rekisteröiminen voivat aiheuttaa konfliktitilanteen silloin, kun kohde on muuttunut sekä vaihtoehdossa ja sen ylävaihtoehdossa. Virkistämiseensä yleensä konfliktit ratkaistaan korvaamalla alivaihtoehdon tiedot rekisterin tiedoilla, sillä rekisteri pitää sisällään kaikkein ajantasaisimman tiedon. Rekisteröinnissä joudutaan ratkaisemaan konfliktit monimutkaisten käsittelysääntöjen avulla. Rekisteröinnin konfliktit ovat melko harvinaisia, sillä Maanmittauslaitoksen maanmittaustoimistojen toimialueet ja toiminnan rajautumisen toimialueiden sisään estävät tehokkaasti muiden käyttäjien kohteiden päivittämiset. JAKOmtj-sovellus myös varoittaa käyttäjää jos tämän työalue leviää lähellä sijaitsevalle toiselle työalueelle ja varoittaa käyttäjää mahdollisista konfliktiriskeistä. Maastotietokannan kohteiden muutoksen siirrettään vaihtoehtojen välillä kahdella eri komennolla, Merge ja Post. Merge-komento tuo isävaihtoehdon muutokset alivaihtoon ja Post-komento julkaisee alivaihtoehdon muutokset isävaihtoehtoo. Post-komento lisäksi pakkaa isävaihtoehtoon julkaistavat alivaihtoehdon muutokset ja pyrkii vapauttamaan muutosten vaatiman tilan alivaihtoehdossa. Merge-komento pakkaa 30 alivaihtoehtoon tuodut muutokset ja pyrkii vapauttamaan alivaihtoehdon aikaisemman version muutosten vaatiman tilan. Tarvittaessa Maastotietokanta kompressoidaan erillisenä tietokanta-ajona, jossa muodostetaan uudet tietokantatiedostot alkuperäisistä siten, että kunkin version tietueet tallennetaan minimitilaan. Kuva 14 esittää normaalia konfliktitonta muutosten siirtymistä kahdesta alivaihtoehdoista vaihtoehtojen isävaihtoehtoon. Kuva 14. Muutosten siirtyminen vaihtoehtojen välillä Konfliktitilanne syntyy kun kohde on muuttunut eri tavalla vaihtoehdon ja alivaihtoehdon kesken ja ne havaitaan Merge-komennon suorituksessa. Kuva 15 esittää esimerkkiä konfliktitilanteessa, jossa vaihtoehdolla on kaksi alivaihtoehtoa ja alivaihtoehdoissa alkuperäistä kohdetta muokataan eri tavalla. Kuva 15. Konfliktitilanne Konfliktitilanne voi syntyä myös niin kutsuttuna viime hetken konfliktina kun työtä rekisteröidään, jolloin konflikti havaitaan rekisteröinnin yhteydessä ja rekisteröinti keskeytettään. 31 Konfliktitilanteessa ratkaisuvaihtoehtoja on neljä. Kohde voidaan korvata alkuperäisellä, alivaihtoehdon tai vaihtoehdon versiolla. Lisäksi kohde voidaan muokata kokonaan uudeksi ja yhdistää kaikkien eri versioiden muutokset. Tällöin puhutaan kohteen sovittamisesta. Kohteen sovittaminen vaati asiantuntemusta käyttäjältä, sillä sovitettavia tietoja voivat olla kohteen ominaisuustiedot ja/tai kohteen sijaintigeometria. JAKOmtj-sovelluksessa kaikki muutokset kohteen ominaisuustiedoissa eivät aiheuta konfliktitilannetta. Muun muassa kohteiden versioleima, kohteen alku- ja loppupäivämäärät sekä muutamat luokkakoodistoarvot eivät aiheuta konfliktitilannetta vaikka ne olisivat muuttuneet vaihtoehtojen kesken. Konfliktien ratkaiseminen tehdään JAKOmtj-sovelluksessa automaattisesti ja konfliktikohteista pyritään tekemään automaattisesti sovitettuja kohteita, jotka käyttäjän täytyy tarkastaa ja hyväksyä. 3.2.2 MTK-skeema ja MTK-GML-tiedostomuoto Aloite MTK-skeema määrittelemiseen lähti Maanmittauslaitoksen Kehittämiskeskuksen vuoden 2010 tulossopimuksesta, jossa oli asetettu tavoitteeksi: ”Määritellään keskeisille erikseen valittaville maastotietokannan tietotuoteryhmille kansalliset skeemakuvaukset”. Tämän tavoitteen täyttämiseksi määriteltiin MTK-skeema. MTK-skeema on yhteensopiva W3C XML Schema 1.0 ja OGC GML 3.1.1 standardeihin ja sen suunnittelussa otettiin huomioon soveltuvin osin JHS-suositukset 162 Paikkatietojen mallintaminen tiedonsiirtoa varten, 170 Julkishallinnon XML-skeemat ja 177 Paikkatietotuotteen määrittely. Skeeman tavoitteena ei ole toteuttaa Inspire vaatimuksia, eikä se sisällä rasterimuotoista aineistoa tai korkeusmalleja. (MML 2011b) GML (Geography Markup Language) on Open Geospatial Consoritum:in (OGC) määrittelemä XML-pohjainen kieli, jonka avulla voidaan määritellä maantieteellisiä kohteita. GML on ISO (International Organization for Standardization) standardi. GML:n avulla voidaan määritellä yleisiä maantieteellisiä peruskohteita, jotka voivat sisältää pisteitä, viivoja ja polygoneja. Lisäksi voidaan määritellä suurempi ja tarkempia kokonaisuuksia kuten tietä ja siltoja pisteiden, viivojen ja polygonien sijaan. Yksi esimerkki tällaisesta suuremmat kokonaisuudesta on CityGML, jonka avulla voidaan esittää 3D kaupunkikohteita. CityGML määrittää luokat ja suhteet tärkeimpien topograafisten kaupunkikohteiden ja alueellisten mallien osalta suhteessa niiden geometrisiin, topologisiin, semanttisiin ja ulkoasullisiin ominaisuuksiin. (ISO, CityGML 2007, OGC) XML XML (Extensible Markup Language) on W3C:n (World Wide Web Consortium) kehittämän yksinkertainen ja joustava rakenteellinen kuvauskieli, joka pohjaantuu vuonna 1986 ISO-standardisoidusta (ISO 8879:1986) SGML-kielestä (Standard Generalized Markup Language) (W3C, 2008). XML-dokumentti koostuu elementeistä, joilla on alku- ja loppumerkintä, ja elementtejä kuvataan tageilla. Elementtejä voi olla rajattomasti sisäkkäin ja elementeillä voi olla attribuuttidataa ja ne voivat sisältää tekstitietoa. XML-dokumentille voidaan määrittää erityinen, XML-dokumentin rakennetta, elementtien välisiä suhteita ja arvojen arvoalueita kuvaava XML-skeema, jota voidaan käyttää XML-dokumentin oikeellisuuden tutkimiseen. Lisäksi XML- 32 dokumentille voidaan määrittää myös erityisen kuvauskielen mukainen DTDdokumentti (Document Type Definition), joka on XML-skeeman edeltäjä. (Pacheco P, 2005) XML-dokumentilla on kaksi oikeellisuusmääritelmää: hyvin muodostettu ja validi. Hyvin muodostettu tarkoittaa, että dokumentti täyttää kaikki XML-tiedostomuodon määrittämät syntaksisäännöt ja se on vaatimuksena, että XML-dokumenttia voidaan käsitellä eri välineissä. Validi tarkoittaa, että XML-dokumentin elementtien attribuuttija tekstiarvot vastaavat XML-skeemassa tai DTD-dokumentissa määritettyä rakennetta ja arvoja. (W3C, 2008) GML GML on ensisijaisesti tietojen jakamiseen tarkoitettu tiedostomuoto vaikka tiedostomuoto tukeekin tietokantamaisia ominaisuuksia kuten erilaisia hakuja. GML ei kuitenkaan tue minkäänlaista paikkatietoanalyysia vaan haut rajoittuvat tietojen ominaisuustietojen tutkimiseen. GML mahdollistaa standardipohjaisen ja sitoutumattoman tavan mallintaa ja jakaa tietoja ja sen pohjautuminen XMLtiedostomuotoon tuo kaiken XML-tiedostojen tuen GML-tiedostoille. Lisäksi GMLtiedostomuoto on samalla koneellisesti luettava ja ihmisen ymmärrettävä tiedostomuoto. GML-tiedostot ovat verraten suuria ja niiden prosessointi on hitaampaa kuin esimerkiksi vastaavien binääritiedostojen prosessointi (El-Bakry et al. 2009). Tämä johtuu muun muassa siitä, että GML-tiedostomuoto on suunniteltu ensisijaisesti tiedon jakamiseen ja XML-tiedostomuodosta peritystä puumuotoisesta tiedostorakenteesta ja sen vaatimuksista sekä tarpeesta pitää tiedostosisältö ihmisluettavana. Lisäksi GMLtiedostojen käyttäminen vaatii erillisiä asiakirjoja ja käyttäjäinteraktiota, jotta tietoja voidaan käyttää ja tulkita muissa järjestelmissä. Kuva 16. Skeemojen riippuvuus MTK-skeema MTK-skeema on Maanmittauslaitoksen Maastotietokannasta irrotettavan GMLaineistoa kuvaava ja sen rakennetta määrittelevä ja rajaava dokumentti. MTK-skeema määrittää juurielementtinään Maastotiedot-elementin, jonka alle on määritelty symboli-, 33 viiva-, alue- ja tekstikohdeluokat. Liitteessä 5 on kerätty kaikki MTK-skeeman määrittämät kohteet omien ja lajiteltu ne symboli-, viiva-, alue- ja tekstikohdeluokkiin. MTK-skeema määrittää jokaiselle kohdeluokalle omat perusominaisuutensa oman tyypin kautta. Aluekohteille on määritelty AluekohdeType, joka pitää sisällään sijaintitarkkuuden, aineistolähteen, kohteen voimaantulo- ja päättymispäivämäärät sekä sijainnin alueena ja pisteenä. Symbolikohteille on määritelty SymbolikohdeType, joka pitää sisällään sijaintitarkkuuden, korkeustarkkuuden, aineistolähteen, kohteen voimaantulo- ja päättymispäivämäärät, suunnan ja sijainnin. Skeema sisältää myös tekstimuotoisen symbolikohteen TekstiSymbolikohdeType, joka on jatke symbolikohteelle ja se sisältää symbolikohteen tietojen lisäksi kohteen tekstiarvon, itäja pohjoissiirtymät. Tekstikohteille on määritelty TekstikohdeType, jossa on määritelty sijaintitarkkuus, aineistolähde, kohteen voimaantulo- ja päättymispäivämäärät, kohteen tekstiarvo, suunta, itä- ja pohjoissiirtymät sekä sijainti. Viivakohteille on määritelty ViivakohdeType, jossa on määritelty sijaintitarkkuus, korkeustarkkuus, aineistolähde, kohteen voimaantulo- ja päättymispäivämäärät, kulkutapa sekä sijainti. (MTK-skeema) Kohdetyypit määrittävät kohdekohtaiset skeemamääritykset, jotka lisäävät tietoa kohdeluokan perusmääritykseen. Kaikki kohteet täydentävät kohdeluokkiensa määrityksiä. Aluekohde suo määrittää kohteelle kohdeluokan perusominaisuuksien lisäksi kohderyhmän, kohdeluokan, kulkukelpoisuuden ja metsäisyyden. Symbolikohde portti määrittää kohteelle kohdeluokan perusominaisuuksien lisäksi ainoastaan kohderyhmän ja kohdeluokan. Tekstikohde syvyyspiste määrittää kohteelle kohdeluokan perusominaisuuksien lisäksi kohderyhmän. kohdeluokan, ladontatunnuksen ja syvyysarvon. Viivakohde suoja-alueen reunaviiva määrittää kohteelle kohdeluokan perusominaisuuksien lisäksi kohderyhmän, kohdeluokan ja määrityksen aluejakoon osallistumisesta. (MTK-skeema) MTK-skeema määrittää myös kohdeluokkien lisäksi useita koodistoja, jotka kuvaavat kohdeluokkien eri omaisuusarvojen käännöksiä numeroarvoista tekstiarvoiksi. Esimerkiksi viivakohde tieviiva määrittää ominaisuuden kohdeluokka, joka käyttää tieluokka koodiston arvoja. Numeroarvoa 12111 vastaava tekstiarvo on suomeksi autotie Ia ja ruotsiksi bilväg Ia. Koodistojen käyttö vähentää tietokantaan tallettavan tiedon määrää, helpottaa kohteiden vertailua ja tietojen ylläpitoa. Toisaalta koodistot pitää olla niin tiedon luovuttajan ja noutajan käytössä, jotta kohteiden ominaisuuksia voidaan tulkita, muutoin kohteiden ominaisuudet eivät ole ymmärrettäviä. (MTKskeema) MTK-GML–tiedostomuoto MTK-GML–tiedostomuoto on MTK-skeeman toteuttava GML-muotoinen tiedonsiirtoformaatti, jota käytetään mittakaavassa 1:25 000 maastotietokannassa vektoriaineiston tiedostonsiirtoon. MTK-GML–tiedostomuoto sisältää maastotietokannan vektoriaineiston ominaisuustiedot, sijaintitiedot ja tietokantayhteystiedot ja se on 3D-tiedostomuoto. MTK-GML–tiedostomuoto ei käytä GML standardin elementtiä gml:coordinates. Taulukko 2 on maastotietokannan geometriatyyppien vastaavuus GML:ään ja MTK-skeemaan. (MML 2011b) 34 Taulukko 2. Maastotietokannan geometriatyyppien vastaavuus (MML 2011b) MTK geometriatyyppi area chain, simple_chain point, simple_point text GML tyyppi PolygonType LineStringType PointType PointType GML substitutionGroup Polygon LineString Point Point MTK-skeeman elementti Alue Murtoviiva Piste Piste MTK-GML–tiedostomuodon on tarkoitus korvata aikaisempi tiedonsiirtoformaatti MXL. MTK-GML–tiedostomuodon edut MXL-tiedostomuotoon ovat selvät. XMLtiedostomuodon tuomat hyödyt ovat suurimpia etuja MTK-GML–tiedostomuodossa. XML-tiedostomuodon oikeellisuusmääritelmä takaa tiedoston ja tietosisällön eheyden tarkastamisen helpoilla menetelmillä. 3.2.3 Aikaisempi aineiston irrotusprosessi Maastotietotuotantosovellusryhmän kehittämä aikaisempi aineiston irrotusprosessi otettiin käyttöön vuonna 2006 aineiston jatkuvaan ja kertaluontoiseen irrotukseen Maastotietokannasta. Jatkuva aineiston irrotusprosessi irrotti aineistoa pääasiallisesti MXL-tiedostomuodossa karttatuotannon raaka-aineeksi, mutta ei koskaan irrottanut MTK-GML–aineistoa. Aikaisempi aineiston irrotusprosessi toimi yhdessä palvelinkoneessa, jossa irrotusta toteutti vähintään neljä irrottavaa prosessia. Riippuen oliko kyseessä kertaluotoinen vai jatkuva irrotus, irrottavien prosessien työlistaa saattoi hallinnoida yksi erillinen prosessi neljän irrottavan prosessin lisäksi. Aikaisemman aineiston irrotusprosessin toteutus nojautui vahvasti prosessien aikaikkunoihin. Tämä toteutus mahdollisti jokaiselle prosessille vapaan ”suun vuoron” ja mahdollisti, että prosessit pystyivät ”keskustelemaan” keskenään lukemalla ja kirjoittamalla erityisiin ennalta määrättyihin tiedostoihin. Lisäksi toteutus mahdollisti yhteisen lokitiedoston pitämisen prosessien kesken, mikä auttoi mahdollisten ongelmatilanteiden ratkaisemisessa. Aikaikkunatoteutus oli kuitenkin erittäin raskas, sillä uusi prosessien lisääminen vaikutti kaikkien prosessien aikaikkunoihin. Viimeisimmässä toteutuksessa aikaikkunasykliksi oli valittu minuutti, joka mahdollisti viisi samanaikaista prosessia, joilla oli kahdeksan sekunnin aikaikkuna ja aikaikkunoiden väliin oli varattu neljän sekunnin varoaika. Kuva 17 esittää aikaisemman irrotusprosessin aikaikkuna toteutusta. 35 Kuva 17. Aikaikkunajaksotus Uusien prosessien lisääminen aikaisempaan toteutukseen olisi vaatinut joko aikaikkunoiden ja varoaikojen lyhentämistä tai aikaikkunasyklin kasvattamista. Aikaikkunoiden ja varoaikojen lyhentäminen olisi vaarantanut koko prosessin toiminnan, sillä liian lyhyet aikaikkunat saattaisivat johtaa prosessien työskentelyyn toisen prosessin aikaikkunan aikaan ja aiheuttaa prosessien kaatumisen jos esimerkiksi toinen prosessi yrittäisi kirjoittaa tiedostoon johon toisella irrottavalla prosessilla olisi kirjoituslukko ja -oikeus. Aikasyklin kasvattaminen olisi pakottanut prosessit odottamaan pitempään ja hidastanut koko irrotusprosessia, sillä prosessit olisivat joutuneet odottamaan omaa vuoroaan pitempään, koska useampi irrotusprosessi olisi vaatinut oman aikaikkunansa ja varoaikansa. Näin ollen uusien prosessien lisääminen aikaisempaan irrotusprosessiin olisi vaatinut joko monimutkaisten käsittelysääntöjen muodostamista, jotta prosessit osaisivat laskea omat aikaikkunansa, tai aikaikkunasyklin kasvattamista niin suureksi, että kaikki prosessit ehtisivät varmasti ajoittaa aikaikkunansa aikasykliin. Todennäköisesti aikaisemman aineiston irrotuksen jatkokehittäminen olisi vaatinut, että irrotuksen aloittajan olisi pitänyt määrittää aikasykli ja prosessit olisivat itsenäisesti laskeneet määrätystä syklistä omat aikaikkunansa ja varoaikansa. Aikaisempi jatkuva automaattinen aineiston irrotus ja aineiston kertairrotus toimivat periaatteellisesti samalla tavalla, mutta jatkuvassa aineiston irrotuksessa oli yksi ylimääräinen prosessi, joka hallitsi irrotettavista karttalehdistä muodostettua listaa. Tämän prosessin ainoa tehtävä oli uuden karttalehtilistan muodostaminen irrottaville prosesseille uusista rekisteröidyistä karttalehdistä ja edelliskerran irrottamatta jääneistä karttalehdistä. Prosessilla ei ollut muuta roolia vaan se jäi odottamaan seuraavan päivän rekisteröityneitä karttalehti, joista se jälleen muodosti uuden karttalehtilistan. Kuvassa 18 näkyy aikaisemman aineiston irrotusprosessin toiminta. 36 Kuva 18. Automaattien aineiston irrotusprosessi ennen uudistusta Aikaisempi jatkuva aineiston irrotus ja aineiston kertairrotus toimivat lähes samalla tavalla aineiston irrotuksen aikana. Ainoastaan irrotusten käynnistymisessä on eroavaisuuksia. Jatkuvan aineiston ja aineiston kertairrotuksen erona on karttalehtiä hallinnoiva prosessi. Jatkuvassa aineiston irrotuksessa karttalehtilista muodostuu karttalistaa hallinnoivan prosessin toimesta kun taas kertairrotuksessa hallinnoiva prosessi puuttuu sillä karttalehtilista saadaan suoraan käyttäjän syötteenä. Kummassakin irrotustapauksessa irrottavat prosessit toimivat keskenään lähes samalla tavalla paitsi, että kummassakin irrotustapauksessa ensimmäisellä irrotusprosessilla on muita irrotusprosesseja laajempi rooli sillä ensimmäinen irrotusprosessi vastaa irrotuksen siivoamisesta. Irrotuksen siivoamiseen kuuluu karttalehtitiedostojen siirtämisen aloittamisen tutkiminen, siirtämisen aloittamisesta ja päättämisestä ilmoittaminen sekä karttalehtitiedostojen siirtäminen väliaikaisesta säilytyspaikasta lopulliseen säilytyspaikkaan. Kuva 19 näyttää aikaisemman irrotusprosessin toimintaa eri irrotustyypeillä sekä mitkä prosessin osat kuuluvat mihinkin irrotustyyppiin. 37 Kuva 19. Aikaisemman irrotusprosessin toiminta 3.2.4 Toiminnallisuuden siirto JAKOerä-järjestelmään Uusi automaattinen aineiston irrotusprosessi toteutettiin JAKOerä-ympäristöön käyttäen hyväksi JAKOmtj-sovelluksen toiminnallisuutta. JAKOerä-järjestelmä oli aikaisemmin suunniteltu käyttävän JAKOkii-sovelluksen toiminnallisuutta, joten JAKOmtjsovelluksen mukaantulo muutti JAKOerä-järjestelmän pelkästään JAKOkiisovelluksenn toiminnallisuutta tukevasta ympäristöstä eräänlaiseksi hybridiympäristöksi, jossa JAKOkii-sovelluksen toiminnallisuus on hallitseva ja JAKOmtj-sovelluksen toiminnallisuus täydentää JAKOkii-sovelluksen toiminnallisuutta. JAKOkii-sovelluksen toiminnallisuus keskittyy pääasiallisesti maanmittaustoimituksien läpivientiin ja JAKOmtj-sovelluksen toiminnallisuus paikkatietoaineiston käsittelyyn, joten näiden kahden sovelluksen yhteensovittamisessa ei ollut suurempia ongelmia. Maanmittauslaitoksen JAKO-tuoteperheen sovelluskehityksessä pyritään aina modulaarisuuteen. Uusi sovelluskoodi sijoitetaan aina jonkin aikaisemman moduulin tai kokonaan uuden moduuli alle. Moduulien rakenne on ennalta määrätty ja noudattaa Maanmittauslaitoksessa sovittua standardia. Moduulin jaetaan alimoduuleihin, jotta moduulin toiminnallisuus voitaisiin ottaa käyttöön muualla sovelluksessa ilman, että esimerkiksi käyttöliittymiä pitäisi ottaa mukaan. Maanmittauslaitoksen standardin mukaan yleisimmät moduulit ovat plugin, käyttöliittymä, toimintalogiikka ja ydin. Alla olevasta kuvassa 20 näkyy yleisimpien alimoduulien riippuvuussuhde. 38 Kuva 20. Moduulien riippuvuus Ydinmoduuli määrittää toiminnallisuuskokonaisuuden tarvitsemat ydinluokat. Esimerkiksi yksittäisiä maastokohteita kuvaavat oliot kuuluvat ydinmoduuliin. Toimintalogiikkamoduuliin sisältyy ydinmoduulin luokkia käyttävät ja näitä manipuloivat toiminnallisuusosat. Esimerkiksi MTK-GML–aineiston kirjoittaja kuuluu toimintalogiikkamoduuliin. Käyttöliittymämoduuli on vapaaehtoinen ja käytössä vain jos toiminnallisuuskokonaisuudessa on tarvetta graafiselle käyttöliittymälle. Pluginmoduuli on myös vapaaehtoinen ja sen tarkoitus on tarjota yksinkertaiset palvelut muun muassa käyttöliittymä- ja/tai toimintalogiikkamoduulien osien käyttöön. Normaali toimintatapa JAKO-tuoteperheen sovelluksissa on, että moduulien toiminnallisuutta voidaan kutsua muualta kuin toiminnallisuuskokonaisuuden sisältä vaatimalla kyseinen moduuli käytettäväksi kutsuvan moduuliin. Määrittämällä toimintalogiikkamoduuli vaadituksi, voidaan olettaa että kaikki kyseisen moduulin tarvitsema toiminnallisuus on määritetty vaaditussa moduulissa tai määritelty otettavaksi käyttöön moduulin omissa riippuvuusmäärityksissä. JAKOmtj-sovelluksen toiminnallisuuden siirrossa JAKOerä-järjestelmään kohdattiin ongelmia muun muassa globaaleissa asetuksissa ja globaaleissa muuttujissa, jossain jaetuissa funktioissa ja etenkin tietokantaviittauksissa. Lisäksi JAKOmtj-sovelluksen sovelluskoodi ei ollut täysin siirrettävissä JAKOerä-järjestelmään, sillä JAKOmtjsovelluksen sovelluskoodin modularisointi ei täysin vastannut edellä kuvattua Maanmittauslaitoksen standardia. Esimerkiksi luokkien toiminnallisuutta oli upotettu käyttöliittymämoduuliin vaikka niiden olisi pitänyt olla toimintalogiikkamoduulissa. 39 Lisäksi JAKOmtj-sovelluksen toimintalogiikan toiminnallisuus käytti suoraan käyttöliittymäkomponentteja syötteenään muuttujien sijasta. JAKOerä-järjestelmän suorittavat tietokantayhteydelliset prosessit ovat täysin käyttöliittymättömiä. JAKOmtj-sovellus on suunniteltu toimimaan graafisena sovelluksena, joten useat metodit ja funktiot olettavat, että graafinen käyttöliittymä löytyy ja viittaavat graafiseen käyttöliittymään esimerkiksi tietokantoja haettaessa. Mielenkiintoisen lisän toiminnallisuuden siirtämisessä uuteen ympäristöön toi metodit, joita käytetään JAKOmtj-sovelluksessa ja JAKOkii-sovelluksessa. Näissä graafinen käyttöliittymä on ollut erityisasemassa kun JAKOmtj-sovellusta ja JAKOkii-sovellusta on erotettu toisistaan. Myös viittauksissa tietokantoihin JAKOmtj-sovelluksessa ja JAKOerä-järjestelmässä oli eroavaisuuksia. JAKOerä-järjestelmä on rakennettu JAKOkii-sovelluksen pohjalta ja tällöin primääritietokantana on JAKOkii-sovelluksen tietokanta, kiinteistörekisteri. JAKOmtj-sovelluksessa primääritietokanta on JAKOmtj-sovelluksen tietokanta, maastotietokanta. Kumpikin sovellus viittaa samalla tavalla primääritietokantaansa, mikä toimii hyvin oman sovelluksen sisällä, mutta aiheuttaa ongelmia hybridiympäristössä. Globaalit muuttujat ja asetukset korjattiin eriyttämällä JAKOmtj-sovelluksen työpöytäsovelluksen ja JAKOerä-järjestelmän toteutus käyttötarkoitustaan vastaaviin moduuleihin. Tietokantayhteyksien kohdalla jouduttiin toimiaan vastaavalla tavalla ja kaikkiin JAKOmtj-sovelluksen JAKOerä-järjestelmässä käytettyihin metodeihin piti muuttaa viittaus, joko globaaliin dynaamisesti asetettavaan tietokantailmentymään tai suoraan vaadittuun tietokantaan. Ratkaisutapa ei ollut optimaalinen, sillä eriävä toteutus samoissa metodeissa aiheuttaa ylimääräistä ylläpitotyötä kun toiminnallisuus pitää muuttaa kahteen eri paikkaan. Lopputuloksena saatiin rakennettua ympäristö, jossa JAKOmtj-sovelluksen toiminnallisuutta voitiin ottaa käyttöön lähes suoraan, ilman suurta muokkaamista, mikä mahdollistaa uuden toiminnallisuuden tuomista JAKOerä-järjestelmään. 40 4 Uusi automaattinen aineiston irrotusprosessi Uuden automaattisen aineiston irrotusprosessin tavoitteina oli olla helpommin ylläpidettävä ja muokkautuvaisempi erilaisiin tilanteisiin kuin aikaisempi aineiston irrotusprosessi. Uuden aineiston irrotusprosessin tarkoitus ei ollut poiketa suuresti aikaisemmasta toteutuksesta vaan poistaa aikaisemman toteutuksen heikkoudet ja muokata toteutus hyödyntämään JAKOerä-järjestelmän tarjoamat hyödyt. Uuden aineiston irrotusprosessin suunniteltiin vastaavaan kahteen erilaiseen käyttötapaukseen; jatkuvaan aineiston irrotukseen ja aineiston kertairrotukseen. Käyttötapaukset ovat hyvin samanlaiset, mutta niissä on eroja etenkin parametrisoinnissa ja jatkuvuuden hallinnassa. Tässä kappaleessa kuvataan uuden aineiston irrotusprosessin toimintaperiaate. 4.1 Jatkuva aineiston irrotus Uusi jatkuva aineiston irrotusprosessi suunniteltiin koostuvan kolmesta vaiheesta, jotka toteutettiin itsenäisinä luokkina ja prosesseina JAKOerä-järjestelmän JAKOsiirtotiedosto-palveluun. Jatkuvan aineiston irrotusprosessin ensimmäinen vaihe tutkii aineiston irrotuksen tarpeen listaamalla edellisen päivän aikana rekisteröidyt, muuttuneet karttalehdet sekä tutkimalla mahdollisen edellisen irrotuskerran työlistan, jossa on edellisen irrotuskerran irrotuskokonaisuus. Tämän jälkeen irrotusprosessi muodostaa näistä karttalehdistä uuden työlistan nykyiselle aineiston irrotukselle. Toisessa vaiheessa työlistan karttalehdet irrotetaan tietokannasta, mahdollisesti validoidaan ja pakataan loppukäsittelyä varten. Viimeinen vaihe tutkii koko irrotuksen tilanteen, varmistaa eheän irrotustuloksen, siirtää onnistuneen ja eheän kokonaisuuden loppusijoituspaikkaan jatkokäsittelyä varten sekä siivoa irrotuksen jäljet järjestelmästä. 4.1.1 Ensimmäinen vaihe Jatkuvan aineiston irrotuksen ensimmäinen vaihe toteutettiin JAKOerä-järjestelmä JAKOsiirtotiedosto-palveluun joka aamuyö kello 1:00 alkavana ja vuoden jokaisen päivänä toistuvana työpyyntönä. Työpyynnön suoritus koostuu viidestä peräkkäisestä askeleesta, joiden lopputuloksena suoritus muodostaa listan irrotettavista karttalehdistä, karttalehtiä irrottavat työpyyntötilaukset sekä lopputöistä huolehtivan siivousprosessin työpyyntötilauksen. Alla on kuvattu ensimmäisen vaiheen suoritus askeleittain: 1. 2. 3. 4. 5. Edellispäivänä rekisteröityjen karttalehtien listaaminen Edellisen irrotuskerran työlistan tutkiminen Irrotuslistan muodostaminen Irrotustyöpyyntötilausten muodostaminen Siivousprosessin työtilauksen muodostaminen JAKOmtj-sovelluksessa töiden rekisteröinnin yhteydessä pidetään yllä listaa, jossa ovat työkokonaisuuden aikana muuttuneet karttalehdet. Karttalehti on muuttunut, jos sen alueella on muuttuneita kohteita ja se on merkitty rekisteröidyn työn vaikutuspiiriin. Muuttuneet karttalehdet merkitään muuttuneeksi työn rekisteröintipäivänä vaikka tosiasiallinen muutos olisikin tapahtunut mahdollisesti aikaisemmin. JAKOmtjsovelluksen pitkän transaktiotietokantatoteutuksen vuoksi tehtävät muutokset eivät näy muille tietokannan käyttäjille ennen kuin muutokset viedään rekisteriversioon, joten 41 karttalehtien muutospäivän määrittäminen rekisteripäiväksi on looginen ratkaisu koko tietokannan kannalta. Rekisteröidyt karttalehdet voidaan listata eri projektioissa ja mittakaavoissa, mutta jatkuvassa MTK-GML–aineiston irrotuksessa käytetään UTMprojektiota mittakaavassa 1:20 000. Irrotuslistan muodostamisessa verrataan rekisteröityjä, muuttuneita karttalehtiä edellisen irrotuskerran mahdollisen työlistan karttalehtiin. Edelliskerralla onnistuneesti muodostuneet karttalehtitiedostot jätetään paikalleen erityiseen väliaikaisvarastoon, jos niitä ei ole rekisteröity uudelleen. Uudelleen rekisteröinnissä on voinut syntyä tilanne, jossa karttalehti on muuttunut uudelleen ennen kuin irrotus on ehtinyt onnistua kokonaan kertaakaan eikä irrotuskokonaisuus ole tällöin eheä. Tämän vuoksi jo muodostuneet ja uudelleen rekisteröityneet karttalehdet tuhotaan ja irrotetaan uudelleen. Muodostuneita ja muuttumattomia karttalehtiä ei poisteta työlistasta vaan ne sisällytetään irrotuskokonaisuuteen ja työlistaan, jotta irrotusprosessin viimeisessä vaiheessa voidaan varmistaa että kaikki karttalehdet on varmasti irrotettu. Irrotusprosessit tutkivat ennen irrotuksen aloittamista onko karttalehtitiedosto jo muodostunut väliaikaisvarastoon. Tällöin irrotusta ei tehdä uudelleen vaan siirrytään seuraavaan karttalehteen. Ennen irrotustyöpyyntötilausten muodostamista nykyinen työlista kirjoitetaan talteen, jotta sitä voidaan verrata siivousvaiheessa muodostuneisiin karttalehtiin ja käyttää mahdollisesti seuraavana irrotuskertana toisena syötelähteenä. Työlista poistetaan, jos yhdellä irrotuskerralla saadaan kaikki työlistan karttalehdet irrotettua onnistuneesti ja siirrettyä loppusijoituspaikkaan. Jos kaikki karttalehdet eivät ole muodostuneet aineisto, tietokanta- tai validointivirheen vuoksi, koko irrotus tuomitaan epäonnistuneeksi ja työlista jätetään odottamaan seuraavaa irrotuskertaa. Irrotus pitää onnistua kokonaisuudessaan ja työlistan kaikki karttalehdet pitää olla irrotettu, sillä tämä on ainoa tapa varmistua, että irrotetuista karttalehdistä muodostuu eheä kokonaisuus. Epäonnistunut aineiston irrotus kasvattaa irrotettavaa kokonaisuutta, sillä eri irrotuskertojen kokonaisuuksien hallitseminen olisi aiheuttanut suurta hankaluutta irrotusprosessin toteutukseen. Epäonnistunut aineiston irrotus ei kuitenkaan käytännössä kasvata irrotuksen kestoa tai karttalehtien määrää joille irrotus tehdään, sillä yleensä aineistovirhe koskettaa vain yhtä karttalehteä ja loput karttalehdet on jo irrotettu edellisellä irrotuskerralla onnistuneet väliaikaisvarastoon. Irrotustyöpyyntötilaukset muodostetaan antamalla haluttu määrä irrotettavia karttalehtiä yhdelle irrotusprosessille irrotettavaksi. Tavoitteena on, että karttalehtien irrotus kestää yhdeltä irrottavalta prosessilta enintään puolitoista tuntia, jotta palvelun työjono pysyisi jatkuvassa liikkeessä eikä karttalehtien irrotukset tukkisi jonoa pitkäksi aikaa. Irrotusprosessien prioriteetiksi asetetaan viisi, mikä on JAKOerä-järjestelmässä toiseksi suurin prioriteetti, jotta ”normaalit”, pienemmän prioriteetin omaavat käyttäjiltä tulevat työpyynnöt ohittaisivat ne ja pääsisivät suoritukseen mahdollisimman nopeasti. Irrotusprosessit eivät ole tietoisia muista irrottavista prosesseista, ”siivousprosessista” tai muista suoritettavista töistä vaan ne suorittavat omaa kokonaisuuttaan eivätkä välitä muista irrotusprosesseista tai työpyynnöistä. Siivousprosessi saa parametreinaan muun muassa kaikkien irrottavien prosessien työtilaustunnukset sekä listan irrotettavista karttalehdistä. Siivousprosessi muodostetaan alkavaksi tunnin irrottavia prosesseja myöhemmäksi, jotta varmistutaan siivousprosessin käynnistymisestä vasta kun suurin osa irrotusprosesseista on 42 käynnistynyt ja että siivousprosessin käynnistyminen tapahtuu aikaisintaan irrotusprosessien elinkaaren loppupäässä. Siivousprosessin prioriteetiksi asetetaan JAKOerä-järjestelmä suurin prioriteetti, kuusi, jotta kaikki irrotustyötilaukset pääsisivät suoritukseen ennen siivousprosessin käynnistymistä. Käyttämällä suurta prioriteettia sekä muodostamalla siivoustyötilaus myöhemmäksi taataan, että JAKOerä-järjestelmä tekee töitä mahdollisimman tehokkaasti koko irrotuksen ajan. 4.1.2 Toinen vaihe Jatkuvan aineiston irrotusprosessin toinen vaihe koostuu kolmesta askeleesta, joista toinen ja kolmas askel ovat syklisiä eli niitä toistetaan jokaiselle irrotettavalle karttalehdelle. Toisen ja kolmannen askeleen syklit ovat erillisiä eli kaikki karttalehdet irrotetaan ennen kuin niiden validointi aloitetaan. Toisen vaiheen onnistunut suoritus tarkoittaa MTK-GML–aineistolle, että karttalehti on irrotettu onnistuneesti MTKGML–tiedostomuodossa pakattuna ZIP-tiedostostoon. ZIP-tiedosto on myös purettu kertaalleen ja sen sisältämä GML-tiedosto on validoitu MTK-skeemaan. Tällä varmistutaan, etteivät ZIP- tai GML-tiedostot ole korruptoituneet. Toisen vaiheen suorituksen askeleet ovat: 1) Tietokantojen virkistäminen ja mahdolliseen varmistuspisteeseen siirtyminen, 2) Karttalehden irrottaminen ja 3) ZIP-tiedoston tarkistus ja mahdollinen GML-tiedoston validointi. Ensimmäinen askeleen suoritus alkaa virkistämällä irrotuksen tarvitsemat tietokannat. Tällä varmistutaan, että irrotus tapahtuu viimeisimmästä tietokantatilanteesta ja mahdollisiin muutoksiin tietokannoissa voidaan reagoida. Maastotietokannan kohdalla tutkitaan lisäksi löytyykö irrotuspäivänä luotua varmistuspistettä, jossa tietokanta on edellisillan tilanteessa. Muutoin käytetään tietokannan viimeisintä versiota, levyversiota. Varmistuspisteeseen siirtymisellä varmistetaan, että tietokantakohteiden irrotus tapahtuu koko irrotuksen sisällä samasta tietokantatilanteesta. Kun irrotus aloitetaan aamuyöllä ja kun varmistuspistettä irrotuspäivältä ei löydy tietokannasta, tapahtuu irrotus levyversiosta. Kun ensimmäinen muutos rekisteröidään, siirrytään käyttämään rekisteröinnin yhteydessä muodostettua varmistuspistettä, jolloin tietokannan tilanne on sama kuin irrotuksen alkaessa käytetyn levyversion tilanne. Tällä varmistustaan, että saman päivän aikana tehdyt irrotukset ovat eheitä ja etteivät rekisteröidyt muutokset pääse karttalehdille liian aikaisin aiheuttamaan eheysvirheitä. Toinen askel suorittaa varsinaisen karttalehtien irrotuksen. Ennen varsinaisen irrottamisen aloittamista tutkitaan onko karttalehti irrotettu jo aikaisemmin väliaikaisvarastoon. Aikaisemmin irrotettujen ja uudelleen muodostettavien karttalehtien poistaminen väliaikaisvarastosta on tehty jo karttalehtien jakamisen yhteydessä, joten jo irrotettujen karttalehtien uudelleen irrotus ei ole tarpeellista ja karttalehden irrotus voidaan ohittaa. Varsinainen irrotus irrottaa vaaditun karttalehden määritetyssä tiedostomuodossa. Irrotuksessa käydään kohdealueen kaikki yksittäiset kohteet läpi ja jos ne ovat läsnä määritellyssä tuotemäärityksessä, tulostetaan ne aineistotiedostoon. Tuotemäärityksen avulla voidaan irrottaa esimerkiksi kaikki maastotietokohteet tai yksittäisen kohderyhmä kohteet. Aineistotiedostoa kirjoitetaan jatkuvasti kohteita läpikäytäessä, mikä nopeuttaa aineiston irrotusta sillä tietoa ei tarvitse puskuroida suuria määriä. Kun irrotus on päättynyt onnistuneesti, irrotetut tiedostot pakataan ZIP-tiedostoksi ja ne siirretään väliaikaiseen säilytykseen. 43 MTK-GML–aineiston irrotuksessa käytettävä MTK-GML–aineistokirjoittaja on optimoitu juuri GML-aineiston kirjoittamiseen. MTK-GML–aineiston kirjoittamisessa käytetään SmallWord Magik-ohjelmointikielen tarjoamia XML- ja GML-aineiston kirjoittamiseen tarkoitettuja luokkia ja näiden toimintaa tehostetaan käyttämällä niin kutsuttaja template-luokkia, joilla voidaan kuvastaa aineistossa toistuvien elementtien kirjoittamista GML-aineistoon. Yhdessä tuotemäärityksen ja template-luokkien kanssa MTK-GML–aineistoa voidaan prosessoida erittäin nopeasti. Jos irrotuksen aikana on tapahtunut virheitä, irrotus ei keskeydy vaan kaikki karttalehdet yritetään irrottaa kertaalleen. Epäonnistuneesta irrotuksesta ilmoitetaan irrotuksen lokitiedostossa ja koko irrotus merkitään epäonnistuneeksi. Kun kaikki karttalehdet on irrotettu onnistuneesti ja jos irrotettava tiedostomuoto oli GML, validoidaan karttalehdet. Tällä varmistutaan että Maastotietokannan tiedot vastaavat MTK-skeeman tietosisältöä ja määrityksiä. Lisäksi validointi tarkistaa, että muodostettu aineisto ei ole korruptoitunut missään vaiheessa. Validoinnin lopputulos määrää merkitäänkö irrotus onnistuneeksi vai epäonnistuneeksi. Muiden tiedostomuotojen kohdalla irrotus merkitään onnistuneeksi jos kaikki karttalehdet on saatu irrotettua onnistuneesti. 4.1.3 Kolmas vaihe Kolmas vaihe, niin kutsuttu ”siivousprosessi”, koostuu kuudesta askeleesta, joista kolme ensimmäistä tutkii voidaanko varsinainen siivousprosessi aloittaa, pitääkö siivousprosessia lykätä vai pitääkö siivousprosessi keskeyttää kokonaan. Neljäs askel tekee siivousprosessin tärkeimmän osan eheän aineiston siirron loppusijoituspaikkaan ja kaksi viimeistä siivoaa onnistuneen irrotuksen jäljet järjestelmästä. Siivousprosessin vaiheet ovat: 1) Tarkistetaan, että nykyinen suorituksessa oleva siivousprosessi on ainoa siivousprosessi aktiivisena eikä muita odottamassa suoritusta työjonossa, 2) Tutkitaan kaikkien irrotusprosessien valmistuminen, 3) Verrataan työlistan irrotettavia karttalehtiä irrotettuihin karttalehtiin, 4) Siirretään työlistan muodostuneet karttalehdet loppusijoituspaikkaan, 5) Poistetaan siirretyt karttalehdet väliaikaisesta säilytyksestä ja 6) Poistetaan työlista järjestelmästä. Siivousprosessi on koko irrotuksen viimeinen prosessi eikä sen suorittamisen aikana tai jälkeen saa olla muita irrotukseen liittyviä prosesseja suorituksessa tai tulossa suoritukseen. Siivousprosessista pitäisi olla vain yksi ilmentymä suorituksessa pois lukien tilanne, jossa siivousprosessi tekee itsestään uusintatilauksen myöhempään ajankohtaan. Muutoin siivousprosessin toiminta keskeytetään välittömästi. Muiden irrotukseen liittyvien prosessien suorituksen valmistumisen varmistamisella varmistetaan, että aineiston siirto ei ala liian aikaisin ja että kaikki irrotuksen työvaiheet on suoritettu ennen siivouksen aloittamista. Siivousprosessi muodostaa itsestään uuden työpyynnön aina tunnin nykyhetkeä myöhemmäksi, jotta irrottavat prosessit saavat tarpeeksi suoritusaikaa ennen seuraavaa siivousprosessin käynnistymistä sekä muut työpyynnöt voidaan ottaa suoritukseen palvelimella. Jokainen JAKOerä-järjestelmässä suoritettu työ saa oman työtilaustunnuksensa, jonka perusteella se voidaan tunnistaa muista samansisältöisistä työpyynnöistä. Tätä tietoa käytetään siivousprosessin aikana muiden siivousprosessien tunnistamiseen sekä irrotusprosessien valmistumisen tutkimiseen. Irrotusprosessien tutkiminen varmistaa ainoastaan, että työpyyntö on päässyt suoritukseen ja että suoritus on päättynyt. Tällä 44 varmistetaan, että eheä kokonaisuus on saanut mahdollisuuden muodostua väliaikaiseen varastoon. Siivousprosessi käynnistyy kunnolla vasta kun kaikki irrotusprosessit ovat käynnistyneet ja päättyneet. Varsinaisen suorituksen ensimmäisessä vaiheessa siivousprosessi vertaa parametrina saamaansa karttalehtilistaa muodostuneisiin karttalehtitiedostoihin. Jos kaikkia työlistan karttalehtiä vastaavia karttalehtitiedostoja ei löydy, merkitään irrotus epäonnistuneeksi ja epäonnistumisesta tehdään ilmoitus JAKOmtj-sovelluksen sovellustuelle, jotta mahdollisesti epäonnistumiseen johtaneet aineistovirheet saadaan korjattua seuraavaa irrotuskertaa varten. Tämä ominaisuus on erittäin tärkeä Maastotietokannan tietojen laadun kannalta, sillä automaattinen irrotus tekee jokaiselle kohteelle laadun tarkistuksen kun se pitää muuntaa MTK-skeeman määrittämään muotoon. Kun kaikki tilatut karttalehtitiedostot löytyvät, aloitetaan karttalehtitiedostojen siirtäminen jatkokäsittely varten. Siirtämisen tilanne kerrotaan erityisessä tiedostossa siirtokansion juuressa mihin merkitään siirtämisen aloitus, lopetus sekä mahdolliset virhetilanteet. Siirtäminen tehdään karttalehtitiedosto kerrallaan ja kun kaikki siirrot on tehty onnistuneesti, poistetaan alkuperäiset karttalehtitiedostot väliaikaisvarastosta. Tällä varmistetaan, että irrotuksesta säilyy aina eheä ja ehjä versio vähintään väliaikaisvarastossa. Jos kaikkien karttalehtitiedostojen siirtäminen tehdään onnistuneesti, poistetaan työlista järjestelmästä, jotta seuraavan yönä käynnistyvä jatkuva aineiston irrotusprosessi ei ota irrotettuja ja loppusijoituspaikkaan siirrettyjä karttalehtiä uudelleen käsittelyyn. 4.2 Uusi kertaluontoinen irrotusprosessi Automaattisen aineiston irrotusprosessin ensisijainen tarkoitus oli jatkuva aineiston irrotus Maastotietokannasta karttatuotannon ja tietotuotepalveluiden käyttöön. Tämän lisäksi Maastotietotuotantosovellusryhmällä oli tarve kertaluontoiselle irrotukselle, jossa irrotetaan erittäin suuria kokonaisuuksia. JAKOerä-järjestelmä ja uusi automaattinen irrotusprosessi mahdollistivat samankaltaisen toteutuksen luomisen kertaluontoisen irrotuksen tarpeisiin. Automaattinen aineiston irrotusprosessi päätettiin ottaa pohjaksi uuden kertaluontoisen aineiston irrotusprosessin rakentamisessa. Automaattisen aineiston irrotusprossin joustava arkkitehtuuri ja toteutus mahdollistivat toiminnan jakautumisen kahteen haaraan. Ensimmäinen haara oli normaali jokaöinen automaattinen aineistonirrotus, missä irrotettavat karttalehdet sisältävä työlista muodostettiin rekisteröidyistä karttalehdistä ja aikaisemman, epäonnistuneen irrotuskerran työlistasta. Toisessa haarassa työlista annettiin suoraan parametrina ja lisäksi pystyttiin määräämään tietokannan tilanne, josta irrotus tulisi tehdä. Muuten suoritukset ovat identtiset pois lukien työlistan tallentaminen tai poistaminen. Alla on kuvattu kertaluontoisen irrotusprosessin toiminta ensimmäisen ja kolmannen vaiheen osalta, sillä toinen vaihe on täysin identtinen kummallekin haaralle. Erilaisia käyttötapauksia automaattiselle kertaluontoiselle irrotukselle on useita. Esimerkiksi uuden MTK-skeeman mukaisen MTK-GML–tiedostomuodon käyttöönotto vaatii koko Suomen aineisto irrotuksen, jotta tietovarastosta löytyy kaikki karttalehdet MTK-GML–tiedostomuodossa. Myös tulevaisuudessa kertaluontoinen aineiston 45 irrotusprosessi voi käytössä useissa Maanmittauslaitoksen tietopalvelu- ja karttatuotteiden tuotantoprosesseissa. 4.2.1 Ensimmäinen vaihe Kertaluontoisen aineiston irrotusprossin ensimmäinen vaihe on paljon suoraviivaisempi kuin jatkuvan aineiston irrotusprosessin ensimmäinen vaihe. Muuttuneiden karttalehtien ja edellisen irrotuksen työlistan tutkimisen sijaan irrotuksen karttalehtityölista saadaan käyttäjältä parametrina. Myöskään jatkuvuuden hallintaa ei tarvitse suorittaa karttalehtilistan tallentamisen muodossa, sillä irrotuksen luonteenmukaisesti irrotus on kertaluontoinen tapahtuma. Kertaluontoisen aineiston irrotusprosessin ensimmäisen vaiheen askeleet ovat: 1) Irrotuslistan muodostaminen parametrina annetusta listasta, 2) Irrotustyöpyyntötilausten muodostaminen ja 3) Siivoustilauksen muodostaminen 4.2.2 Toinen vaihe Ainoana erona jatkuvan aineiston irrotusprosessin ja kertaluontoinen aineiston irrotusprosessin välillä on, että kertaluontoisessa aineiston irrotusprosessissa siirrytään käyttäjän parametrina antamaan varmistuspisteeseen. Varmistuspisteellä voidaan määrittää mistä tietokannan tilanteesta irrotus tehdään. Jos varmistuspistettä ei ole annettu, toimii kertaluontoisen aineiston irrotusprosessin toinen vaihe kuten jatkuvan aineiston irrotusprosessin toinen vaihe aloittaen levyversiosta ja siirtymällä mahdolliseen varmistuspisteeseen, jos sellainen muodostuu irrotuksen aikana. 4.2.3 Kolmas vaihe Kertaluontoisen aineiston irrotusprosessin kolmas vaihe on lähes identtinen jatkuvan aineiston irrotuksen kolmannen vaiheen kanssa. Ainoa ero on ettei irrotettavien karttalehtien työlistaa poisteta järjestelmästä, sillä kertaluontoisen aineiston irrotusprosessin ei tarvitse huolehtia irrotuksen jatkuvuudesta. Alla on kuvattu kertaluontoisen aineiston irrotusprosessin kolmas vaihe: 1. Tarkistetaan, että on ainoa siivousprosessi aktiivisena eikä muita odottamassa suoritusta työjonossa 2. Tutkitaan kaikkien irrotusprosessien valmistuminen 3. Verrataan irrotuslistan irrotettavia karttalehtiä irrotettuihin karttalehtiin 4. Siirretään irrotuslistan muodostuneet karttalehdet loppusijoituspaikkaan 5. Poistetaan siirretyt karttalehdet väliaikaisesta säilytyksestä 46 5 Uusi aineiston irrotusprosessin tuotantokäytössä Uuden aineiston irrotusprosessin käyttöönotto oli kaksivaiheinen. Koska MTK-GML– aineistoa ei ollut irrotettu aikaisemmin, täytyi koko Suomen kaikki karttalehdet irrottaa tuotantotehtävien pohja-aineistoksi. Näin jatkuva aineiston irrotusprosessi pystyi aloittamaan muuttuneiden karttalehtien irrotuksen ja samalla irrotetun kartta-aineiston ajantasaisuus, eheys ja kattavuus oli taattu. Aineiston kertairrotus tehtiin perjantaina 17.3.2012 ja jatkuva aineiston irrotus aloitettiin maanantaina 19.3.2012. 5.1 Koko Suomen aineiston kertairrotus Uuden aineiston irrotusprosessin ensimmäinen tuotantotehtävä oli koko Suomen karttaaineiston irrottaminen jatkuvan aineistoirrotuksen pohja-aineistoksi. Työpyyntö muodostettiin käsin käyttämään samoja asetuksia kuin jatkuvassa aineiston irrotuksessa. Irrotettavat karttalehdet ovat näkyvillä liitteessä 2 eikä karttalehtien jakamisessa irrottaville prosesseille otettu huomioon minkäänlaista spatiaalista jakautumista. Karttalehtien irrotus suoritettiin normaalina työpäivänä ja irrottavat työpyynnöt väistivät käyttäjien työpyyntöjä päästäen ne suoritukseen ennen irrottavia työpyyntöjä. Suomen karttalehdet irrotettiin UTM-projektiossa ja 1:20 000 mittakaavassa. Tämä tarkoitti yhteensä 3 010 irrotettavaa karttalehteä joiden irrottamisessa käytettiin JAKOerä-järjestelmän JAKOsiirtotiedosto tuotanto –palvelua. Palvelussa oli 60 työskentelevää prosessia, jotka olivat kahdellatoista sovelluspalvelimella. Nämä kaksitoista sovelluspalvelinta käyttivät kahta eri sovelluspalvelupalvelinta. Karttalehdet jaettiin irrottaville prosesseille neljä karttalehteä prosessia kohden. Tästä muodostui 753 irrotusprosessityöpyyntöä ja yksi siivousprosessityöpyyntö. Aineiston kertairrotus alkoi perjantaina 27.4.2012 kello 12:45 ja päättyi lauantaina 28.4.2012 kello 08:45 kestäen 19 tuntia ja 45 minuuttia. Siivousprosessi aloitti varsinaisen toimintansa 28.4.2012 kello 09:00 ja sen suoritus kesti 2 tuntia 58 minuuttia. Ennen varsinaista suoritus siivousprosessi muodosti itsestään työpyynnön 14 kertaa. Koko Suomen kattavan MTK-GML–aineiston irrotus Maastotietokannasta ja siirto jatkokäsiteltäväksi kesti yhteensä 22 tuntia 30 minuuttia. Irrotus muodosti 3 010 pakattua ZIP-tiedostoa, jotka kukin sisälsi yhden validoidun karttalehden MTK-GML– tiedostomuodossa. Nämä pakatut tiedostot olivat kooltaan 9,27 gigabittiä ja pakkaamattomana tiedostojen koko oli 62,8 gigabittiä. Kuva 21 esittää kertairrotuksen etenemisen. 47 Kuva 21. Kertairrotuksen eteneminen 5.1.1 Kertairrotuksen tunnuslukuja Karttalehden irrotuksen kesto ja irrotettavien tietokantakohteiden välinen korrelaatio on odotetusti vahva (0,918). Kuvat 22 ja 23 kuvaavat karttalehtien irrotuksen kestoa ja kohteiden määrää karttalehdellä. Karttalehtien keskimääräinen irrotusaika on noin 23,5 minuuttia ja karttalehdillä oli keskimäärin noin 22 000 irrotettavaa kohdetta. Karttalehden irrottamiseen kuluva aika on 90,7 %:lla karttalehdistä enintään 40 minuuttia ja 99,8 %:lla karttalehdistä alle 90 minuuttia. Vain kahdeksan karttalehteä vaatii yli 90 minuuttia prosessointiaikaa. Nämä karttalehdet sijaitsevat Suomen suurimpien kuntien (Helsinki, Espoo, Tampere, Vantaa, Turku) taajama-alueella (Tilastokeskus, 2012). 120000 100000 80000 60000 40000 20000 0 K23441 K42411 L32411 L42211 L52211 M34331 M44131 M54211 N41121 N44321 N54121 P33411 P43211 P52411 Q33241 Q43321 Q53121 R43232 R52432 S44132 S54121 T44421 U42232 U51432 W41312 V44121 V52121 Tietokantakohteiden määrä (kpl) 140000 Kuva 22. Irrotettavat kohteet karttalehdillä 48 160 Irrotuksen kersto (minuutti) 140 120 100 80 60 40 20 K23441 K42241 L32311 L41431 L51211 M34111 M43231 M52411 N34121 N43241 N52421 P32141 P41411 P51131 P54311 Q41341 Q51121 Q54331 R44332 R54212 S51132 T41341 T51321 U43112 U52232 V41412 V44211 V52131 0 Kuva 23. Karttalehtien irrotuksen kesto 5.2 Jatkuvan automaattisen aineistoirrotuksen aloittaminen Uusi jatkuva aineiston irrotusprosessi otettiin jatkuvaan tuotantokäyttöön 19.3.2012 alkaen JAKOerä-järjestelmän JAKOsiirtotiedosto kehitys –palvelussa ja 11.4.2012 jatkuva aineiston irrotus siirrettiin JAKOsiirtotiedosto tuotanto –palveluun. Jatkuvan aineiston irrotuksen irrotettavien karttalehtien määrät ja irrotuksen yhteiskesto tunteina JAKOsiirtotiedosto tuotanto –palvelusta ajanjaksolta 11.4.2012 – 1.3.2013 on esitetty kuvissa 24 ja 25. 900 800 Karttalehtiä 700 600 500 400 300 200 100 0 Kuva 24. Karttalehtien irrotusmäärät 49 1000 900 800 Aika (tunti) 700 600 500 400 300 200 100 0 Kuva 25. Karttalehtien irrotuksen yhteiskesto Päivittäin listatut muuttuneet karttalehdet aiheuttavat JAKOerä-järjestelmään alle kymmenen prosentin suorituspaineen verrattuna koko Suomen kertairrotukseen. JAKOerä-järjestelmän JAKOsiirtotiedosto tuotanto –palvelussa muuttuneiden karttalehtien irrotus on kestänyt kesimäärin 95 minuuttia. Aineiston jälkikäsittely on kestänyt keskimäärin 2 tuntia ja 5 minuuttia. Jatkuva aineiston irrotus on paljastanut noin 50 karttalehteä, joilla on ollut aineistovirhe ja nämä aineistovirheet on korjattu yleensä seuraavaan irrotuskertaan mennessä. 5.3 Aikaisemman ja uuden aineiston irrotusprosessin vertailu Suora vertailu aikaisemman ja uuden aineiston irrotusprosessin väillä on mahdotonta, sillä irrotusprosessit eivät koskaan irrottaneet aineistoa samassa tiedostomuodossa. Aikaisempi aineiston irrotusprosessi ei ollut tehokkuudeltaan huono, mutta sen arkkitehtuuri ei mahdollistanut tehokkaampaa toimintaa. Uuden aineiston irrotusprosessin JAKOerä-järjestelmän kautta saama suuri prosessointivoima antaa sille selvän edun kun vertaillaan vanhan ja uuden aineiston irrotusprosessin läpimenoaikoja. Irrotuksen läpimenoajan lyhentyi merkittävästi siirryttäessä uuteen aineiston irrotusprosessiin. Aikaisempi MXL-aineiston irrotus kesti koko Suomen osalta noin kolme päivää kun taas uusi MTK-GML–aineiston irrotus kestää koko Suomen alueelta alle 20 tuntia. Myös jatkuva aineiston irrotus on nopeutunut. Uudella aineiston irrotusprosessilla ei ole koskaan kestänyt yli vuorokautta irrottaa edellispäivänä rekisteröidyt karttalehdet, kun taas aikaisempi irrotusprosessi saattoi pahimpaan karttalehtien rekisteröintiruuhka-aikaan irrottaa aineistoa viikon, sillä se ei saanut työjonoa purettua vuorokauden aikana. Vasta viikonloppuna aikaisempi irrotusprosessi sai työjononsa tyhjennettyä. 50 5.4 Uusien aineiston irrotusprosessien vaikutus JAKOmtjsovelluksessa Uuden aineiston irrotusprosessin siirron onnistumisen innoittamana JAKOmtjsovelluksen työasemairrotuksia päätettiin siirtää myös suoritettavaksi JAKOeräjärjestelmään. Tavoitteena oli vapauttaa asiakaspalveluresursseja tehokkaampaan käyttöön, sillä aikaisemmin työasemalla suoritetut irrotukset olivat käytännössä estäneet työaseman käytön muissa työtehtävissä. JAKOmtj-sovelluksen työasemalla suoritettavista aineiston irrotuksista päätettiin toteuttaa irrotusmahdollisuus JAKOeräjärjestelmässä JAKOmtj-sovelluksen tuoteirrotukselle. Työasemairrotuksen poikkeavat automaattisista aineiston irrotusprosesseista siten, että käyttäjällä on työasemairrotuksissa mahdollisuus muokata irrotuksen parametreja erittäin vapaasti sekä rajata irrotus haluamalleen alueelle. Aluerajaus voidaan tehdä käsin, määrittämällä irrotettavat karttalehdet tai muodostaa irrotuksen rajaus kunnan alueelta. Tuoteirrotuksessa käyttäjä pääsee valitsemaan minkälaista tuotekokonaisuutta irrotetaan. Tarjolla on muun muassa maastotietokanta, liikenneverkko, tiestö osoitteilla sekä rakennukset. Irrotettavan tuotteen valinnan jälkeen käyttäjä voi poistaa tai lisätä haluamiansa kohderyhmiä. Tuote ja kohderyhmä valintojen lisäksi käyttäjä pystyy määrittämään muun muassa irrotuksen tiedostomuodon, koordinaatiston sekä suoritetaanko irrotus työasemalla vai JAKOerä-järjestelmässä. Kuvassa 26 näkyy JAKOmtj-sovelluksen tuoteirrotusikkuna. 51 Kuva 26. JAKOmtj-sovelluksen tuoteirrotuksen valinnat 52 Tuoteirrotuksen lisäksi JAKOmtj-sovellukseen toteutettiin mahdollisuus muodostaa niin kutsuttu ”yhteistuloste” JAKOerä-järjestelmässä. Yhteistulosteessa voidaan yhdistää Kiinteistötietojärjestelmän ja Maastotietokannan tiedot yhdelle tulosteelle. Kuva 27 esittää yhteistulosteikkunaa JAKOmtj-sovelluksessa. Kuva 27. Yhteistulosteikkuna 53 54 6 Pohdinta ja tulevaisuus Uusi aineiston irrotusprosessi on suunniteltu irrottamaan aineistoa karttalehtijaossa mikä on hyvä perusta karttatuotantoon ja karttapohjaisiin tuotteisiin. Kuitenkin loppukäyttäjät tarvitsevat aineistoa useissa erilaisissa rajauksissa. Esimerkiksi Helsinki, Espoo ja Vantaa jakaantuvat usean karttalehden alueelle, joten käyttäjät jotka tarvitsevat pääkaupunkiseudun aineiston joutuvat lataamaan useita karttalehtiä ja tämän lisäksi saavat paljon ylimääräistä aineistoa pääkaupunkiseudun kehyskuntien alueelta. Koko aineiston irrotusprosessi olisi periaatteessa mahdollista muuttaa kuntajakoperusteiseksi. JAKOmtj-sovelluksen tuoteirrotus mahdollistaa irrotuksen käyttäjärajauksella. Automaattinen aineiston irrotusprosessi on alun perin suunniteltu Maanmittauslaitoksen sisäiseen käyttöön, joten karttalehtijako on sisäisten prosessien kannalta looginen ja perusteltu ratkaisu. Johtuen siitä, että automaattinen aineiston irrotusprosessi tuottaa aineistoa karttalehtijaossa, prosessi ei kuitenkaan sovellu suoraan esimerkiksi WFS-palveluihin, sillä käyttäjän pyytämä rajaus voi ylittää karttalehtien rajat, jolloin aineiston kohteet pirstaloituvat karttalehtien reunoilla. Myöskään esimerkiksi kuntarajauksella tehty irrotus ei sovellu WFS-palvelussa käytettäväksi aineistoksi samasta syystä. Tämän vuoksi automaattinen aineiston irrotusprosessi ei ole ratkaisu kun aletaan rakentaa esimerkiksi WFS-rajapintoja Maastotietokantaan. Käyttäjien kannalta kertaluontoisen automaattisen aineiston irrotusprosessin käynnistäminen on liian monimutkainen ei-asiantuntija käyttäjälle. Nykyinen kertaluontoisen automaattisen aineiston irrotusprosessin käynnistäminen tapahtuu muokkaamalla irrotuksen muodostamiseen käytettävää XML-tiedostoa, jossa määritellään muun muassa kaikki irrotuksen polut ja käytettävät tiedostot. Tämän lisäksi irrotuksen parametrien muokkaus vaatii toisen XML-tiedoston muokkaamista, jos oletusparametreja halutaan vaihtaa. Varsinainen irrotus käynnistetään kopioimalla irrotuksen käynnistystiedosto JAKOerä-järjestelmän palvelun työjonoon. XMLtiedostojen muokkaaminen vaatii etenkin parametrien osalta tietämystä JAKOmtjsovelluksen sisäisestä toiminnasta, sillä useat irrotuksen parametrit siirretään Magikohjelmointikielen alkeistyyppeinä, jotka vaativat erityisen notaation ymmärtämistä. XML-tiedoston kopiointi ja muokkaaminen vaativat lisäksi erityisiä levyjärjestelmäoikeuksia, jotka puuttuvat tavallisilta käyttäjiltä. MTK-GML–tiedostomuodon käyttäminen on parantanut Maanmittauslaitoksen Maastotietokannan tietojen käytettävyyttä ja mahdollistanut Maastotietokannan tietojen luovuttamisen kaikista sovellustoimittajasta riippumattomassa tiedostomuodossa. XMLtiedostomuodon tuomat hyödyt ovat myös lisänneet aineiston luotettavuutta, sillä aineiston validoinnilla voidaan varmistaa, että aineisto vastaa sille määriteltyä tietomallia. Validoinnilla ei voida kuitenkaan taata, että aineisto on oikeellista, sillä aineistoa muokatessa on voinut tapahtua tiedonsyöttövirhe, jossa kohteelle on annettu esimerkiksi väärä kohdeluokitus. 55 6.1 Jatkokehitysajatuksia Jatkokehitystä ajatellen uutta aineiston irrotusprosessia voisi parantaa mahdollistamalla jatkuvan aineiston irrotusprosessin keskeyttämisen ja jatkamisen siten, että jatkuva aineiston irrotus pystyisi jatkamaan viimeisimmän jatkuvan aineiston irrotuksen kohdalta ja irrottaa puuttuvat päivät automaattisesti. Nykyisin puuttuvien päivien irrottaminen vaatii erillisen kertairrotuksen muodostamisen puuttuvien päivien rekisteröidyistä karttalehdistä ja jatkuvan irrotuksen aloittamista seuraavana yönä. Myös kaikki suuremmat aineiston irrotukset tulisi siirtää JAKOerä-järjestelmään. Esimerkiksi Digiroad-irrotus, joka tehdään muutamia kertoja vuodessa, tulisi siirtää JAKOerä-järjestelmään, sillä nykyinen toteutus vastaa aikaisempaa aineiston irrotusprosessia eikä ole tehokkain mahdollinen. JAKOerä-järjestelmän avulla voidaan myös vähentää henkilöriippuvuuksia, sillä irrotukset eivät enää vaadi yksittäisen henkilön tietoja esimerkiksi irrotuksen vaatimasta arkkitehtuurista kun käytössä JAKOerä-järjestelmän tarjoama yleinen arkkitehtuuri. Maanmittauslaitoksen JAKO-sovelluksissa käytettävään sovellusympäristöön ollaan tekemässä suuria muutoksia, jotka mahdollistavat Java-ohjelmointikielen käytön ominaisuuksia rakennettaessa. Nykyisin suurimmat pullonkaulat JAKO-sovelluksissa liittyvät aineiston kirjoitukseen tiedostoihin. Java-ohjelmointikielen käyttöönotolla voitaisiin nopeuttaa aineiston kirjoittamista käyttämällä Java-ohjelmointikielen tiedostovirtoja ja tällä tavoin lyhentää automaattisen irrotuksen läpimenoaikaa. Toisaalta sovellustoimittajan mukaan pelkkä Java-käyttöönotto pitäisi nopeuttaa JAKOsovellusten toimintaa viisikertaiseksi, joten tiedostovirtojen käytöllä ei välttämättä ole enää vaikutusta irrotuksen läpimenoaikaan. 56 7 Yhteenveto Maanmittauslaitoksen strateginen tavoite parantaa sähköisiä palveluja ja avata tietovarastojaan vapaaseen käyttöön on aiheuttanut uusia vaatimuksia ja haasteita Maanmittauslaitoksen tiedon tuottamiselle. Vasteaika tietojen päivittämiseksi on erittäin tärkeää Maanmittauslaitokselle, sillä aineiston ajantasaisuus on aineiston oikeellisuuden, luotettavuuden ja täydellisyyden ohella tärkeä ominaisuus loppukäyttäjille. Myös mahdollisimman laaja tuki eri tiedostomuodoille on aineiston käytön kannalta tärkeää. Maanmittauslaitoksella ei ollut aikaisemmin sisäisiä prosesseja, joilla olisi pystytty vastaamaan nopealla syklillä ajantasaisen aineiston irrotuksen vaatimuksiin, vaan aikaisemmin koko Maastotietokannan aineiston irrotus on kestänyt useita päiviä ja aineiston jatkuva päivittäinen ajantasaistuskin myös useita päiviä. Uusi aineiston irrotusprosessi mahdollistaa koko Maastotietokannan aineiston irrotuksen alle yhdessä vuorokaudessa ja aineiston jatkuvan irrotuksen läpimenon muutamissa tunneissa. Uusi aineiston irrotusprosessi täyttää kokonaisuudessaan vaatimukset skaalautuvuuden, irrottavien prosessien lisäämisen ja poistamisen sekä ylläpidon osalta. Nämä ominaisuudet realisoituvat suurimmaksi osaksi JAKOeräjärjestelmän arkkitehtuurin tuloksena, mutta myös irrotusprosessien suunnittelu on avain asemassa JAKOerä-järjestelmän arkkitehtuurin ominaisuuksien hyödyntämisessä. Uusi aineiston irrotusprosessi luo myös pohjan JAKOmtj-sovelluksen tärkeimpien aineiston irrotusten siirtämiseksi työasemasuorituksesta irrotettavaksi JAKOeräjärjestelmään. Nykyisellään tärkeimmät JAKOmtj-sovelluksen irrotukset voidaan irrottaa JAKOerä-järjestelmässä, mikä mahdollistaa muun muassa asiakaspalveluhenkilöstön työskentelyn jatkumisen omalla työasemallaan kun aineiston irrotus on käynnissä JAKOerä-järjestelmässä. Uuden aineiston irrotusprosessin tuottama MTK-GML–aineisto korvannut on lähes täysin aikaisemman aineiston irrotustiedostomuodon MXL:n ja MTK-GML–aineisto on otettu laajasti käyttöön Maanmittauslaitoksen sisäisissä prosesseissa. Esimerkiksi osoitepisteiden laskenta, joka tehtiin aikaisemmin MXL-aineistosta, on sopeutettu käyttämään MTK-GML–aineistoa. Lisäksi kaikki Maanmittauslaitoksen Avoimien aineistojen tiedostopalvelussa tarjotut tiedostomuodot Maastotietokannasta ovat johdannaisia MTK-GML–aineistosta. Uusi aineiston irrotusprosessin käyttöönotto on lisännyt Maanmittauslaitoksen ajantasaisia aineistoja, sillä kaikki Avoimien aineistojen tiedostopalvelun tiedostomuodot Maastotietokannasta päivittyvät samalla syklillä kuin MTK-GML–aineisto päivittyy. Kokonaisuudessaan uusi aineiston irrotusprosessi parantaa Maastotietokannan laatua poistamalla aineistovirheitä, sillä aineiston irrotusprosessi käy läpi kaikki päivitetyt kohteet ja lisäksi uusi aineiston irrotusprosessi validoi irrotetun GML-aineiston MKT-GML skeemaan kun se ajantasaistaa Maastotietokannan MTK-GML–aineistoa. Kaiken kaikkiaan uuden aineiston irrotusprosessin käyttöönotto on sujunut erinomaisesti. Aineiston irrotus Maastotietokannasta on nopeutunut suuresti ja JAKOmtj-sovelluksen irrotuksia on siirretty JAKOerä-järjestelmään, mikä on mahdollistanut sujuvamman työskentelyn. Uusi aineiston irrotusprosessi toteuttaa kaikki sille asetetut vaatimukset ja on luonut toimivan pohjan uusien suurien aineiston irrotusten siirtämiseksi suoritukseen JAKOerä-järjestelmään. Uuden aineiston 57 irrotusprosessin käyttöönotto on helpottanut prosessin ylläpitoa ja mahdollistanut tiedon ja vastuun jakamisen sovellusryhmän sisällä. Uusi aineiston irrotusprosessi on nopeuttanut Maastotietokannan aineiston irrotusta huomattavasti mahdollistamalla koko Maastotietokannan aineiston irrotuksen alle vuorokaudessa aikaisemman usean vuorokauden irrotuskeston sijaan. Myös jatkuva aineiston irrotus on nopeutunut ja Maastotietokannan MTK-GML–aineisto on yleensä ajantasaistettu alle kymmenessä tunnissa viimeisimpään tietokantatilanteeseen. Aikaisemmin jatkuva aineiston päivitys saattoi jatkua vuorokausia ja aineisto ei ollut ajantasainen vuorokausiin. Päivitettyjen kohteiden läpikäynti jokaisella rekisteröidyllä, muuttuneella karttalehdellä on parantanut Maastotietokannan kohteiden laatua, sillä kohteiden läpikäynti varmistaa, että kohteessa ei ole aineistovirhettä. Myös aineiston validointi jokaisen irrotuksen yhteydessä on parantanut erityisesti Maastotietokannan kohteiden vastaavuutta Maastotietokannan tietomalliin, sillä MTK-skeema ottaa kantaa niin tietokantakohteiden suhteisiin kuin kohteiden tietojen tyyppeihinkin. 58 8 Lähteet Ambler S. (2012). Introduction to Concurrency Control. [Viitattu: 24.1.2012] Saatavissa: http://www.agiledata.org/essays/concurrencyControl.html Bernstein P., Newcomer E. (2009): Principles of transaction processing, 2009, 2. ed., Morgan Kaufmann, Massachusetts. ISBN: 987-1-55860-623-4. s. 9 – 15. CityGML (2007): What is CityGML? [Viitattu: 12.3.2012] Saatavissa: http://www.citygml.org/index.php?id=1523 EFFI (2011a): Maanmittauslaitoksen kartat avoimeen käyttöön kansantalouden tueksi. [Viitattu: 19.5.2012]. Saatavissa: http://www.effi.org/kirjeet/effi-maanmittauslaitoksenkartat111212.html EFFI (2011b): Kiitos kartta-aineistojen avaamisesta - avoin kirje Urpilaiselle ja Koskiselle. [Viitattu: 19.5.2012] Saatavissa: http://www.effi.org/kirjeet/111223-effikiitos-kartta.html El-Bakry H., Mastorakis N. (2009): Performance Evaluation of XML Web Services for Real-Time Applications. International Journal of Communications, 2009, vol. 3, s. 25 – 33. Garcia-Molina H, Ullman J, Widom J. (2002): Database Systems: The Complete Book, 2002, Prentice Hall. ISBN: 0-13-031995-3. s. 14. GE Energy (2004a): Smallworld MAGIK™: The object oriented language for an object oriented world. [Viitattu: 31.12.2011] Saatavissa: http://www.gedigitalenergy.com/products/applications/geospatial/GER4235_MAGIK_ R2.pdf GE Energy (2004b): Managing change in the world of spatial data – the long transaction. [Viitattu: 31.12.2011] Saatavissa: http://www.gedigitalenergy.com/products/applications/geospatial/GER4231_Managing Change.pdf GE Energy (2010): Smallworld Core Spatial Technology – Version 4.2 Main Documentation. Güting R. (1994): An Introduction to Spatial Database Systems. The VLDB Journal, 1994, vol. 3, s. 357-399 Hanan S. (1989): The Design and analysis of spatial data structures, 1989, AddisonWesley Publishing Company, Inc. ISBN: 0-201-50255-0. ISO 19136:2007: Geographic information – Geography Markup Language. [Viitattu: 23.3.2012] Saatavissa: http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=325 54 59 JHS 154: JHS 154 ETRS89 -järjestelmään liittyvät karttaprojektiot, tasokoordinaatistot ja karttalehtijako [Viitattu: 22.4.2013] Saatavissa: http://www.jhssuositukset.fi/suomi/jhs154 JHS 162: Paikkatietojen mallintaminen tiedonsiirtoa varten. [Viitattu: 28.1.2012] Saatavissa: http://www.jhs-suositukset.fi/web/guest/jhs/recommendations/162 JHS 170: Julkishallinnon XML-skeemat. [Viitattu: 28.1.2012] Saatavissa: http://www.jhs-suositukset.fi/web/guest/jhs/recommendations/170 JHS 177: Paikkatietotuotteen määrittely. [Viitattu: 28.1.2012] Saatavissa: http://www.jhs-suositukset.fi/web/guest/jhs/recommendations/177 Kiinteistörekisteri [Viitattu: 15.1.2012]. Saatavilla: http://www.maanmittauslaitos.fi/digituotteet/kiinteistorekisteri MMM (2010): Maastotietojärjestelmä kovaan käyttöön - Yleisten kartastotöiden strategia 2011–2020. ISBN: 978-952-453-600-4. MML (2005): Maanmittauslaitoksen maastotietokohteet. [Viitattu: 15.1.2012] Saatavilla: http://www.maanmittauslaitos.fi/sites/default/files/Maastotietokohteet.pdf MML (2011a): JAKOtds – JAKO Topographic Data System. [Viitattu: 8.1.2012] Saatavissa MML-Intranet: http://kekenet.nls.fi/kekenet/projektit/jakomtjyp/esitelmat/yleista/JAKOtds.ppt MML (2011b): MTK-skeema. [Viitattu: 28.1.2012] Saatavissa MML-Intranet: http://kekenet.nls.fi/kekenet/projektit/jakomtjyp/osaprojektit/yllapitodokumentit/mtk_sk eema/mtk_skeema.htm MML (2011c): MAAVAA/ko asettamiskirje. [Viitattu: 28.4.12] Saatavissa: http://kekenet.nls.fi/kekenet/projektit/MAAVAA_ko/asettamiskirje.pdf MML (2012a): Painetut kartat ja tulosteet. [Viitattu 3.11.2012] Saatavissa: http://www.maanmittauslaitos.fi/kartat/karttatuotteet/painetut-kartat-tulosteet MML (2012b): Digitaaliset tuotteet. [Viitattu: 11.3.2012] Saatavilla: http://www.maanmittauslaitos.fi/aineistot-palvelut/digitaaliset-tuotteet MML (2012c): Maastotietoaineistot koko kansan käyttöön. [Viitattu: 11.3.2012] Saatavilla: http://www.maanmittauslaitos.fi/tiedotteet/2012/01/maastotietoaineistotkoko-kansan-kayttoon MML (2012d): Maastotiedot.xsd [Viitattu: 31.3.2012] Saatavissa: http://xml.nls.fi/XML/Schema/Maastotietojarjestelma/MTK/201202/doc/Maastotiedot.h tm MML (2012e): Prosessikartta [Viitattu: 28.4.2012] Saatavissa: http://intramittari.nls.fi/dman/Document.phx/~mml/Prosessit+ja+laatu/yhteinen/2012+P rosessikartta?folderId=%7Emml%2FProsessit+ja+laatu%2Fyhteinen&cmd=download 60 MML (2012f): Julkaisutiimi – Tehtävät. [Viitattu: 23.3.2012] Saatavissa: http://kekenet.nls.fi/kekenet/tuer/julkaisutiimi/tehtavat.html MML (2012g): Maanmittauslaitos - Toiminta ja tehtävät. [Viitattu: 30.4.2012] Saatavissa: http://www.maanmittauslaitos.fi/toiminta/organisaatio/toiminta-tehtavat MML (2012h): Avoimien aineistojen tiedostopalvelu. [Viitattu: 19.5.2012] Saatavissa: http://www.maanmittauslaitos.fi/aineistot-palvelut/latauspalvelut/avoimien-aineistojentiedostopalvelu MML (2012i): JAKOerätyö. [Viitattu: 4.6.2012] Saatavissa: http://nassunet.nls.fi/jako/sovellusversio/mmlydin/tuotanto/201202/modules/eratyo/doc/ eratyo.htm MML (2012j): JAKOerätyö prosessihallintatiedosto. [Viitattu: 4.6.2012] Saatavissa: http://nassunet.nls.fi/jako/sovellusversio/mmlydin/tuotanto/201202/modules/eratyo/doc/ prosessihallintatiedosto.htm MML (2012k): XML-erätyötilaus. [Viitattu: 4.6.2012] Saatavissa: http://nassunet.nls.fi/jako/sovellusversio/mmlydin/tuotanto/201202/modules/eratyo/doc/ xml_eratyotilaus.htm MML (2012l): TIPARA-hankkeen ohjausryhmän asettaminen. [Viitattu: 8.10.2012]. Saatavissa: http://kekenet.nls.fi/kekenet/projektit/TIPARA_ohjausryhma/asettamiskirje.pdf MML (2012m): Tiedostolatauspalvelun infrastruktuurin toteuttaminen, TIEPALinfra/sk – loppuraportti. [Viitattu: 8.10.2012] Saatavissa: http://kekenet.nls.fi/kekenet/projektit/TIEPALinfra_sk/loppuraportti/loppuraportti_TIE PALinfra_sk.pdf MML (2012n): Maastotietotuotteiden avaaminen –projekti (MAAVAA/ko) – Loppuraportti. [Viitattu: 13.1.2013] Saatavissa: http://mmlintra.nls.fi/node/36881/cmis_open MML (2013a): TUER JULKAISUTIIMI. [Viitattu: 11.01.2013] Saatavissa: http://mmlintra.nls.fi/node/1931 MML (2013b): Maastotietokanta. [Viitattu: 11.01.2013] Saatavissa: http://mmlintra.nls.fi/node/34623 MML (2013c): Avoimien aineistojen tiedostopalvelu. [Viitattu: 09.02.2013] Saatavissa: http://www.maanmittauslaitos.fi/aineistot-palvelut/latauspalvelut/avoimien-aineistojentiedostopalvelu MML (2013d): Prosessin käsikirja – Maasto- ja rajatietotuotannon ydinprosessi. [Viitattu: 14.01.2013] Saatavissa: http://mmlintra.nls.fi/node/5622/cmis_open MML (2013e): Maastotietokannan tiestö osoitteilla. [Viitattu: 27.03.2013] Saatavissa: http://www.maanmittauslaitos.fi/digituotteet/maastotietokannan-tiesto-osoitteilla 61 MML (2013f): Tiestö osoitteilla. [Viitattu: 27.03.2013] Saatavissa: http://mmlintra.nls.fi/node/34597 MML (2013g): Taustakartta 1: 5000. [Viitattu: 27.03.2013] Saatavissa: http://mmlintra.nls.fi/node/34949 MML (2013h): VISPILÄ/sk projektikuvaus [Viitattu: 9.4.2013] Saatavissa: http://mmlintra.nls.fi/node/41429 MMM (2011): Lausuntopyyntö ehdotuksesta Maa- ja metsätalousministeriön asetukseksi Maanmittauslaitoksen maksuista. [Viitattu: 19.5.2012] Saatavissa: http://www.paikkatietoikkuna.fi/c/document_library/get_file?uuid=20098fc8-0b5c4aa8-a641-6bea3507360b&groupId=108478 Maastotietokanta. [Viitattu: 15.1.2012]. Saatavissa: http://www.maanmittauslaitos.fi/digituotteet/maastotietokanta MTK-skeema. [Viitattu: 17.4.2012]. Saatavissa: http://xml.nls.fi/XML/Schema/Maastotietojarjestelma/MTK/201202/Maastotiedot.xsd Murray, D. (2004): GML – User Perspectives. [Viitattu: 32.2.2012] Saatavissa: http://geospatialworld.net/index.php?option=com_content&view=article&id=13889%3 Agml-user-perspectives&catid=83%3Atechnology-gis&Itemid=50 Newell R., Batty P. (1994): GIS Databases are Different. [Viitattu: 24.1.2012] Saatavissa: http://libraries.maine.edu/Spatial/gisweb/spatdb/amfm/am94029.html Lake R. (XXXX): Introduction to GML. [Viitattu: 31.3.2012] Saatavissa: http://www.w3.org/Mobile/posdep/GMLIntroduction.html OGC: OpenGIS Geography Markup Language (GML) Encoding Specification. [Viitattu: 28.1.012] Saatavissa: http://www.opengeospatial.org/standards/gml Oulun Seudun Ammattikorkeakoulu: Transaktio. [Viitattu: 28.1.2012] Saatavissa: http://www.ratol.fi/opensource/mysql/transaktio.htm Pacheco P. (2005): Geography Markup Language. [Viitattu: 6.2.2012] Saatavissa: http://www.gisdevelopment.net/proceedings/gita/2005/papers/55.pdf Paikkatietoikkuna (2011): Ehdotus maastotiedon avaamiseksi. [Viitattu: 19.5.2012] Saatavissa: http://www.paikkatietoikkuna.fi/web/fi/ehdotus-maastotietojen-avaamiseksi Batty P, Newell R. (1994): GIS Databases are Different. [Viitattu: 24.1.2012] Saatavissa: http://web.archive.org/web/20010425024747/http:/emea.smallworld.co.uk/support/tech paper/tp8.html Reese M. (2000): Database Programming with JDBC and Java, 2000, Second Edition, O'Reilly, California. ISBN: 1-56592-270-0. s. 146 – 182. 62 Saario M. (2004): Konfliktien hallinta JAKO/Maastotietojärjestelmässä. Diplomityö. Aalto yliopisto, Insinööritieteiden korkeakoulu, Maanmittaustieteiden laitos. s.14 Shekhar S., Chawla S. (2003): Spatial Databases – A Tour, 2003, Pearson Education, Inc., New Jersey. ISBN: 0-13-017480-7. Strengths and Weaknesses of XML. [Viitattu: 31.3.2012] Saatavissa: http://artikelkomputerku.blogspot.com/2010/01/strengths-and-weaknesses-of-xml.html Tilastokeskus (2012): Väestö. [Viitattu: 12.4.2012] Saatavissa: http://www.stat.fi/tup/suoluk/suoluk_vaesto.html#suurimmat VM (2011): Lausunto (VM/1865/00.00.05/2011) Viite MMM:n lausuntopyyntö 2390/13/2011. [Viitattu: 19.5.2012] Saatavissa: http://paikkatieto.files.wordpress.com/2011/12/vm-lausunto-2011-11-21-vm186500-00052011.pdf Yadav S., Singh S. (2009): An Introduction to Client/Server Computing, 2009, New Age International, New Delhi. ISBN: 978-81-224-2861-2. s. 1 – 23. W3C (2004): XML Schema Part 1: Structures Second Edition. [Viitattu: 28.1.2012] Saatavissa: http://www.w3.org/TR/xmlschema-1 W3C (2008): Extensible Markup Language (XML) 1.0 (Fifth Edition). [Viitattu: 6.4.2012] Saatavissa: http://www.w3.org/TR/2008/REC-xml-20081126/ 63 Liite 1. Esimerkki JAKOerän työtilaustiedostosta. <?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?> <tyo> <yleistiedot> <prioriteetti>0</prioriteetti> <kayttajalaite>editori</kayttajalaite> <kayttajatunnus>jarjestelmanvalvoja</kayttajatunnus> <tyonimi>jonohuolto</tyonimi> <kaynnistysaika>20100727000000</kaynnistysaika> </yleistiedot> <suoritusehdot> <esityot/> </suoritusehdot> <suoritustiedot> <kasittelijat> <kasittelija> <nimi>tyogenerointi</nimi> <parametrit> <parametri nimi="vakioajastus">00 00 * * *</parametri> </parametrit> </kasittelija> <kasittelija> <nimi>tulostiedostosiivous</nimi> <parametrit> <parametri nimi="sailytysaika" tyyppi="number">14</parametri> </parametrit> </kasittelija> <kasittelija> <nimi>vakiotyoajastusgenerointi</nimi> <parametrit> <parametri nimi="tyotilausaika" tyyppi="number">30</parametri> </parametrit> </kasittelija> </kasittelijat> </suoritustiedot> </tyo> 64 Liite 2. Suomi UTM-karttalehtijaossa 65 Liite 3. MTK-skeeman tiedot Maastotiedot Symbolit Alueet Viivat Tekstit aidan symbolit altaat aallonmurtajat ankkuripaikat autoliikennealueet aidat hylyn syvyydet korkeuskäyrän korkeusarvot harvat louhikot hautausmaat aluemeren ulkorajat korkeuspisteet hylyt hietikot ampuma-alueet kunnan hallintokeskukset ilmaradan kannatinpylväät järvet ilmaradat maston korkeudet kaislikot kaatopaikat jyrkänteet paikannimet kallio symbolit kallioalueet kalliohalkeamat savupiipun korkeudet karttasymbolit kansallispuistot korkeuskäyrät selitteet kellotapulit kivikot kosket syvyyskäyrän syvyysarvot kivet kunnat kuntien hallintorajat syvyyspisteet kolmiopisteet lentokenttäalueet luiskat tienrotekstit korkeuskiintopisteet louhokset maasto2kuvioiden reunat vedenpinnan korkeusluvut lähestymisvalot luonnonpuistot maastokuvioiden reunat vesikulkuväylän tekstit lähteet luonnonsuojelualueet metsien rajat mastot maa-aineksenottoalueet muuntoasemat merkittävät luontokohteet maatalousmaat padot metsämaan kasvillisuudet maatuvat vesialueet pistolaiturien viivat metsämaan muokkaukset matalikot putkijohdot muistomerkit meret puurivit muuntajat muut avoimet alueet rajavyöhykkeen takarajat näkötornit niityt rakennelmat osoitepisteet puistot rakennusten reunaviivat pelastuskoodipisteet rakennukset rautatiet portit retkeilyalueet sähkölinjat putkijohdon symbolit soistumat sisäisten aluevesien ulkorajat puut suoja-alueet sulkuportit rauhoitetut kohteet suojametsät suoja alueiden reunaviivat rautatieliikennepaikat suojametsien reunaviivat rautatien symbolit suot taajaan rakennetut alueet sähkölinjan symbolit täytemaat suojelualueiden reunaviivat savupiiput tulva-alueet suojanteet suurjännitelinjan pylväät syvyyskäyrät taajaan rakennettujen alueiden urheilu ja virkistysalueet reunat tervahaudat varastoalueet tieviivat tiesymbolit vesikivikot uittorännit tulentekopaikat virtavesialueet ulko- ja sisäsaariston rajat tunnelin aukot vesikulkuväylät turvalaitteet virtavesi kapeat tuulivoimalat 66 uittolaitteet valtakunnan rajapyykit vedenottamot vesiasteikot vesikivet vesikulkuväylän kulkusuunnat vesikuopat vesitornit viettoviivat virtausnuolet 67
© Copyright 2024