Paikkatiedon hallinta ja analyysi 2. Diskreettiä geometriaa

Samankaltaiset tiedostot
Paikkatiedon käsittely 4. Diskreettiä geometriaa

Paikkatiedon käsittely 12. Yhteenveto

Paikkatiedon hallinta ja analyysi

Paikkatiedon käsittely

Paikkatiedon käsittely 2. Relaatiomallin paikkatietolaajennokset

Paikkatiedon hallinta ja analyysi 4. Paikkatiedon indeksointi

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

Paikkatiedon käsittely 6. Kyselyn käsittely

6.4. Järjestyssuhteet

Johdatus graafiteoriaan

Luento 2: 2D Katselu. Sisältö

Monikulmiot 1/5 Sisältö ESITIEDOT: kolmio

Luento 6: Tulostusprimitiivien toteutus

GEOMETRIA MAA3 Geometrian perusobjekteja ja suureita

! 7! = N! x 8. x x 4 x + 1 = 6.

Datatähti 2019 loppu

Pro gradu -tutkielma JORDANIN KÄYRÄLAUSE JA SCHÖNFLIESIN LAUSE. Lotta Oinonen

= = = 1 3.

Epäeuklidista geometriaa

4.3 Kehäkulma. Keskuskulma

Luento 3: 2D Katselu. Sisältö

Tasokuvioita. Monikulmio: Umpinainen eli suljettu, itseään leikkaamaton murtoviivan rajaama tason osa on monikulmio. B

T Vuorovaikutteinen tietokonegrafiikka Tentti

I Geometrian rakentaminen pisteestä lähtien

Paikkatiedon hallinta ja analyysi 5. Kyselyn käsittely

Fraktaalit. Fractals. Riikka Kangaslampi Matematiikan ja systeemianalyysin laitos Aalto-yliopisto. 1 / 8 R. Kangaslampi Fraktaalit

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

Vanhoja koetehtäviä. Analyyttinen geometria 2016

MAB3 - Harjoitustehtävien ratkaisut:

Luento 2: Tulostusprimitiivit

1 Määrittelyjä ja aputuloksia

Lieriö ja särmiö Tarkastellaan pintaa, joka syntyy, kun tasoa T leikkaava suora s liikkuu suuntansa

keskenään isomorfiset? (Perustele!) Ratkaisu. Ovat. Tämän näkee indeksoimalla kärjet kuvan osoittamalla tavalla: a 1 b 3 a 5

0 v i v j / E, M ij = 1 v i v j E.

811120P Diskreetit rakenteet

Näytetään nyt relaatioon liittyvien ekvivalenssiluokkien olevan verkon G lohkojen särmäjoukkoja. Olkoon siis f verkon G jokin särmä.

Topologia Syksy 2010 Harjoitus 4. (1) Keksi funktio f ja suljetut välit A i R 1, i = 1, 2,... siten, että f : R 1 R 1, f Ai on jatkuva jokaisella i N,

Königsbergin sillat. Königsberg 1700-luvulla. Leonhard Euler ( )

MATEMATIIKKA JA TAIDE II

verkkojen G ja H välinen isomorfismi. Nyt kuvaus f on bijektio, joka säilyttää kyseisissä verkoissa esiintyvät särmät, joten pari

= 5! 2 2!3! = = 10. Edelleen tästä joukosta voidaan valita kolme särmää yhteensä = 10! 3 3!7! = = 120

MS-A0402 Diskreetin matematiikan perusteet Esimerkkejä ym., osa I

Ympyrä 1/6 Sisältö ESITIEDOT: käyrä, kulma, piste, suora

Paikkatiedot metsäkeskussanomissa soveltamisohjeet

Taso 1/5 Sisältö ESITIEDOT: vektori, koordinaatistot, piste, suora

Kenguru 2013 Student sivu 1 / 7 (lukion 2. ja 3. vuosi)

Paikkatiedon käsittely 11. Suuren mittakaavan

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

Luento 2: Viivan toteutus

Kahden suoran leikkauspiste ja välinen kulma (suoraparvia)

MS-A0402 Diskreetin matematiikan perusteet Esimerkkejä ym., osa I

Mohrin-Mascheronin lause kolmiulotteisessa harppi-viivaingeometriassa

Simpleksiset kompleksit. Marjo-Riitta Kuha

Hilbertin aksioomat ja tarvittavat määritelmät Tiivistelmä Geometria-luentomonisteesta Heikki Pitkänen

Ota tämä paperi mukaan, merkkaa siihen omat vastauksesi ja tarkista oikeat vastaukset klo 11:30 jälkeen osoitteesta

Johdatus matemaattiseen päättelyyn

Kysymys: Voidaanko graafi piirtää tasoon niin, että sen viivat eivät risteä muualla kuin pisteiden kohdalla?

Luento 3: Tulostusprimitiivien toteutus

7.lk matematiikka. Geometria 2. Hatanpään koulu 7B ja 7C Kevät 2017 Janne Koponen

MAB3 - Harjoitustehtävien ratkaisut:

Kansainväliset matematiikkaolympialaiset 2008

Oppimateriaali oppilaalle ja opettajalle : GeoGebra oppilaan työkaluna ylioppilaskirjoituksissa 2016 versio 0.8

TIEA341 Funktio-ohjelmointi 1, kevät 2008

8.5. Järjestyssuhteet 1 / 19

Matematiikkakilpailut Suomessa

Topologia Syksy 2010 Harjoitus 9

33. pohjoismainen matematiikkakilpailu 2019 Ratkaisut

ENY-C2005 Geoinformation in Environmental Modelling Suomenkielistä terminologiaa liittyen luentoihin 3 ja 6-8

b) Olkoon G vähintään kaksi solmua sisältävä puu. Sallitaan verkon G olevan

Suora 1/5 Sisältö ESITIEDOT: vektori, koordinaatistot, piste

Luento 3: 3D katselu. Sisältö

Olkoon seuraavaksi G 2 sellainen tasan n solmua sisältävä suunnattu verkko,

Laudatur 4 MAA4 ratkaisut kertausharjoituksiin

A TIETORAKENTEET JA ALGORITMIT

2. Seuraavassa kuvassa on verkon solmujen topologinen järjestys: x t v q z u s y w r. Kuva 1: Tehtävän 2 solmut järjestettynä topologisesti.

Topologia Syksy 2010 Harjoitus 11

Yhtälöryhmä matriisimuodossa. MS-A0007 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

67-x x 42-x. Matematiikan johdantokurssi, syksy 2016 Harjoitus 3, ratkaisuista

Johdatus todennäköisyyslaskentaan Momenttiemäfunktio ja karakteristinen funktio. TKK (c) Ilkka Mellin (2005) 1

Braggin ehdon mukaan hilatasojen etäisyys (111)-tasoille on

M100 karttatietokannan laatutarkastus

Esimerkki 2 (Kaupparatsuongelma eli TSP)


Derivaatta: funktion approksimaatio lineaarikuvauksella.

8. Morfologinen kuvanprosessointi 8.1. Perusteita

Avaruuden kolme sellaista pistettä, jotka eivät sijaitse samalla suoralla, määräävät

Johdatus lukuteoriaan Harjoitus 2 syksy 2008 Eemeli Blåsten. Ratkaisuehdotelma

Mitä murteita Suomessa onkaan?

Joukot metrisissä avaruuksissa

isomeerejä yhteensä yhdeksän kappaletta.

Ilkka Mellin Todennäköisyyslaskenta. Osa 2: Satunnaismuuttujat ja todennäköisyysjakaumat. Momenttiemäfunktio ja karakteristinen funktio

Yhtälöryhmä matriisimuodossa. MS-A0004/A0006 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

Hilbertin aksioomajärjestelmän tarkastelua

7.4 Sormenjälkitekniikka

Ratkaisu: a) Kahden joukon yhdisteseen poimitaan kaikki alkiot jotka ovat jommassakummassa joukossa (eikä mitään muuta).

Lause 5. (s. 50). Olkoot A ja B joukkoja. Tällöin seuraavat ehdot ovat

Geometriaa kuvauksin. Siirto eli translaatio

Transkriptio:

HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Paikkatiedon hallinta ja analyysi 2. Diskreettiä geometriaa Antti Leino <antti.leino@cs.helsinki.fi> 17. maaliskuuta 2005 Tietojenkäsittelytieteen laitos

Sisältö Simpleksiset kompleksit Maailmat Egenhofer Frank Jackson 1989: A Topological Data Model for Spatial Databases Güting Schneider 1993: Realms: A Foundation for Spatial Data Types in Database Systems

Diskreettiä geometriaa Perusongelma: avaruus on jatkuva-arvoinen, mutta tietokone-esityksen laskentatarkkuus äärellinen Tästä seuraa mielenkiintoisia ilmiöitä Skaalaus voi muuttaa topologiaa Viivojen leikkauspiste ei välttämättä ole viivalla Muunnos ja sen käänteismuunnos peräkkäin voivat tuottaa eri olion kuin mistä lähdettiin Päällekkäisoperaatio (overlay) tuottaa usein häiriöitä (gap, sliver) Kaksi lähestymistapaa: simpleksiset kompleksit ja maailmat

Kuvaustavan vaatimuksia Yleispätevyys Sulkeumaominaisuudet unionin, leikkauksen ja erotuksen suhteen Edellytyksenä tietokantaoperaatioille Formaali määriteltävyys Äärellinen resoluutio Ristiriidattomuus Vierekkäisillä alueilla on yhteinen raja Toteuttamiskelpoisuus Voitava käyttää tietokannan rakentamisessa

Simpleksit N-simpleksi (simplex): minimaalinen n-ulotteinen olio 0-simpleksi 1-simpleksi 2-simpleksi (piste) (jana) (kolmio) Kukin n-simpleksi koostuu n+1 riippumattomasta (n-1)-simpleksistä Jana kahdesta pisteestä, kolmio kolmesta janasta jne. Kolmion muodostavat janat ovat riippumattomia, jos mitkään niistä eivät ole samansuuntaisia eikä mikään niistä 0-pituinen

Simpleksiset kompleksit simpleksinen kompleksi (simplicial complex): äärellinen joukko simpleksejä Kahden kompleksiin kuuluvan simpleksin leikkaus on joko tyhjä tai kummankin osana oleva simpleksi 1-kompleksi 2-kompleksi Ei 1-kompleksi Ei 2-kompleksi

Reunat Simpleksin s n reuna (boundary) s n : ne (n-1)-simpleksit, jotka muodostavat s n :n Simpleksin s n piiri (co-boundary) 1 γs n : ne (n+1)-simpleksit, joiden osana s n on Simpleksisille komplekseille vastaavasti c n = s n c n s n γc n = s n c n γs n 1 Tälle varmaan on parempikin suomennos, mutten löytänyt mitään vakiintunutta.

Täydellisyysaksioomat Simpleksinen rakenne esittää koko kuvattavaa avaruutta. Niinpä kahden n-simpleksin leikkaus on joko tyhjä tai kumpaankin kuuluva (n-1)-simpleksi päällekkäisyyttä ei ole, vaan kukin avaruuden kohta on kuvattu vain kerran Jokainen n-simpleksi on (n+1)-simpleksin osa 2-ulotteisessa tapauksessa siis jokainen piste on janan päätepiste ja jokainen jana kolmion sivu

Pisteen lisäys Olemassaolevalle viivalle Muualle

Viivan lisäys Rekursiivinen operaatio Lisätään viivan päätepisteet (jos eivät ole jo) Etsitään pienin 2-kompleksi, jonka sisällä lähtöpiste on Lisätään piste tämän kompleksin ja lisättävän viivan leikkauspisteeseen Lisätään viiva tämän pisteen ja päätepisteen välille 2-ulotteisen kohteen lisäys samoin rekursiivisesti

Maailmat Vaihtoehtoinen tapa geometrian esittämiseen: maailma (realm) Pohjana hila, jonka resoluutio on äärellinen Koko tarkasteltavan geometrian tyhjentävä kuvaus

Maailman määritelmä Äärellinen joukko hilaan sijoitettuja pisteitä ja janoja, jossa Kukin piste ja janan päätepiste on hilapiste Kukin janan päätepiste on myös maailman piste Maailman piste voi olla janalla vain päätepisteenä Kaksi janaa ei voi leikata toisiaan tai mennä päällekäin, paitsi päätepisteissään

Diskreetti hila Laskennallisesti näppärä Esitettävissä kokonaislukuina Resoluutio käyttötarkoituksen mukaan Hyödyllinen Takaa geometrisen ristiriidattomuuden Hyvät sulkeumaominaisuudet Suojaa geometrista tarkastelua laskentatarkkuuden rajallisuudelta Bonus: maailma-tietorakennetta voi käyttää tietokannan indeksinä

Olioiden muuntaminen maailmaan Perusongelma: viivojen leikkauspisteet eivät osu hilapisteisiin Esitetään leikkauspiste hilapisteenä? Mutta: Leikkauspiste ei ole kummallakaan janalla Leikkauspiste on janojen alhaalta rajoittamalla alueella Leikkauspiste on sinisen janan väärällä puolella

Janasta murtoviivaksi Muutetaankin janat murtoviivoiksi, jotka kulkevat leikkauspisteen kautta Mutta: jana saattaa vaeltaa mielivaltaisen kauas oikealta paikaltaan

Janan kuori Määritellään janalle s kuori (envelope) E(s): ne hilapisteet, jotka ovat lähinnä janaa sen ylä- tai alapuolella tai itse janalla Jana voidaan piirtää uudelleen, mutta vain kuorensa sisällä Jana ei voi siirtyä (hila)pisteen toiselle puolelle Sen sijaan se voi siirtyä kulkemana läheisen pisteen kautta

Paikkatietotyyppien toteuttaminen Paikkatietotyypit voidaan toteuttaa maailma-approksimaation avulla Neljä kerrosta 1. Hila ja sen geometriset primitiivit 2. Hilaan määritelty maailma 3. Maailmaperustaiset rakenteet 4. Näiden avulla määritellyt paikkatietotyypit

Geometriset primitiivit Äärellinen diskreetti avaruus, sen pisteet ja janat sekä niitä koskevat yksinkertaiset suhteet ja operaatiot N-avaruus: N N, missä N = {0,1,..., n 1} N N-piste: pari (x, y) N N N-jana: kaksi N-pistettä (p, q) (ja niiden välinen viiva) Kaikkien N-pisteiden joukko P N Kaikkien N-janojen joukko S N

N-janojen väliset suhteet Samat Leikkaavat Yhdensuuntaiset Päällekkäin (equal) (intersect) (parallel) (overlap) Linjassa Kohtaavat Koskettavat Erilliset (aligned) (meet) (touch) (disjoint)

N-avaruuden primitiivejä Kaksi pistettä voivat olla samat Piste voi olla janalla (on), janan sisällä (in) tai janan ulkopuolella (out): ensimmäisessä tapauksessa piste on joko sisä- tai päätepiste, toisessa tapauksessa nimenomaan sisäpiste Kahden janan leikkaus tuottaa tuloksenaan janojen leikkauskohtaa lähinnä olevan N-pisteen

Maailma N-avaruudessa N-avaruuden muodostamaan hilaan voi määritellä N-maailma (N-realm, realm over N): R-pisteiden (R-point) ja R-janojen (R-segment) muodostama joukko R = P S, missä Käytössä on vain hilapisteitä ja niiden välisiä janoja, P P N,S S N Janojen päätepisteet ovat maailman pisteitä, (p, q) S : p P q P Maailman pisteinä ei ole janojen sisäpisteitä, p P s S : (p in s) Janat koskevat toisiaan korkeintaan päätepisteissään, s, t S : (s = t) (s intersect t) (s overlap t) (s touch t)

Maailman operaatiot Määriteltävä paikkatieto-olioiden käsittelyyn tarvittavat operaatiot N-pisteen ja N-janan lisäys R-pisteen ja R-janan poisto Muistettava paikkatieto-olioiden ja maailman kohteiden välinen riippuvuus Kullakin maailman oliolla tunniste (realm object identier, ROID) Kullakin paikkatietokanta-alkion sijaintitiedolla samoin tunniste (spatial component identier, SCID)

Topologian säilyttäminen Topologian säilyvyydestä huolehditaan kuori-käsitteen avulla Lisäksi hyvin lähekkäisiä kohteita koskeva eheysrajoite Janan s aito kuori (proper envelope): Ē(s) = {p E(s) p ei ole s:n päätepiste} Minkään R-janan aidossa kuoressa ei saa olla R-pisteitä Jana voidaan piirtää uudelleen kulkemaan kuoripisteidensä kautta aidossa kuoressa olevan pisteen on tarkoitus olla janalla Pisteen lisäys aitoon kuoreen aiheuttaa janan uudelleenpiirtämisen

Janan uudelleenpiirtäminen Määritellään kuoren pisteet, joiden kautta murtoviiva kulkisi Kiinnitetään ne janaan lyhyillä suunnatuilla janoilla, koukuilla (hook) Koukku p, p liittyy janojen s ja t leikkaukseen ja vaikuttaa kummankin uudelleenpiirtämiseen Koukku q, q puolestaan liittyy pisteen q lisäämiseen Koukku q, q leikkaa myös janan u ja synnyttää uuden koukun tästä leikkauspisteestä pisteeseen q

Pisteen lisäys maailmaan if q R : p = q then S env {s S p Ē(s)}; if S env = then R R {p}; sci ds(p) ; else foreach s S env do Kiinnitä s:ään koukku p s, p (missä p s on p:tä lähin s:n piste); foreach koukutettu jana s do Piirrä s p:n kautta kulkevaksi murtoviivaksi; Poista s;

Janan lisäys maailmaan Tarkista, että s:n päätepisteet kuuluvat R:ään; if s R then P env P Ē(s); S i nt {t S (t s) (t ja s leikkaavat)}; if (P env = ) S i nt = then S S {s}; sci ds(s) ; else foreach p P env do Kiinnitä koukku s:stä p:hen; foreach t S i nt do Kiinnitä koukku s:n ja t:n leikkauspisteestä lähimpään kuoren pisteeseen; foreach koukutettu jana t do Piirrä t koukun päätepisteen kautta kulkevaksi murtoviivaksi; Poista t;

Maailmaperustaiset rakenteet Nyt siis voidaan esittää 0- ja 1-ulotteisia olioita. Vielä on määriteltävä 2-ulotteiset. R-sykli (R-cycle) on R-janojen joukko S(c) = {s 1,..., s n }, jossa i {1,..., n} : s i meet s (i+1) mod n Muut janat eivät kohtaa N-piste on syklillä, jos se on jollakin sen janalla: p on c s S(c) : p on s Loput kaksi suhdetta (sisällä / ulkona) eivät johdettavissa vastaavista janan ja pisteen suhteista

Onko piste syklin sisällä? Ensiksi tarkistetaan, ettei p ole syklillä c Vedetään apujana pisteestä p = (x, y) suoraan ylös niin pitkälle kuin hilaa riittää: s p = ((x, y),(x, n 1)) Lasketaan ne c:n osajanat, joiden oikeanpuoleinen mutta ei vasemmanpuoleinen päätepiste on janalla s p tai jotka leikkaavat janan Jos tällaisia osajanoja on pariton määrä, p in c Jos taas näitä on parillinen määrä, p out c

R-syklin osat R-sykli jakaa hilapisteet kolmeen osajoukkoon Syklin sisäpuolella olevat pisteet P i n (c) Syklillä olevat pisteet P on (c) Syklin ulkopuolella olevat pisteet P out (c) Lisäksi voidaan ajatella syklin pisteet P(c) = P i n (c) P on (c) Syklien väliset suhteet voidaan määritellä näiden joukkojen sekä syklin janojen muodostaman joukon S(c) avulla

R-syklien sisäkkäisyys Syklien c 1 (musta) ja c 2 (sininen) välinen suhteet c 2 on sisustaltaan c 1 :n sisällä (area-inside, 13): P(c 2 ) P(C 1 ) c 2 on reunaa myöten c 1 :n sisällä (edge-inside, 23): (c 2 area-inside c 1 ) (S(c 1 ) S(c 2 ) = ) c 2 on kärkipisteitä myöten c 1 :n sisällä (vertex-inside, 3): (c 2 edge-inside c 1 ) (P on (c 1 ) P on (c 2 ) = )

R-syklien erillisyys Syklit c 1 (musta) ja c 2 (punainen) voivat olla c 1 ja c 2 ovat sisustoiltaan erillisiä (area-disjoint, 46): (P i n (c 1 ) P(c 2 ) = ) (P(c 1 ) P i n (c 2 ) = ) c 1 ja c 2 ovat reunoja myöten erillisiä (edge-disjoint, 56): (c 1 area-disjoint c 2 ) (S(c 1 ) S(c 2 ) = ) c 1 ja c 2 ovat kärkipisteitä myöten erillisiä (vertex-disjoint, 56): (c 1 edge-disjoint c 2 ) (P on (c 1 ) P on (c 2 ) = ) eli yksinkertaisemmin P(c 1 ) P(c 2 ) =

Muita sisäkkäisyyssuhteita R-jana voi olla R-syklin sisällä sisustaltaann (13) reunaa myöten (23) kärkipisteitä myöten (3) R-piste voi olla R-syklin sisällä sisustaltaan (12) kärkipisteitä myöten (2)

Reiälliset alueet R-sykli ei vielä riitä aluekoheiden esittämiseen: siinä ei ole reikiä R-tahko (R-face): pari f = (c,h), missä c on R-sykli, H = {h 1,..., h n } joukko R-syklejä ja 1. i {1,..., n} : h i edge-inside c 2. i, j {1,..., n}, i j : h i edge-disjoint h j 3. d C(S(f )) : (s = c) (s H)

R-tahkon yksikäsitteisyys R-tahkon vaatimusten kohta?? tarkoittaa, että tahkoon kuuluvista janoista ei voi muodostaa muita syklejä kuin tahkon tai sen reikien reunaviivat Tämä takaa esityksen yksikäsitteisyyden Niinpä kuva on tulkittava kahdeksi reunojaan myöten erilliseksi tahkoksi

R-tahkojen topologiset suhteet R-syklejä koskevat topologiset suhteet ovat yleistettävissä R-tahkoille Perusajatus: kohde on R-tahkon sisällä, jos se on tahkon ulkoreunaa kuvaavan syklin sisällä muttei reiässä Eri sisäkkäisyys- ja erillisyysasteiden avulla määriteltävissä myös sivuaminen (adjacent): kohteet ovat sisustoiltaan erillisiä, mutta niillä on vähintään yksi yhteinen jana kohtaaminen (meet): kohteet ovat reunoja myöten erillisiä, mutta niillä on vähintään yksi yhteinen kärkipiste

R-yksiköt R-yksikkö (R-unit) on minimaalisen kokoinen R-tahko (sen sisällä ei ole muita R-tahkoja) g F(R) : g area-inside f g = f Tahkoon kuuluvien yksiköiden joukko uni t s(f) = {u U(R) f F : u area-inside f } ja yksiköiden muodostama tahko(joukko) f aces(u) = u u U

Yksikkö- ja tahkoesityksen yhtäpitävyys Voidaan osoittaa, että F F(R) : f aces(uni t s(f)) = F Maailmaan kuvattu alue voidaan siis osoittaa joukkona R-yksiköitä joukkona R-tahkoja, jotka ovat parittain sisustoiltaan erillisiä

Paikkatietokohteiden esittäminen R-lohko (R-block): R-janoista muodostuva yhtenäinen aliverkko Kohteiden esittämiseen kaksi vaihtoehtoa 1. Rakenteeton esitystapa Pistekohde R-pisteiden joukkona Viivakohde R-janojen joukkona Aluekohde R-yksiköiden joukkona 2. Rakenteinen esitystapa Pistekohde R-pisteden joukkona Viivakohde parittain erillisten R-lohkojen joukkona Aluekohde parittain reunoja myöten erillisten R-tahkojen joukkona