Paikkatiedon käsittely 4. Diskreettiä geometriaa

Samankaltaiset tiedostot
Paikkatiedon hallinta ja analyysi 2. Diskreettiä geometriaa

Paikkatiedon käsittely 12. Yhteenveto

Paikkatiedon hallinta ja analyysi

Paikkatiedon käsittely

Paikkatiedon käsittely 2. Relaatiomallin paikkatietolaajennokset

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

Paikkatiedon käsittely 6. Kyselyn käsittely

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

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

= = = 1 3.

Paikkatiedon hallinta ja analyysi 4. Paikkatiedon indeksointi

Vanhoja koetehtäviä. Analyyttinen geometria 2016

Datatähti 2019 loppu

6.4. Järjestyssuhteet

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

Monikulmiot 1/5 Sisältö ESITIEDOT: kolmio

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

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

811120P Diskreetit rakenteet

GEOMETRIA MAA3 Geometrian perusobjekteja ja suureita

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

T Vuorovaikutteinen tietokonegrafiikka Tentti

Johdatus graafiteoriaan

Luento 6: Tulostusprimitiivien toteutus

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

Luento 2: 2D Katselu. Sisältö

MATEMATIIKKA JA TAIDE II

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,

Konformigeometriaa. 5. maaliskuuta 2006

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

Kahden suoran leikkauspiste ja välinen kulma (suoraparvia)

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

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

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

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

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

33. pohjoismainen matematiikkakilpailu 2019 Ratkaisut

Luento 2: Tulostusprimitiivit

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

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

Topologia Syksy 2010 Harjoitus 9

4.3 Kehäkulma. Keskuskulma

Ratkaisut vuosien tehtäviin

Epäeuklidista geometriaa

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

I Geometrian rakentaminen pisteestä lähtien

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

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

Johdatus matemaattiseen päättelyyn

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

Yhtälön oikealla puolella on säteen neliö, joten r. = 5 eli r = ± 5. Koska säde on positiivinen, niin r = 5.

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

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

Paikkatiedon käsittely 5. Paikkatiedon indeksointi

Kansainväliset matematiikkaolympialaiset 2008

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

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

Kokonaislukuoptiomointi Leikkaustasomenetelmät

Mohrin-Mascheronin lause kolmiulotteisessa harppi-viivaingeometriassa


Shorin algoritmin matematiikkaa Edvard Fagerholm

Paikkatiedon käsittely 11. Suuren mittakaavan

8.5. Järjestyssuhteet 1 / 19

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

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

Topologia Syksy 2010 Harjoitus 11

Luento 3: 2D Katselu. Sisältö

Hilbertin aksioomajärjestelmän tarkastelua

29. Pohjoismainen matematiikkakilpailu

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

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


MAB3 - Harjoitustehtävien ratkaisut:

A TIETORAKENTEET JA ALGORITMIT

MATEMATIIKAN JA TILASTOTIETEEN LAITOS

Paikkatiedot metsäkeskussanomissa soveltamisohjeet

Kombinatorinen optimointi

Kertaus. Integraalifunktio ja integrointi. 2( x 1) 1 2x. 3( x 1) 1 (3x 1) KERTAUSTEHTÄVIÄ. K1. a)

Markov-ketjut pitkällä aikavälillä

Matematiikkakilpailut Suomessa

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

a b c d

M100 karttatietokannan laatutarkastus

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

Seuraa huolellisesti annettuja ohjeita. Tee taitokset tarkkaan,

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

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

TIEA341 Funktio-ohjelmointi 1, kevät 2008

Luento 3: 3D katselu. Sisältö

a b c d

Solmu 3/2001 Solmu 3/2001. Kevään 2001 ylioppilaskirjoitusten pitkän matematiikan kokeessa oli seuraava tehtävä:

(iv) Ratkaisu 1. Sovelletaan Eukleideen algoritmia osoittajaan ja nimittäjään. (i) 7 = , 7 6 = = =

Matematiikan peruskurssi 2

811120P Diskreetit rakenteet

Algoritmit 2. Luento 6 Ke Timo Männikkö

V. V. Vazirani: Approximation Algorithms, luvut 3-4 Matti Kääriäinen

Transkriptio:

HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Paikkatiedon käsittely 4. Diskreettiä geometriaa Antti Leino antti.leino@cs.helsinki.fi 25.1.2007 Tietojenkäsittelytieteen laitos

Laskentatarkkuuden ongelma Perusongelma: Avaruus on jatkuva-arvoinen Tietokone-esityksen laskentatarkkuus äärellinen Ei ongelma, jos laskentatarkkuus»riittävä» Mielenkiintoisia seurauksia Skaalaus voi muuttaa topologiaa Viivojen leikkauspiste ei välttämättä viivalla Muunnos ja sen käänteismuunnos peräkkäin voivat tuottaa eri tuloksen kuin lähtötilanne Tämä otettava huomioon paikkatiedon approksimoinnissa

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

Maailmat Yksi mahdollinen ratkaisu diskreetin geometrian ongelmaan: 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 Käytettävissä myös tietokannan indeksinä Ei kattavasti toteutettu PostGIS: topologialaajennos tekeillä

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

Janasta murtoviivaksi Muutetaankin janat murtoviivoiksi, jotka kulkevat leikkauspisteen kautta Nytpä jana saattaakin vaeltaa mielivaltaisen kauas oikealta paikaltaan!

Janan kuori Ratkaisu: Määritellään janalle kuori (envelope): ne hilapisteet, jotka ovat lähinnä janan ylä- tai alapuolella (tai itse janalla) Jana voidaan piirtää uudelleen, mutta vain kuorensa sisällä Jana ei voi siirtyä (hila)pisteen toiselle puolelle 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 Tarvitaan Äärellinen diskreetti avaruus Sen pisteet ja janat Niitä koskevat yksinkertaiset suhteet ja operaatiot Määritellään N-avaruus: N N, missä N = {0,1,...,n 1} N

Pisteet ja janat 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

Maailman luominen N-avaruuden muodostamaan hilaan voidaan määritellä N-maailma (N-realm, realm over N): Joukko R = P S R-pisteitä (R-point), P R-janoja (R-segment), S Käytössä on vain hilapisteitä ja niiden välisiä janoja P P N S S N Toisin sanoen N-avaruuden osajoukko Muutama lisärajoitus

Maailman lisärajoituksia Janojen päätepisteet ovat maailman pisteitä (p,q) S : (p P) (q P) Maailmaan kuulumattomien hilapisteiden välinen jana ei siis kelpaa Maailman pisteinä ei ole janojen sisäpisteitä p P s S : (p in s) Piste voi siis sijaita janalla vain sen päässä Janat koskevat toisiaan korkeintaan päätepisteissään s,t S : (s equal 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 maailmaan R-pisteen ja R-janan poisto Näissä otettava huomioon Maailman eheysrajoitteet Paikkatieto-olioiden ja maailman kohteiden väliset riippuvuudet Kullakin maailman oliolla tunniste (realm object identifier, ROID) Kullakin paikkatietokanta-alkion sijaintitiedolla samoin tunniste (spatial component identifier, SCID)

Topologinen eheys Topologian säilyvyydestä huolehditaan kuori-käsitteen avulla Hyvin lähekkäisiä kohteita varten tarvitaan lisäksi Janan s aito kuori (proper envelope): kuori lukuun ottamatta janan päätepisteitä 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

Pisteen lisäys maailmaan Lisää piste p Piirrä uudelleen kaikki janat s i, joiden aitoon kuoreen piste kuuluu Piirrä jana s i :n lähtöpisteestä p:hen Piirrä jana p:stä s i :n päätepisteeseen Poista s i Janan sijasta murtoviiva, jos alkuperäisen janan kuori niin vaatii

Janan lisäys maailmaan Tarkista, että janan s päätepisteet p 1 ja p 2 kuuluvat maailmaan ja tarvittaessa lisää ne Käy läpi pisteet p i, jotka ovat s:n kuoressa Lisää koukku lähimmästä s:n pisteestä p i :hin Käy läpi janat t i, jotka leikkaavat s:n Lisää koukku leikkauskohdasta lähimpään hilapisteeseen Käy läpi janat, jotka jokin koukuista leikkaa lisää koukku leikkauskohdasta lähimpään hilapisteeseen Lisää kaikkien koukkujen päätepisteet p j Piirrä uudelleen kaikki koukutetut janat t j

Janan uudelleenpiirtäminen Määritellään kuoren pisteet, joiden kautta murtoviiva kulkisi Kiinnitetään ne janaan koukuilla (hook), lyhyillä suunnatuilla janoilla Jokainen koukun ja janan leikkaus synnyttää uuden koukun Piirretään uudelleen kaikki koukutetut janat

Maailmaperustaiset rakenteet Maailmassa 0- ja 1-ulotteiset kohteet Tarvitaan vielä 2-ulotteiset. R-sykli (R-cycle): R-janojen joukko S(c) = {s 1,...,s n } i {1,...,n} : s i meet s (i+1) mod n Muut janat eivät kohtaa

R-syklin osat Sykli jakaa hilapisteet kolmeen osajoukkoon Syklin sisäpuolella olevat pisteet P in (c) Syklillä olevat pisteet P on (c) Syklin ulkopuolella olevat pisteet P out (c) Näiden avulla voi määritellä vielä syklin pisteet P(c) = P in (c) P on (c) Syklien väliset suhteet voidaan määritellä näiden joukkojen sekä syklin janojen muodostaman joukon S(c) avulla

Pisteen ja syklin suhteet N-piste on syklillä, jos se on jollakin sen janalla: p on c s S(c) : p on s Loput suhteet (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ä suoraan ylös hilan reunaan: s p = ((x p,y p ),(x p,n 1)) Lasketaan ne c:n osajanat, joiden oikeanmuttei vasemmanpuoleinen päätepiste on apujanalla tai jotka leikkaavat sen Jos tällaisia osajanoja on pariton määrä, p in c Jos taas näitä on parillinen määrä, p out c

R-syklien sisäkkäisyys Syklien c 1 (musta) ja c 2 (sininen) suhteet c 2 on sisustaltaan c 1 :n sisällä (area-inside, 1 3): P(c 2 ) P(C 1 ) c 2 on reunaa myöten c 1 :n sisällä (edge-inside, 2 3): (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 Syklien c 1 (musta) ja c 2 (punainen) suhteet sisustoiltaan erilliset (area-disjoint, 4 6): (P in (c 1 ) P(c 2 ) = ) (P(c 1 ) P in (c 2 ) = ) reunoja myöten erilliset (edge-disjoint, 5 6): (c 1 area disjoint c 2 ) (S(c 1 ) S(c 2 ) = ) kärkipisteitä myöten erilliset (vertex-disjoint, 5 6): (c 1 edge disjoint c 2 ) (P on (c 1 ) P on (c 2 ) = ) eli lyhyesti P(c 1 ) P(c 2 ) =

Syklit, janat ja pisteet R-jana voi olla R-syklin sisällä sisustaltaan (1 3) reunaa myöten (2 3) kärkipisteitä myöten (3) R-jana ja R-sykli erilliset reunaa myöten kärkipisteitä myöten R-piste voi olla R-syklin sisällä sisustaltaan (1 2) kärkipisteitä myöten (2) R-piste ja R-sykli erilliset kärkipisteitä myöten

Reiälliset alueet R-sykli ei vielä riitä aluekoheiden esittämiseen: pitää voida esittää myös reiät 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. f:n osajanoista ei voi muodostaa muita syklejä kuin c ja H:hon kuuluvat

R-tahkon yksikäsitteisyys R-tahkon vaatimusten kohta 3 sen yksikäsitteisyyden Niinpä tämä on tulkittava kahdeksi reunojaan myöten erilliseksi tahkoksi

R-tahkojen topologiset suhteet R-syklejä koskevat topologiset suhteet ovat yleistettävissä R-tahkoille Perusperiaate: 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: kohteet erillisiä sisustoiltaan mutteivät reunojaan myöten (ts. vähintään yksi yhteinen jana) kohtaaminen: kohteet erillisiä reunojaan mutteivät kärkipisteitään myöten (ts. vähintään yksi yhteinen kärkipiste)

Paikkatietokohteiden esittäminen Pistekohde: R-pisteiden joukko Viivakohde: erillisten R-lohkojen joukko R-lohko (R-block): R-janoista muodostuva yhtenäinen verkko Aluekohde: erillisten R-tahkojen joukko

Muita esitystapoja R-tahkoihin perustuva esitys ei ole ainoa mahdollisuus topologian säilyttäväksi paikkatiedon esitykseksi Muita esimerkiksi R-yksiköt: R-tahko, jossa lisärajoituksena minimaalisuus, so. yksikön sisällä ei voi olla pienempää tahkoa Simpleksiset kompleksit: rakennetaan geometria minimaalisen kokoisista osista (piste, jana, kolmio,... ), jotka eivät leikkaa toisiaan kuin reunoiltaan Näissä ei 1:1-vastavuutta kuvausyksikön ja paikkatietokannan kohteen välillä

Entä sitten? Topologian säilyttävä approksimointi on tarpeen joskus Usein riittää, että tiedot esitetään»tarpeeksi» tarkasti Laskentatarkkus niin paljon käytettyä resoluutiota suurempi, että ongelmia ei ole Ääritapauksessa ei silti takeita topologian säilymisestä Yksinkertaista toteuttaa Vähimmäisvaatimus: valinta näiden kahden välillä tehtävä tietoisesti