TÉRINFORMATIKAI ALGORITMUSOK

Hasonló dokumentumok
TÉRINFORMATIKAI ALGORITMUSOK

TÉRINFORMATIKAI ÉS TÁVÉRZÉKELÉSI ALKALMAZÁSOK FEJLESZTÉSE

Valasek Gábor tavaszi félév

Adatszerkezetek 2. Dr. Iványi Péter

TÉRINFORMATIKAI MODELLEZÉS TÉRINFORMATIKAI MODELLEZÉS ALAPFOGALMAI A VALÓSÁG MODELLEZÉSE

Termék modell. Definíció:

Cohen-Sutherland vágóalgoritmus

Területi primitívek: Zárt görbék által határolt területek (pl. kör, ellipszis, poligon) b) Minden belső pont kirajzolásával (kitöltött)

MIKOVINY SÁMUEL TÉRINFORMATIKAI EMLÉKVERSENY

Klár Gergely 2010/2011. tavaszi félév

Megoldások 7. gyakorlat Síkgráfok, dualitás, gyenge izomorfia, Whitney-tételei

(Solid modeling, Geometric modeling) Testmodell: egy létező vagy elképzelt objektum digitális reprezentációja.

5. gyakorlat. Feladatunk az, hogy készítsük el Zamárdi környékének területhasználati a térképét.

22. GRÁFOK ÁBRÁZOLÁSA

Csoportosítás. Térinformatikai műveletek, elemzések. Csoportosítás. Csoportosítás

3D számítógépes geometria és alakzatrekonstrukció

Gráfok 1. Tárolási módok, bejárások. Szoftvertervezés és -fejlesztés II. előadás. Szénási Sándor

Klár Gergely

Területi primitívek: Zárt görbék által határolt területek (pl. kör, ellipszis, poligon)

Területi primitívek: Zárt görbék által határolt területek (pl. kör, ellipszis, poligon)

Diszkrét matematika 2. estis képzés

Síkbarajzolható gráfok, duális gráf

PTE PMMIK Infrastruktúra és Mérnöki Geoinformatika Tanszék

Geometriai algoritmusok

TANTÁRGYI ADATLAP I. TANTÁRGYLEÍRÁS

Térinformatikai adatszerkezetek

Algoritmusok bonyolultsága

Diszkrét matematika 2.C szakirány

Középpontos hasonlóság szerkesztések

Gráf csúcsainak színezése. The Four-Color Theorem 4 szín tétel Appel és Haken bebizonyították, hogy minden térkép legfeljebb 4 színnel kiszínezhető.

Parametrikus tervezés

Valasek Gábor

Hajder Levente 2018/2019. II. félév

2014/2015. tavaszi félév

Hajder Levente 2014/2015. tavaszi félév

11. Alakzatjellemzők. Kató Zoltán. Képfeldolgozás és Számítógépes Grafika tanszék SZTE (

3D számítógépes geometria és alakzatrekonstrukció

Mezők/oszlopok: Az egyes leíró adat kategóriákat mutatják.

CAD Rendszerek I. Sajátosság alapú tervezés - Szinkron modellezés

Geometria brute force tárolása

GráfRajz fejlesztői dokumentáció

Láthatósági kérdések

Tartalom. Geometria közvetlen tárolása. Geometria tárolása - brute force. Valasek Gábor valasek@inf.elte.hu. Hermite interpoláció. Subdivision görbék

Gráfelméleti alapfogalmak

Algoritmusok és adatszerkezetek II.

HAMILTON ÚT: minden csúcson PONTOSAN egyszer áthaladó út

Térinformatika 3. Vektoros adatszerkezetek Végső, Ferenc

HAMILTON KÖR: minden csúcson PONTOSAN egyszer áthaladó kör. Forrás: (

Diszkrét matematika 1. estis képzés

Oracle Spatial. Térbeli adatot tartalmazó tábla: Geometry table Legalább 2 oszlopa van: Elsődleges kulcs, SDO_GEOMETRY típusú oszlop.

Görbe- és felületmodellezés. Szplájnok Felületmodellezés

Gráfalgoritmusok és hatékony adatszerkezetek szemléltetése

Tantárgy neve. Geomatematika és térinformatika I-II. Meghirdetés féléve 2-3 Kreditpont 2-2 Összóraszám (elm+gyak) 0+2

R ++ -tree: an efficient spatial access method for highly redundant point data - Martin Šumák, Peter Gurský

A TANTÁRGY ADATLAPJA

11. előadás. Konvex poliéderek

Információ megjelenítés Számítógépes ábrázolás. Dr. Iványi Péter

3D-s számítógépes geometria és alakzatrekonstrukció

A számítástudomány alapjai. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem

Síklapú testek. Gúlák, hasábok áthatása. Az előadás átdolgozott részleteket tartalmaz a következőkből: Gubis Katalin: Ábrázoló geometria

Feladatok Házi feladat. Keszeg Attila

3D-s számítógépes geometria

Diszkrét matematika 2.

Térinformatika. j informáci. ciós s rendszerek funkciói. Kereső nyelvek (Query Languages) Az adatok feldolgozását (leválogat

MIKOVINY SÁMUEL TÉRINFORMATIKAI EMLÉKVERSENY

Algoritmuselmélet. 2-3 fák. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem. 8.

Gráfelméleti alapfogalmak-1

Hajder Levente 2018/2019. II. félév

Adatszerkezetek 7a. Dr. IványiPéter

Adatszerkezetek 1. előadás

Térinformatikai adatszerkezetek

Szabványos adatstruktúra a közösségi közlekedés számára

I. Gondolkodási módszerek: (6 óra) 1. Gondolkodási módszerek, a halmazelmélet elemei, a logika elemei. 1. Számfogalom, műveletek (4 óra)

Vektoros grafikát tároló adatbázisok. Katona Endre Térképi adatbázisok diasorozata alapján

3D-s számítógépes geometria és alakzatrekonstrukció

A 3D ingatlan-nyilvántartás megvalósítása

Valasek Gábor tavaszi félév

16. tétel Egybevágósági transzformációk. Konvex sokszögek tulajdonságai, szimmetrikus sokszögek

A térinformatika alapjai dr Siki Zoltán

Diszkrét Matematika MSc hallgatók számára. 11. Előadás. Előadó: Hajnal Péter Jegyzetelő: Szarvák Gábor november 29.

Erdősné Németh Ágnes. Batthyány Lajos Gimnázium Nagykanizsa. INFO SAVARIA április 23. Erdősné Németh Ágnes, Nagykanizsa 1

Alapfogalmak II. Def.: Egy gráf összefüggő, ha bármely pontjából bármely pontjába eljuthatunk egy úton.

Síklefedések Erdősné Németh Ágnes, Nagykanizsa

Generikus osztályok, gyűjtemények és algoritmusok

3D - geometriai modellezés, alakzatrekonstrukció, nyomtatás

Hajder Levente 2017/2018. II. félév

Jogi terek modellezése a 3D kataszterben

Nyugat-magyarországi Egyetem Geoinformatikai Kara. Végső Ferenc. Térinformatika 3. TÉI3 modul. Vektoros adatszerkezetek

3D - geometriai modellezés, alakzatrekonstrukció, nyomtatás

Koordináta-geometria II.

Környezeti informatika

Navigáci. stervezés. Algoritmusok és alkalmazásaik. Osváth Róbert Sorbán Sámuel

Grafikonok automatikus elemzése

Kulcsár Attila. A második szint GeoCalc GIS 2. GISopen 2012 konfrencia.

Geometria. a. Alapfogalmak: pont, egyenes, vonal, sík, tér (Az alapfogalamakat nem definiáljuk)

Diszkrét matematika II. gyakorlat

9. Írjuk fel annak a síknak az egyenletét, amely átmegy az M 0(1, 2, 3) ponton és. egyenessel;

A DATR rendszer megvalósítása és bevezetése a földhivatalokban

GRÁFELMÉLET. 7. előadás. Javító utak, javító utak keresése, Edmonds-algoritmus

Háromszögek, négyszögek, sokszögek 9. évfolyam

Átírás:

Topológiai algoritmusok és adatszerkezetek TÉRINFORMATIKAI ALGORITMUSOK Cserép Máté mcserep@inf.elte.hu 2017. november 22. EÖTVÖS LORÁND TUDOMÁNYEGYETEM INFORMATIKAI KAR

BEVEZETŐ Topológia: olyan matematikai tudomány, mely bizonyos geometriai tulajdonságokból kiindulva, azok általánosítása alapján, algebrai törvényszerűségeket határoz meg. Példa: a königsbergi hidak problémájának gráfelméleti megoldása (Euler) EÖTVÖS LORÁND TUDOMÁNYEGYETEM INFORMATIKAI KAR 2

BEVEZETŐ Geometriai topológia: a téralakzatok azon tulajdonságait vizsgálja, melyek nem változnak az idomok szakadásmentes torzítása során. A topológus az, aki nem tud megkülönböztetni egy bögrét egy amerikai fánktól. - Paul Renteln és Alan Dundes EÖTVÖS LORÁND TUDOMÁNYEGYETEM INFORMATIKAI KAR 3

BEVEZETŐ Térinformatikai topológia: a vektoros téralakzatok szakadásmentes torzítás során is fennmaradó invariáns kapcsolatainak, tulajdonságainak vizsgálata. Szomszédság Kapcsolódás / Folyamatosság Tartalmazás EÖTVÖS LORÁND TUDOMÁNYEGYETEM INFORMATIKAI KAR 4

FELHASZNÁLÁSI TERÜLETEK Topológiai relációk lekérdezése Mely megyékkel határos Veszprém megye? EÖTVÖS LORÁND TUDOMÁNYEGYETEM INFORMATIKAI KAR 5

FELHASZNÁLÁSI TERÜLETEK Topológiai relációk lekérdezése Mely megyékkel határos Veszprém megye? Mely főutakra lehet ráhajtani az M3-as autópályáról? EÖTVÖS LORÁND TUDOMÁNYEGYETEM INFORMATIKAI KAR 6

FELHASZNÁLÁSI TERÜLETEK Topológiai relációk lekérdezése Mely megyékkel határos Veszprém megye? Mely főutakra lehet ráhajtani az M3-as autópályáról? Mely megyékben található a Balaton? EÖTVÖS LORÁND TUDOMÁNYEGYETEM INFORMATIKAI KAR 7

FELHASZNÁLÁSI TERÜLETEK Topológiai relációk lekérdezése Mely megyékkel határos Veszprém megye? Mely főutakra lehet ráhajtani az M3-as autópályáról? Mely megyékben található a Balaton? Mely megyéken folyik keresztül a Duna? EÖTVÖS LORÁND TUDOMÁNYEGYETEM INFORMATIKAI KAR 8

FELHASZNÁLÁSI TERÜLETEK Adatok ellenőrzése: Minden település külterület kizárólag egy megyéhez tartozhat. EÖTVÖS LORÁND TUDOMÁNYEGYETEM INFORMATIKAI KAR 9

FELHASZNÁLÁSI TERÜLETEK Adatok ellenőrzése: Minden település külterület kizárólag egy megyéhez tartozhat. Minden település külterülethez tartoznia kell legalább egy településnek. EÖTVÖS LORÁND TUDOMÁNYEGYETEM INFORMATIKAI KAR 10

FELHASZNÁLÁSI TERÜLETEK Adatok ellenőrzése: Minden település külterület kizárólag egy megyéhez tartozhat. Minden település külterülethez tartoznia kell legalább egy településnek. Nem lehetnek rések a külterület határok között. EÖTVÖS LORÁND TUDOMÁNYEGYETEM INFORMATIKAI KAR 11

TÉRBELI RELÁCIÓK A térbeli kapcsolatok definiálhatók: poligon és poligon között poligon és vonallánc között poligon és pont között vonallánc és vonallánc között vonallánc és pont között pont és pont között Forrás: Geographic Information Technology Training Alliance EÖTVÖS LORÁND TUDOMÁNYEGYETEM INFORMATIKAI KAR 12

DIMENSIONALLY EXTENDED NINE-INTERSECTION MODEL (DE-9IM) Forrás: Boundless Spatial EÖTVÖS LORÁND TUDOMÁNYEGYETEM INFORMATIKAI KAR 13

TÉRBELI RELÁCIÓK NINE-INTERSECTION MODEL HASZNÁLATÁVAL Forrás: University of Minnesota EÖTVÖS LORÁND TUDOMÁNYEGYETEM INFORMATIKAI KAR 14

SPAGETTI MODELL A spagetti modell egy olyan vektoros adatmodell, amely a csúcsokon és az összekötési szabályokon kívül mást nem vesz figyelembe. Nem vizsgálja, hogy van-e közvetlen szomszédja egy poligonnak, és így vannak-e közös csúcsai a szomszédos poligonoknak. Nem törődik a folytonossággal, és az egyes objektumok esetleges térbeli sorrendiségével, szomszédságával. Előnye az egyszerűsége, amely egyben a hátránya is, mivel olyan laza minőségi kritériumok mellett, mint amilyet a spagetti modell kíván meg, nagyon könnyű rossz minőségű adatbázist létrehozni. EÖTVÖS LORÁND TUDOMÁNYEGYETEM INFORMATIKAI KAR 15

TOPOLOGIKUS ADATSZERKEZETEK A térbeli relációk folytonos és ismételt kiértékelése: túlságosan erőforrás igényes, nem hatékony. A topológiát ezért előfeldolgozási lépésként célszerű a teljes geometriakollekcióra kiszámítani, tárolni, és a továbbiakban azt felhasználva sokkal hatékonyabb lekérdezés-kiértékeléseket végrehajtani. Módosításkor: topologikus modellt kell szerkeszteni vagy a geometriakollekció változásakor a topológia (részét vagy egészét) is frissíteni kell. Milyen adatszerkezetben tároljuk a topológiát? EÖTVÖS LORÁND TUDOMÁNYEGYETEM INFORMATIKAI KAR 16

TOPOLOGIKUS ADATSZERKEZETEK Általános elvárások: térbeli adatok ismétlődésmentes tárolása, térbeli kapcsolatok (pl. szomszédság, rákövetkezés) tárolása. Elméleti háttér: Duális gráfokkal történő leírás Elterjedt gyakorlati topologikus adatstruktúrák: Winged-edge data structure Quad-edge data structure Half-edge data structure Doubly connected edge list EÖTVÖS LORÁND TUDOMÁNYEGYETEM INFORMATIKAI KAR 17

SÍKGRÁFOK ÉS DUÁLISUK A síkgráf csúcsai az elágazási pontok, ezek között a pontok között élek pedig ott lesznek, ahol ezen a pontok között polylineok találhatók. Ezekben az élekben tároljuk azt is, hogy tőle jobbra és balra milyen területek vannak. A síkgráf duálisában a csúcsok a területek, az élek pedig azt jelentik, hogy egy területnek egy másik a szomszédja. A területhez tároljuk el az őt határoló polylineokat is, egyszóval azt a valódi poligont, amit az reprezentál. Illeszkedő poligonok és síkgráfuk Síkgráf duálisa és a befoglaló területekkel kiegészítve EÖTVÖS LORÁND TUDOMÁNYEGYETEM INFORMATIKAI KAR 18

WINGED-EDGE DATA STRUCTURE Élek reprezentációja: Név: a Csúcspontok: kiindulás: X vég: Y Felületek: bal: 1 jobb: 2 Bal felület bejárása: megelőző él: b rákövetkező él: d Jobb felület bejárása: megelőző él: e rákövetkező él: c Csúcspontok reprezentációja: név: X él: d (pozíció: koordináta) Felületek reprezentációja: Név: 1 Él: b EÖTVÖS LORÁND TUDOMÁNYEGYETEM INFORMATIKAI KAR 19

HALF-EDGE DATA STRUCTURE Fél-élek reprezentációja: vég csúcspont ellentett fél-él rákövetkező fél-él határos felület Élek reprezentációja: egyik fél-él Csúcspontok reprezentációja: egyik kiinduló fél-él (pozíció: koordináta) Felületek reprezentációja: egyik határos fél-él EÖTVÖS LORÁND TUDOMÁNYEGYETEM INFORMATIKAI KAR 20

ALGORITMUSOK A TOPOLÓGIA KIALAKÍTÁSÁHOZ Pont poligon általi tartalmazása Crossing Number algoritmus Winding Number algoritmus Él-láncok metszése Shamos-Hoey algoritmus (vizsgálat) Bentley-Ottmann algoritmus (meghatározás) Poligonok metszése Sutherland-Hodgman algoritmus (konvex) Vatti algoritmus Greiner-Hormann algoritmus Weiler-Atherton algoritmus EÖTVÖS LORÁND TUDOMÁNYEGYETEM INFORMATIKAI KAR 21

CROSSING NUMBER ALGORITMUS Szabályok: Minden pontból húzzunk egy félegyenest, tetszőleges irányba. Minden oldalél metszéspont cn cn + 1 A pont a poligon belül van cn páratlan A pont a poligon kívül van cn páros Problémák: Külön figyelmet kell fordítani a csúcsban metszésre. Téves eredményt ad a saját magát metsző poligonokra. EÖTVÖS LORÁND TUDOMÁNYEGYETEM INFORMATIKAI KAR 22

WINDING NUMBER ALGORITMUS Szabályok: Felfelé keresztező él, óramutató szerinti ellentétes bejárással: wn wn + 1 Lefele keresztező él, óramutató szerinti bejárással: wn wn 1 A pont a poligon kívül van wn = 0 Algoritmikus komplexitás: θ(2n) n: élek száma EÖTVÖS LORÁND TUDOMÁNYEGYETEM INFORMATIKAI KAR 23

Forrás: geomalgorithms.com BENTLEY-OTTMANN ALGORITMUS Event: 0 EQ: S 1, S 2, S 3, S 4, S 3, S 1, S 2, S 4 SL: Event: 1 (S 1 ) EQ: S 2, S 3, S 4, S 3, S 1, S 2, S 4 SL: S1 Event: 2 (S 2 ) EQ: S 3, S 4, I 12, S 3, S 1, S 2, S 4 SL: S 1, S 2 Event: 3 (S 3 ) EQ: I 13, S 4, I 12, S 3, S 1, S 2, S 4 SL: S 1, S 3, S 2 EÖTVÖS LORÁND TUDOMÁNYEGYETEM INFORMATIKAI KAR 24

Forrás: geomalgorithms.com BENTLEY-OTTMANN ALGORITMUS Event: 4 (I 13 ) EQ: S 4, I 12, S 3, S 1, S 2, S 4 SL: S 3, S 1, S 2 Event: 5 (S 4 ) EQ: I 12, I 34, S 3, S 1, S 2, S 4 SL: S 4, S 3, S 1, S 2 Event: 6 (I 12 ) EQ: I 34, S 3, S 1, S 2, S 4 SL: S 4, S 3, S 2, S 1 Event: 7 (I 34 ) EQ: S 3, I 24, S 1, S 2, S 4 SL: S 3, S 4, S 2, S 1 EÖTVÖS LORÁND TUDOMÁNYEGYETEM INFORMATIKAI KAR 25

Forrás: geomalgorithms.com BENTLEY-OTTMANN ALGORITMUS Event: 8 (S 3 ) EQ: I 24, S 1, S 2, S 4 SL: S 4, S 2, S 1 Event: 9 (I 24 ) EQ: S 1, S 2, S 4 SL: S 2, S 4, S 1 Event: 10 (S 1 ) EQ: S 2, S 4 SL: S 2, S 4 Event: 11 (S 2 ) EQ: S 4 SL: S 4 Algoritmikus komplexitás: θ n: élszegmensek száma k: metszéspontok száma n + k logn EÖTVÖS LORÁND TUDOMÁNYEGYETEM INFORMATIKAI KAR 26

GREINER-HORMANN ALGORITMUS Csúcslisták: P: P 0, I 1, I 0, P 1, I 2, I 3, P 2, I 4, P 3, I 5, P 4 Q: Q 0, Q 1, I 0, I 2, Q 2, Q 3, I 5, I 4, I 3, I 1 Belépési pontok: I 1, I 2, I 4 Feldolgozási szabály: 1. Belépési ponttól elindulunk P listán. 2. Metszéspontnál listát váltunk. 3. A kiindulási ponthoz visszaérkezéskor megkaptunk egy metszet poligont. 4. Töröljük az érintett metszéspontokat a belépési pontok közül; újrakezdjük a feldolgozást. Speciális esetek: Több egymást követő belépési (ill. kilépési) pont Belépési/kilépési pontok (érintés) EÖTVÖS LORÁND TUDOMÁNYEGYETEM INFORMATIKAI KAR 27