Paikkatiedon käsittely 2. Relaatiomallin paikkatietolaajennokset

Samankaltaiset tiedostot
Paikkatiedon hallinta ja analyysi 3. Paikkatietomallit ja kyselyt

Paikkatiedon käsittely 12. Yhteenveto

Kyselyt: Lähtökohtana joukko lukuja Laskukaava kertoo miten luvuista lasketaan tulos soveltamalla laskentaoperaatioita

Paikkatiedon käsittely

Relaatioalgebra. Kyselyt:

Relaatioalgebra. Relaatioalgebra. Relaatioalgebra. Relaatioalgebra - erotus (set difference) Kyselyt:

Paikkatiedon käsittely 4. Diskreettiä geometriaa

Paikkatiedon hallinta ja analyysi

Paikkatiedon käsittely 3. Kyselyt paikkatietokannasta

Asennusohje. Sahara-ryhmä. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

joukko operaatioita, joilla relaatioista voidaan muodostaa uusia relaatioita joukko opin perusoperaatiot yhdiste, erotus, ristitulo, leikkaus

Asennusohje. Sahara-ryhmä. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Helsingin yliopisto/ tktl D Tietokantojen perusteet, s 2000 Relaatioalgebra. Harri Laine 1. Relaatioalgebra.

Helsingin yliopisto/ tktl DO Tietokantojen perusteet, s 2000 Relaatioalgebra Harri Laine 1. Relaatioalgebra

Paikkatiedon hallinta ja analyysi 2. Diskreettiä geometriaa

Relaatiotietokantojen perusteista. Harri Laine Helsingin yliopisto

INSERT INTO koulutus VALUES ( Helsinki, 22.6, 4);

Asennusohje. Sahara-ryhmä. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Paikkatiedon käsittely 6. Kyselyn käsittely

TIEDONHALLINTA - SYKSY Luento 10. Hannu Markkanen /10/12 Helsinki Metropolia University of Applied Sciences

Tietokannan hallinta. Kevät 2004 Jan Lindström R&G Chapter 1

CS-A1150 Tietokannat CS-A1150 Tietokannat / 34

On autoja, henkilöitä, Henkilöllä on nimi Autolla on omistaja, joka on henkilö. Taulu AUTO(rekno, malli) Taulu HENKILO(nimi, )

HAAGA-HELIA heti09 1 (27) ICT05 Tiedonhallinta ja tietokannat O.Virkki Relaatiomalli

CS-A1150 Tietokannat CS-A1150 Tietokannat / 34

Asennusohje. Sahara-ryhmä. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

CSE-A1200 Tietokannat

HELIA 1 (17) Outi Virkki Tiedonhallinta

TIETOKANNAT JOHDANTO

Tietokantasuunnittelun pääperiaatteena on tiedon toiston välttäminen. Tiedon toistumiseen liittyy monenlaisia ongelmia.

HAAGA-HELIA TIKO-05 1 (19) ICT23a Tietokannan suunnittelu ja toteutus O.Virkki

Tietomallit. Näkökulmat tietoon. Näkökulmat tietoon. Näkökulmat tietoon. Abstraktiotasot tiedon käsittelyssä

Opettajana Mika Sorsa, HAMK:n ammatillisen opettajakoulutuksen opetusharjoittelija

Tietomallit. Näkökulmat tietoon. Näkökulmat tietoon. Mitä malleja olisi tarjolla? Abstraktiotasot tiedon käsittelyssä

Helsingin yliopisto/tktl DO Tietokantojen perusteet, s 2000 Relaatiomallin peruskäsitteet Harri Laine 1. Relaatiotietokannat DONOTP

Helsingin yliopisto/tktl DO Tietokantojen perusteet, s 2000 Johdanto & yleistä Harri Laine 1. Tietokanta. Tiedosto

Helsingin yliopisto/tktl Kyselykielet, s 2006 Relaatiokalkyylit. Harri Laine 1

Helsingin yliopisto/tktl Kyselykielet, s 2006 Optimointi Harri Laine 1. Kyselyn optimointi. Kyselyn optimointi

Tietokantojen perusteet

Tietokantojen perusteet k2004helsingin yliopisto/tktl Tietokantojen perusteet, s 2005 relaatiomalli Harri Laine 1.

TIETOKANNAT JOHDANTO JOUNI HUOTARI & ARI HOVI

811120P Diskreetit rakenteet

Helsingin yliopisto/tktl Tietokantojen perusteet, k 2003 Relaatiomallin peruskäsitteet Harri Laine 1. Tietomallit. Näkökulmat tietoon

Jokaisella tiedostolla on otsake (header), joka sisältää tiedostoon liittyvää hallintatietoa

Mikä on tietomalli? Relaatiomallin käsitteitä 1/2 (kuva 5.1) Relaatiomallin taustaa

millainen on se kohde, jota tiedoilla pitäisi kuvata asiat, joita pitäisi esittää Mitä tietoelementtien arvot tarkoittavat

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

CS-A1150 Tietokannat CS-A1150 Tietokannat / 39

Jouni Huotari & Ari Hovi. Käsitemallinnuksesta relaatiokantaan KÄSITEMALLI. LOOGINEN MALLI: tietomalli valittu. FYYSINEN MALLI: DBMS valittu

Helsingin yliopisto, Tietojenkäsittelytieteen laitos Tietokantojen perusteet, , H.Laine

Joukot. Georg Cantor ( )

Esimerkki. pankkien talletus- ja lainatietokanta: Yhdiste, leikkaus, erotus ym. Leikkaus (intersect) Yhdiste (Union) Erotus (except/minus) Leikkaus

Paikkatiedon käsittely 10. Aluekohteiden yhteisesiintymät

Mitä murteita Suomessa onkaan?

Veteli. Vetelin väestönkehitys ja ennuste vuoteen Lähde: Tilastokeskus, väestötiedot ja -ennuste 2015

Yhtenäisyydestä. Johdanto. Lähipisteavaruus. Tuomas Korppi

HOJ Haja-aiheita. Ville Leppänen. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/10

CSE-A1200 Tietokannat

Yhdiste, leikkaus, erotus ym.

D B. Tietokannan hallinta - kurssin tavoite. Kurssilla opitaan periaatteet. Edellytyksenä osallistumiselle on Tietokantojen perusteiden hallinta

Tietokantojen perusteet, osa 1

Kaustinen. Kaustisen väestönkehitys ja ennuste vuoteen Lähde: Tilastokeskus, väestötiedot ja -ennuste 2015

Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas

HELIA TIKO-05 1 (28) ICT03D Tieto ja tiedon varastointi O.Virkki

Helsingin yliopisto/tktl Tietokantojen perusteet, s 2006 Tiedon mallinnus ja tietokannat. Harri Laine 1. Tietokanta.

Lestijärvi. Lestijärven väestönkehitys ja ennuste vuoteen Lähde: Tilastokeskus, väestötiedot ja -ennuste 2015

Halsua. Halsuan väestönkehitys ja ennuste vuoteen Lähde: Tilastokeskus, väestötiedot ja -ennuste 2015

Kannus. Kannuksen väestönkehitys ja ennuste vuoteen Lähde: Tilastokeskus, väestötiedot ja -ennuste 2015

Luento 2: Tulostusprimitiivit

Harjoitustehtävä 1. Harjoitustehtävän 1 ratkaisu. Harjoitustehtävä 1. Relaatioalgebra -liitokset (join) Liitos

ASIAKASLÄHTÖISEN PAIKKATIEDON HYÖDYNTÄMINEN AUTOMAATTISESSA KARTTATUOTANTOJÄRJESTELMÄSSÄ

Toholampi. Toholammin väestönkehitys ja ennuste vuoteen Lähde: Tilastokeskus, väestötiedot ja -ennuste 2015

Funktiot. funktioita f : A R. Yleensä funktion määrittelyjoukko M f = A on jokin väli, muttei aina.

{ 2v + 2h + m = 8 v + 3h + m = 7,5 2v + 3m = 7, mistä laskemmalla yhtälöt puolittain yhteen saadaan 5v + 5h + 5m = 22,5 v +

HELIA TIKO-05 1 (15) ICT03D Tieto ja tiedon varastointi Räty, Virkki

Laajennettu relaatiomalli ERDM ja suoraviittauksinen kyselykieli NSQL. Mika Niemelä

I Geometrian rakentaminen pisteestä lähtien

HELIA 1 (20) Outi Virkki Tiedonhallinta

Paikkatiedon käsittely 11. Suuren mittakaavan

Tilastotietoa Oulusta VÄESTÖ JULKAISTU 2019

Kirjoita jokaiseen erilliseen vastauspaperiin kurssin nimi, tenttipäivä, oma nimesi (selkeästi), opiskelijanumerosi ja nimikirjoituksesi

PN-puu. Helsinki Seminaari: Tietokannat nyt HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Projektinhallintaa paikkatiedon avulla

Tehtävä 1: Veroprosentti

GEOMETRIA MAA3 Geometrian perusobjekteja ja suureita

POLKU LUOKKAKAAVIOISTA TAULUJEN TOTEUTUKSEEN

Eduskuntavaalit ,4 Eduskuntavaalit ,3 Eduskuntavaalit ,9 Eduskuntavaalit ,0

Relaatiomalli ja -tietokanta

Tehtävä 8 : 1. Tehtävä 8 : 2

2. Käsiteanalyysi ja relaatiomalli

Injektio. Funktiota sanotaan injektioksi, mikäli lähtöjoukon eri alkiot kuvautuvat maalijoukon eri alkioille. Esim.

Monikulmiot 1/5 Sisältö ESITIEDOT: kolmio

kansikuva: Paavo Keränen Kainuu tilastoina 2009

Perho. Perhon väestönkehitys ja ennuste vuoteen Lähde: Tilastokeskus, väestötiedot ja -ennuste 2015

Relaatioalgebra. Luku Joukko-opilliset operaatiot Yhdiste eli unioni Leikkaus

Kaupunki- ja seutuindikaattorit -palvelun tietosisältö 2015

HELIA 1 (21) Outi Virkki Tietokantasuunnittelu

Kansalaiset: Kokoomus, SDP ja Keskusta yhtä kyvykkäitä kuntapuolueita

Tietokantojen suunnittelu, relaatiokantojen perusteita

Kyselyn yleisrakenne:

Transkriptio:

HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Paikkatiedon käsittely 2. Relaatiomallin paikkatietolaajennokset Antti Leino antti.leino@cs.helsinki.fi 18.1.2007 Tietojenkäsittelytieteen laitos

Sisällys Relaatiotietokanta Tietokannan suunnittelun abstraktiotasot Relaatioalgebra Paikkatieto relaatiotietokannassa OpenGIS-määritykset paikkatietokannalle Kurssin esimerkkitietokanta

Paikkatietokannan suunnittelu Tietokannoissa yleensä kolme abstraktiotasoa Käsitetaso Rakennetaso Talletustaso Paikkatieto ei tee poikkeusta Tällä kurssilla pääpaino rakennetasolla, mutta muutkin tulevat esiin

Käsitetaso Tietokannan käyttäjän näkökulma Tavoitteena määrittää tietokannan sisältö Mitä tietoja kantaan tulee? Miten ne liittyvät toisiinsa? Millä tarkastelutasolla ne on kuvattava? Kuvaus riippumaton käytettävästä tietokantatekniikasta Sijaintitieto usein karkeistettava valtiot alueita, kaupungit pisteitä? kaupungit alueita, talot pisteitä?

Rakennetaso Tietokannan ohjelmoijan näkökulma Tavoitteena määrittää tietokannan muoto Millaisina rakenteina tieto talletetaan? Millaisia suhteita näiden rakenteiden välillä on? Nykyisin käytössä tyypillisesti relaatiomalli Perusmuodossa ei paikkatietokohteita, mutta lisättävissä Tänään käsitellään tätä

Tallennustaso Tietokannanhallintajärjestelmän ohjelmoijan näkökulma Tavoitteena määrittää, miten tietokanta talletetaan massamuistiin tehokkaasti tiedon sijoittelu levylle hakurakenteet puskurit tilanvaraus Tällä kurssilla sivutaan joitakin aiheita

Relaatiotietokanta Tieto esitetään relaatioina Helpointa ajatella taulukkona ja yleensä puhutaan taulusta (table) Sarakkeiden eli attribuuttien arvojoukot D 1,...,D n Relaatio Osajoukko ristitulosta D 1... D n Joukko monikkoja eli rivejä (tuple) (d 1,...,d n ) Kyselyt esitettävissä relaatioalgebran avulla

Relaatioalgebra Formaali tapa kuvata tietokantaoperaatioita Ei sellaisenaan käytössä tietokannoissa Kyselykielet, mm. SQL, melko lähellä Hyödyllinen teoriatausta tietokannan suunnitteluun tietokannanhallintajärjestelmiin Viisi perusoperaatiota, lisää johdettavissa

Joukko-opin operaatiot Yhdiste R S = {t (t R) (t S)} Ne monikot, jotka kuuluvat relaatioon R tai S Erotus R S = {t (t R) (t S)} Ne monikot, jotka kuuluvat relaatioon R mutteivät relaatioon S Ristitulo R S = {t u (t R) (u S)} Monikot, jotka voidaan muodostaa yhdistämällä yksi kummankin lähtörelaation monikoista

Relaatioalgebran omat operaatiot Projektio Valinta π A1,...,A n (R) = {(a 1,...,a n ) t R : i1,...,n : a i = t.a i } Tuottaa uuden relaation, jossa on vain valitut sarakkeet σ ehto (R) = {t t R ehto on voimassa} Valitsee relaatiosta halutut monikot Nämä riittävät

Yleensä myös Edellä esitetyt hiukan hankalakäyttöisiä Niiden avulla voi määritellä lisää Leikkaus R S = R (R S) = S (S R) Monikot, jotka esiintyvät kummassakin relaatiossa Liitos R ehto S = σ ehto (R S) Monikot, jotka on koottu ehdon täyttävistä lähtörelaatioiden monikoista

Liitosoperaatiot Liitosoperaatioita on erilaisia: Yleinen liitos Kuten edellä: yhdistetään ehdon täyttävät monikot Ulkoliitos Mukana myös sellaiset monikot, joille ei löydy paria toisesta lähtörelaatiosta Luonnollinen liitos Yhdistetään toisiinsa ne monikot, joissa yhteisten sarakkeiden arvot ovat samat

Entäpä paikkatieto? Ei sinänsä edellytä suuria muutoksia relaatioalgebraan Paikkatieto on otettava huomioon operaatioissa Joukko-opin operaatiot paikkakohteille Paikkafunktiot valintaehdoissa

OpenGIS Ohjelmistovalmistajien yhteenliittymä Tavoitteena järjestelmien yhteensopivuus Siispä standardointi Oliopohjainen tietomalli Sovellettavissa eri ohjelmointikielille Tällä kurssilla SQL Geometriatiedossa neljä alaluokkaa 0 2-ulotteiset yksittäiset kohteet Usean kohteen kokoelmat

Paikkatieto-oliot OpenGIS Simple Features Specification for SQL 0 2-ulotteisia kohteita 2-u avaruudessa Kaikki ilmentymät topologisesti suljettuja (eli reuna kuuluu mukaan)

Paikkaoperaatioita Pelkät olioluokat eivät riitä Operaatioita ja funktioita määritelty metodeina Valtaosa metodeista yhteisiä kaikille luokille ts. määritelty luokalle Geometry Jonkin verran myös kullekin luokalle omia metodeja

Muutamia perusmetodeja Yhteisiä koko Geometry-luokalle Dimension: kohteen ulottuvuus GeometryType: tarkka luokka, jonka ilmentymä kohde on Envelope: kohteen minimisuorakulmio

Lisää perusmetodeja IsEmpty: onko kohde tyhjä? IsSimple: onko kohde yksinkertainen? Boundary: kohteen reuna monikulmion reunaviiva ei viivan päätepisteet; suljetulla viivalla tyhjä pisteellä tyhjä

Topologiset suhteet Equals: samat Disjoint: erilliset Intersects: eivät erilliset

Lisää topologisia suhteita Touches: sivuavat Crosses: risteävät Overlaps: leikkaavat Within, Contains: sisältää Relate: jokin muu sisustojen, reunojen ja ulkopuolien perusteella määriteltävissä oleva suhde

Geometriaa Distance: lyhin kohteiden välinen etäisyys Buffer: annetun levyinen alue kohteen ympärillä ConvexHull: kohteen konveksi verho pienin kupera monikulmio, joka sisältää kohteen

Lisää paikkaoperaatioita Intersection: kahden kohteen leikkaus Union: kahden kohteen yhdiste Difference: kahden kohteen erotus SymDifference: pisteet, jotka kuuluvat vain jompaankumpaan kohteeseen

Luokkakohtaisia metodeja Edellä luetellut yhteisiä kaikille Kullakin luokalla myös omia metodeja Pistekohteet kovin yksinkertaisia Viivakohteilla jo enemmän Aluekohteilla samoin

Pistekohteet Vain kaksi omaa metodia X: pisteen x-koordinaatti Y: pisteen y-koordinaatti

Viivakohteet Length: viivan pituus StartPoint, EndPoint: päätepisteet IsClosed: onko viiva suljettu? IsRing: onko viiva sekä yksinkertainen että suljettu? NumPoints: murtoviivan osajanojen päätepisteiden lukumäärä PointN: murtoviivan n:s piste

Aluekohteet Area: pinta-ala Centroid: keskipiste (ei välttämättä kohteen piste!) PointOnSurface: piste, joka kuuluu kohteeseen ExteriorRing: kohteen ulkoreuna NumInteriorRing: sisäreunojen, siis reikien, lukumäärä InteriorRingN: kohteen n:s sisäreuna

Esimerkkitietokanta Välillä jotain vähän konkreettisempaa Kurssia varten on PostgreSQL-tietokanta PostGIS-laajennos: OpenGIS-määritysten mukaiset paikkatietotyypit ja -operaatiot

Esimerkkitietokanta Palvelimella db.cs.helsinki.fi: /usr/local/pgsql-7.4/bin/psql -p 12155 -U kurssi kunnat01 Password: Welcome to psql 7.4.7, the PostgreSQL interactive terminal. Type: \copyright for distribution terms \h for help with SQL commands \? for help on internal slash commands \g or terminate with semicolon to execute query \q to quit kunnat01=> Suomen kuntajako Tilastotietoja kunnista

Kuntataulu kunnat01: Suomen kunnat v. 2001 kuntakoodi numeerinen kuntakoodi nimi kunnan nimi laani lääni, johon kunta kuuluu maakunta maakunta, johon kunta kuuluu miehet kunnassa asuvien miesten lukumäärä naiset kunnassa asuvien naisten lukumäärä yht kunnan väkiluku ulkom_miehet kunnassa asuvat ulkomaalaiset miehet ulkom_naiset kunnassa asuvat ulkomaalaiset naiset ulkom_yht kunnassa asuvat ulkomaalaiset (so. muut kuin Suomen kansalaiset) muutos00 väkiluvun muutos vuodesta 2000 wkb_geometry sijaintitieto

Lisää tauluja autoilu kunta kunnan nimi ajokm Ajokilometrit yleisillä teillä v. 1996 autoja Henkilöautoja v. 1997 tiet Yleisiä teitä v. 1996 (km) elintaso kunta kunnan nimi tulot_hlo Keskitulot / henkilö 1996 (mk) tulot_talous Keskitulot / talous 1996 (mk) asunnot Asuntojen keskikoko 1998 (m 2 ) asuintila Asuintilaa / henkilö 1998 (m 2 ) sosiaali Sosiaali- ja terveystoimen kustannukset (mk/asukas)

Edelleen lisää tauluja koulutus kunta kunnan nimi tutkinnot Korkeakoulututkinnon suorittaneita 20 vuotta täyttäneistä 1998 (%) opiskelijat Opiskelijatalouksia (%) vaalit96: vuoden 1996 kunnallisvaalit, % valtuustopaikoista kunta kunnan nimi keskusta Keskusta kokoomus Kokoomus sdp Sosiaalidemokraatit sfp Ruotsalainen kansanpuolue vasemmistoliitto Vasemmistoliitto vihreat Vihreät

Vielä pari lisää vakiluku kunta kunnan nimi v70 vuonna 1970 v99 vuonna 1999 v10 ennuste 2010 (1998) vaesto kunta kunnan nimi alle15 alle 15-vuotiaiden osuus väestöstä yli65 yli 65-vuotiaiden osuus taajamassa taajamassa asuva osuus väestöstä kunnassa_toissa kunnassa työskentelevä työväestö asukkaat_toissa kunnassa asuva työllinen työväestö

Ja vielä pari lisää pintaala kunta kunnan nimi pintaala kunnan pinta-ala vesiosuus vesistön osuus pinta-alasta peltoala peltoala linnut y 10 10 km ruudun keskipisteen pohjoiskoordinaatti x ruudun keskipisteen itäkoordinaatti maaosuus maan osuus ruudun pinta-alasta ( ) rannikko 1 = rannikkoa, 0 = sisämaata silkkiuikku silkkiuikun pesimävarmuus, 0 3 hernekerttu hernekertun pesimävarmuus, 0 3

Se siitä Kokeilemaan!