Ajantasaisen maastotietoaineiston tuottaminen karttatuotannon ja

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