HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Paikkatiedon hallinta ja analyysi Antti Leino <antti.leino@cs.helsinki.fi> Marko Salmenkivi <marko.salmenkivi@cs.helsinki.fi> 15.3.29.4.2005 Tietojenkäsittelytieteen laitos
Yleiskuvaus Kurssilla käsitellään tiedon hallinnan ja louhinnan erityiskysymyksiä, kun käsiteltävä aineisto sisältää paikkatietoa: paikkatietokantojen perusteita Kyselykieliä Paikkatieto-operaatioihin liittyviä algoritmeja ja tietorakenteita Spatiaalisen riippuvuuden mallintamista Spatiaalisten trendien ja poikkeavien havaintojen etsimistä Paikkatiedon klusterointia Assosiaatioiden etsimistä paikkatietoaineistoista
Yleiskuvaus Tällä kurssilla ei käsitellä Kartograaa Paikkatietoaineistojen tuottamista Paikkatietojärjestelmien käyttöä kuin kursorisesti Maantieteellistä analyysiä Paikkatiedon tilastollista analyysiä mitenkään tyhjentävästi Tämänsukuisiin aiheisiin voi perehtyä esimerkiksi maantieteen laitoksen järjestämällä Geoinformatiikan peruskurssilla ja matematiikan ja tilastotieteen laitoksen kurssilla Spatiaalinen tilastotiede.
Kevät 2005 http://www.cs.helsinki.fi/u/leino/opetus/paikka-k05/ Luennot ti, pe klo 1012 C222 15.3.8.4. Antti Leino 12.4.29.4. Marko Salmenkivi Harjoitukset to 1012 D122, Jukka Kohonen Koe 13.5. klo 812 A111, B123 Harjoitustyö: sovitaan erikseen viikolla 1213
Luento-ohjelma Viikko Päivä Asiat 1 15.3. Kurssin aloitus Johdatus paikkatietoon ja -kantoihin 18.3. Diskreettiä geometriaa 2 22.3. Paikkatietomallit ja kyselyt Pääsiäisloma 1.4. Paikkatiedon indeksointi- ja 3 5.4. approksimointimenetelmiä 8.4. Kyselyn käsittely 4 12.4. Johdatus paikkatiedon louhintaan 15.4. Spatiaalisen riippuvuuden mallintaminen, spatiaaliset trendit 5 19.4. Paikkatiedon visualisointi ja poikkeavien havaintojen etsiminen 22.4. Paikkatiedon klusterointi 6 26.4. Lisää klusterointia 29.4. Assosiaatioiden etsiminen paikkatietoaineistosta
HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Paikkatiedon hallinta ja analyysi 1. Johdanto Antti Leino <antti.leino@cs.helsinki.fi> 15. maaliskuuta 2005 Tietojenkäsittelytieteen laitos
Sisältö Mitä paikkatieto on Paikkatiedon käsittely tietokannassa Paikkatieto-olioiden esittäminen Rigaux Scholl Voisard 2002: Spatial Databases, luvut 12 Güting 1994: An Introduction to Spatial Database Systems
Mitä paikkatieto on? Paikkatieto (engl. spatial data): tyypillisesti kaksi komponenttia Sijaintitieto Koordinaatit: järven (likimääräinen) keskipiste Geometria: järven reunaviiva Topologia: kummalla puolella reunaviivaa vesi on Ominaisuustieto Yksilöivää: järven nimi, 1 tilan rekisterinumero Paikantavaa: katuosoite Ajoittavaa: rakennuksen rakennusvuosi Kuvailevaa: rakennuksen käyttötarkoitus, järven pinta-ala, metsätyyppi,... 1 Kuitenkin vain n. 1 3 Suomen järvistä yksikäsitteinen nimi!
Sijaintitieto Sijaintitieto käsitetään useimmiten 2-ulotteiseksi Todellisuudessa ulottuvuuksia on 34 2-ulotteiset XY / IP Korkeus Z Joskus myös aika T Korkeutta ja aikaa käsitellään usein ominaisuustietona Toisaalta joskus tarpeen ottaa myös korkeus sijaintitietoihin, toisinaan jopa aika
Ominaisuustieto Se osa tiedosta, joka ei liity sijaintiin (paikkatietojärjestelmän suoraan ymmärtämässä muodossa) Erilaisia mitta-asteikkoja: Asteikko Tulkinta Esimerkkejä Luokka-asteikko (nominal scale) Järjestysasteikko (ordinal scale) Välimatka-asteikko (interval scale) Suhdeasteikko (ratio scale) Diskreetti vs. jatkuva tieto Vain luokkatunnisteita Lukujen (tms.) välillä järjestyssuhde Lukujen erotuksella mielekäs tulkinta Lukujen suhteilla mielekäs tulkinta sukupuoli, rakennustyyppi soveltuvuusluokat Celsius-asteikko, rakennusvuosi Kelvin-asteikko, lukumäärä
Paikkatieto tietokannassa Paikkatietokannan hallintajärjestelmä (spatial database management system) tietokannan hallintajärjestelmä, jossa tietomalli sisältää paikkatietoon soveltuvat tietotyypit kyselykieli sisältää tarvittavat operaatiot tehokkaat algoritmit ja hakemistorakenteet paikkatieto-operaatioille Paikkatietokantajärjestelmä (spatial database system): paikkatietokannan hallintajärjestelmä ja sillä toteutettu tietokanta Kaksi yleistä toteutustapaa: hybridi- / integroitu arkkitehtuuri
Hybridiarkkitehtuuri Sijainti- ja ominaisuustiedon hallinta erikseen Integrointikerros tarjoaa yhtenäisen näkymän Relaatiotietokanta ominaisuustiedolle Integrointikerros Sijaintitiedon hallintajärjestelmä Useimmat kaupalliset paikkatietojärjestelmät tällaisia Ongelmia Kaksi erillistä tietomallia ongelmia mallinnuksessa ja kyselyiden yhdistämisessä Yhdistettyjen operaatioiden toteuttaminen hankalaa
Integroitu arkkitehtuuri Relaatiotietokannanhallintajärjestelmään lisätään paikkatietotyypit SQL-kyselykieltä laajennetaan paikkatieto-operaatioilla Kyselyiden optimointi mahdollista Useimmissa relaatiotietokantajärjestelmissä nykyisin myös paikkatiedon käsittelymahdollisuus Tämän kurssin harjoitustyössä käytettävä PostgreSQL toimii näin Jatkossa keskitytään nimenomaan integroituun lähestymistapaan
Mitä paikkatieto vaatii tietokannanhallintajärjestelmältä? Tiedon loogisen esitystavan on sovelluttava geometriatiedon esittämiseen mutta tietoalkioiden itsenäisyys on säilytettävä tiedon on sovittava yhteen käyttäjän todellisuuskäsitysten kanssa Kyselykieleen on lisättävä maantieteellisiä suhteita ym. kuvaavat funktiot Tiedon fyysinen esitystapa on saatava tehokkaaksi Tietokantahaut on voitava toteuttaa tehokkaasti B-puut eivät sovellu sijaintitiedon indeksointiin Liitokset ym. operaatiot on toteutettava paikkatiedolle
Paikkatiedon esittäminen Oliopohjainen lähestymistapa Data tulkitaan koostuvaksi itsenäisistä olioista, joilla on muoto ja sijainti sekä ominaisuuksia Kukin olio esitetään erikseen Tilapohjainen lähestymistapa Kuhunkin (rasteroidun) avaruuden pisteeseen liittyy suoraan ominaisuustieto Erillisiä olioita ei ole, sen sijaan kuvattava maailma voidaan jakaa alueiksi Sopii maantieteellisesti jatkuvan ominaisuustiedon esittämiseen
Eriulotteisia paikkaolioita 0 1 2 Piste Murtoviiva Monikulmio (Point) (Linestring) (Polygon) Pistejoukko Viivajoukko Monikulmiojoukko (Multipoint) (Multilinestring) (Multipolygon) Kohdejoukko (Geometrycollection)
0- ja 1-ulotteiset oliot 0-ulotteiset: piste (ja pistejoukko) Kohteita, joiden muodolla / koolla ei tarkastelumittakaavassa ole merkitystä 1-ulotteiset: murtoviiva (ja viivajoukko) Äärellinen joukko kahden pisteen välisiä janoja murtoviivan päätepistettä lukuun ottamatta kukin pisteistä on kahden janan päätepiste suljettu (closed): päättyy lähtöpisteeseensä yksinkertainen (simple): janat eivät leikkaa toisiaan, paitsi kaksi peräkkäistä janaa yhteisessä päätepisteessään suoran L suhteen monotoninen (monotone): kukin L :ää vastaan kohtisuora viiva leikkaa murtoviivan korkeintaan kerran
Murtoviivoja Jana Ei-yksinkertainen murtoviiva Monotoninen murtoviiva Ei-monotoninen murtoviiva
2-ulotteiset oliot monikulmio Suljetun murtoviivan rajaama alue yksinkertainen: yksinkertaisen murtoviivan rajaama alue kupera (convex): kaikilla monikulmion pisteillä myös pisteiden välinen jana kuuluu kokonaisuudessaan monikulmioon monotoninen: monikulmion reunaviiva voidaan jakaa täsmälleen kahdeksi monotoniseksi murtoviivaksi monikulmiojoukko: useiden monikulmioiden muodostama kokonaisuus kohdejoukko: useiden 02-ulotteisten olioiden muodostama kokonaisuus
Monikulmioita Kupera, yksinkertainen Ei-yksinkertainen Monotoninen Reiällinen
Paikkatieto-olion muoto OpenGIS Simple Features Specication esittää paikkatieto-olioiden esitykseen tällaisen luokkahierarkian:
Olioiden väliset sijaintisuhteet Topologiset suhteet esim. sisällä, erillään Suuntasuhteet esim. yläpuolella, pohjoiseen Etäisyyssuhteet esim. < 100 km päässä
Topologiset suhteet Kahden monikulmion A ja B välillä kuusi erilaista Erilliset Sivuavat Samat A disjoint B A touch B A equal B Peittää Sisältää Leikkaavat A cover B B in A A overlap B
Topologisten suhteiden määrittäminen Määrittelyyn riittää monikulmioiden reuna (boundary) A, B sisusta (interior) A ja B Suhde A B A B A B A B Erilliset Sivuavat Samat Peittää Sisältää Leikkaavat
Oliojoukkojen geometria Kolme pääasiallista esitystapaa Spagettimalli (spaghetti model) Verkkomalli (network / graph model) Topologinen malli (topological model / partition)
Spaghettimalli Kukin joukkoon kuuluva olio esitetään toisista riippumatta Topologiset suhteet on laskettava aina tarvittaessa Yhteiset pisteet ja reunaviivat esitettävä useaan kertaan Yksinkertainen Uusien olioiden lisääminen helppoa
Verkkomalli Pisteiden ja murtoviivojen väliset topologiset suhteet valmiiksi talletettuina solmu: piste, joka yhdistää kaaria kaari: murtoviiva, joka alkaa solmusta ja päättyy solmuun Yhtenäisyys ja polut helposti selvitettävissä 2-ulotteiset topologiset suhteet laskettava
Topologinen malli Kuten verkkomalli, mutta lisärajoitus: tasoverkko, ts. jokainen murtoviivojen leikkauspiste on solmu Kuvattava alue jaettu vierekkäisiin monikulmioihin Kaikki monikulmiot eivät välttämättä ole maantieteellisesti mielekkäitä kohteita Topologiset kyselyt helppoja Karttanäkymän vaihto raskasta Uusien kohteiden lisääminen raskasta