KMA/PDB. Karel Janečka. Tvorba materiálů byla podpořena z prostředků projektu FRVŠ č. F0584/2011/F1d



Podobné dokumenty
KMA/PDB. Karel Janečka. Tvorba materiálů byla podpořena z prostředků projektu FRVŠ č. F0584/2011/F1d

GEOGRAFICKÉ INFORMAČNÍ SYSTÉMY 6

přirozený algoritmus seřadí prvky 1,3,2,8,9,7 a prvky 4,5,6 nechává Metody řazení se dělí:

IB108 Sada 1, Příklad 1 Vypracovali: Tomáš Krajča (255676), Martin Milata (256615)

Úvod do mobilní robotiky AIL028

Vyhodnocování dotazů slajdy k přednášce NDBI001. Jaroslav Pokorný MFF UK, Praha

5 Rekurze a zásobník. Rekurzivní volání metody

Seminář z IVT Algoritmizace. Slovanské gymnázium Olomouc Tomáš Kühr

Algoritmy a datové struktury

Intervalové stromy. Představme si, že máme posloupnost celých čísel p 0, p 1,... p N 1, se kterou budeme. 1. Změna jednoho čísla v posloupnosti.

Stromy, haldy, prioritní fronty

Prostorové indexační techniky. Zdeněk Kouba

PRÉCIS STRUKTUROVANÁ DATABÁZE JAKO ODPOVĚĎ NA NESTRUKTUROVANÝ DOTAZ. Dominik Fišer, Jiří Schejbal

Vyplňování souvislé oblasti

IB109 Návrh a implementace paralelních systémů. Kolektivní komunikační primitava. RNDr. Jiří Barnat, Ph.D.

Algoritmy výpočetní geometrie

Distribuovaná synchronizace. Paralelní a distribuované systémy. 11. Přednáška Vzájemné vyloučení. Centralizovaný algoritmus - fronta procesů

Základní datové struktury III: Stromy, haldy

Dijkstrův algoritmus

GRAFY A GRAFOVÉ ALGORITMY

Databázovéa informačnísystémy NÁVRH IMPLEMENTACE 3 PARALELNÍ PROCESY V DATABÁZÍCH

DJ2 rekurze v SQL. slajdy k přednášce NDBI001. Jaroslav Pokorný

Algoritmus Minimax. Tomáš Kühr. Projektový seminář 1

8. Zpracování dotazu. J. Zendulka: Databázové systémy 8 Zpracování dotazu 1

Výroková a predikátová logika - II

Úloha ve stavovém prostoru SP je <s 0, C>, kde s 0 je počáteční stav C je množina požadovaných cílových stavů

Kapitola 10: Diskové a souborové struktury. Klasifikace fyzických médií. Fyzická média

Katedra kybernetiky skupina Inteligentní Datové Analýzy (IDA) 9. dubna Filip Železný (ČVUT) Vytěžování dat 9.

Tabulka. Datová struktura, která umožňuje vkládat a později vybírat informace podle identifikačního klíče. Mohou být:

Analýzy v GIS. Co se nachází na tomto místě? Kde se nachází toto? Kolik tam toho je? Co se změnilo od? Co je příčinou? Co když?

Stromové struktury v relační databázi

Na začátku rozdělíme práci a určíme, které podproblémy je potřeba vyřešit. Tyto

Algoritmizace prostorových úloh

Interpret jazyka IFJ2011

Jazyk matematiky Matematická logika Množinové operace Zobrazení Rozšířená číslená osa

J. Zendulka: Databázové systémy 8 Zpracování dotazu Podstata optimalizace zpracování dotazu

PRG036 Technologie XML

Geometrické indexování a dotazování multimediálních dat

NPRG030 Programování I, 2018/19 1 / :03:07

8. Geometrie vrací úder (sepsal Pavel Klavík)

Kolaborativní aplikace

STRUKTURA RASTROVÝCH DAT

Databázové systémy I. 1. přednáška

Sada 1 - Základy programování

TÉMATICKÝ OKRUH TZD, DIS a TIS

Pokročilé haldy. prof. Ing. Pavel Tvrdík CSc. Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010

Datové struktury Úvod

2. přednáška. Databázový přístup k datům (SŘBD) Možnost počítání v dekadické aritmetice - potřeba přesných výpočtů, např.

Databázovéa informačnísystémy NÁVRH IMPLEMENTACE 2 KONZISTENCE DATABÁZE

Semestrální práce z předmětu KMA/MM. Voroneho diagramy

8 A (strana 1) Soubory a složky, procházení, orientace

Kapitola 11. Vzdálenost v grafech Matice sousednosti a počty sledů

Předmět: Algoritmizace praktické aplikace

Herní engine. Co je Engine Hotové enginy Jemný úvod do game designu

Časová a prostorová složitost algoritmů

Principy činnosti sběrnic

Organizace a zpracování dat I (NDBI007) RNDr. Michal Žemlička, Ph.D.

Řešení: PŘENESVĚŽ (N, A, B, C) = přenes N disků z A na B pomocí C

Rekurzivní sledování paprsku

NPRG030 Programování I, 2018/19 1 / :25:37

Surfels: Surface Elements as Rendering Primitives

GIS Geografické informační systémy

GEOGRAFICKÉ INFORMAČNÍ SYSTÉMY 12

Úvod do simulace - 1

Dijkstrův algoritmus (připomenutí)

Gramatická evoluce a softwarový projekt AGE

Katedra informatiky, Univerzita Palackého v Olomouci. 27. listopadu 2013

Složitosti základních operací B + stromu

Matematika pro studenty ekonomie

Obecná informatika. Matematicko-fyzikální fakulta Univerzity Karlovy v Praze. Podzim 2012

Anotace. Dynamické programování, diskrétní simulace.

METODY REPREZENTACE A ZPRACOVÁNÍ ZNALOSTÍ V UMĚLÉ INTELIGENCI

Kapitola 7: Návrh relačních databází. Nástrahy relačního návrhu. Příklad. Rozklad (dekompozice)

2 Základní funkce a operátory V této kapitole se seznámíme s použitím funkce printf, probereme základní operátory a uvedeme nejdůležitější funkce.

GIS Geografické informační systémy

DYNAMICKÉ PROGRAMOVÁNÍ A PROBLÉM BATOHU

Datové struktury pro prostorové vyhledávání

Umělá inteligence I. Roman Barták, KTIML.

TRANSFORMACE RELAČNÍHO DATOVÉHO MODELU NA OBJEKTOVÝ TRANSFORMATION OF RELATIONAL TO OBJECT DATA MODEL

Umělá inteligence. UI (AI) - součást informatiky s průniky mimo obor Stručná historie UI. Letošní cena nadace Vize Joseph Weizenbaum

2 HRA V EXPLICITNÍM TVARU

6. Tahy / Kostry / Nejkratší cesty

Programovací stanice itnc 530

Výroková a predikátová logika - II

TGH05 - aplikace DFS, průchod do šířky

Počítačová grafika 1. Úvod do grafiky, základní pojmy. Rastrová grafika.

Algoritmus pro hledání nejkratší cesty orientovaným grafem

Úvod do mobilní robotiky AIL028

Rozhraní pro práci s XML dokumenty. Roman Malo

Digitální učební materiál

Přijímací zkouška na MFF UK v Praze

Výroková a predikátová logika - II

GEOGRAFICKÉ INFORMAČNÍ SYSTÉMY 4

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 12.

ČESKÁ ZEMĚDĚLSKÁ UNIVERZITA V PRAZE. Teze diplomové práce

EXTRAKT z mezinárodní normy Extrakt nenahrazuje samotnou technickou normu, je pouze informativním materiálem o normě.

Implementace A* algoritmu na konkrétní problém orientace v prostoru budov

Přidělování paměti I Mgr. Josef Horálek

Evoluční algoritmy. Podmínka zastavení počet iterací kvalita nejlepšího jedince v populaci změna kvality nejlepšího jedince mezi iteracemi

9. Transakční zpracování

Transkript:

KMA/PDB Prostorové spojení Karel Janečka Tvorba materiálů byla podpořena z prostředků projektu FRVŠ č. F0584/2011/F1d

Obsah Prostorové spojení pomocí hnízděných cyklů. Prostorové spojení pomocí R-stromů.

Zpracování prostorových spojení Prostorová spojení mají pro prostorové databáze podobnou důležitost, jako operace spojení v klasických databázích. Uvažujme prostorovou relaci MĚSTO(Název_m, Území_m) a prostorovou relaci LES(Označení_l, Jméno_l, Území_l). Pak má smysl dotaz: Najdi všechny lesy v daném městě.

Zpracování prostorových spojení Prostorový predikát P, kterým se daný dotaz řeší, je průnik dvou množin. Platí-li P(a,b) = TRUE, nazveme dvojici objektů (a,b) hitem. Pro jednoduchost budeme uvažovat dvourozměrné Pro jednoduchost budeme uvažovat dvourozměrné objekty polygony, které lze ve vektorové grafice reprezentovat jako konečné posloupnosti bodů.

Zpracování prostorových spojení Důležitým aspektem implementace prostorových objektů je jejich reprezentace pomocí aproximací. Jednou z možností jsou MOO, které slouží jako první krok pro výpočet prostorového spojení. Skutečný vztah dvou objektů je aproximován vztahem jejich MOO. Takové spojení nazveme MOO-spojení. MOO-spojení vrací dvojice objektů, pro které platí: MOO(a) MOO(b)

Zpracování prostorových spojení Bohužel, ne všechny dvojice objektů získaných MOO-spojením jsou hity. Pro přesné odlišení chybných hitů se používají další aproximace a teprve v nerozhodnutelných případech se přistoupí k přesné geometrické reprezentaci prostorových objektů a jejich vzájemnému porovnání.

Prostorové spojení pomocí hnízděných cyklů Prostorové spojení pomocí hnízděných cyklů je odrazovým můstkem pro další úvahy. Vstup: prostorové relace A, B. Výstup: množina dvojic objektů, které se překrývají.

Prostorové spojení pomocí hnízděných cyklů begin ODPOVĚĎ:= ; for i:=1 to m do begin přečti objekt ai z A do buffera for j:=1 to n do end end; begin přečti objekt bj z B do bufferb if P(ai,bj) then ODPOVĚĎ:=ODPOVĚĎ (ai,bj) end

Prostorové spojení pomocí hnízděných cyklů Nevýhodou uvedeného algoritmu může být jeho náročnost časová i paměťová při přenášení objektů do paměti. Kvadratická složitost! Zaměříme se proto postupně na zpracování spojení, které vlastní přenos objektů oddaluje a používá ho, jen když už neexistuje jiná možnost. Budeme předpokládat objekty organizované podle vhodné indexové struktury, např. R-stromu.

Prostorové spojení pomocí vhodné indexové struktury Prostorové spojení lze realizovat ve třech krocích: 1) Za použití indexové struktury pro organizaci aproximovaných prostorových objektů se spočítá MOO-spojení, které ovšem poskytne pouze množinu kandidátů na spojení objektů. 2) V geometrickém filtru se pomocí kvalitnějších aproximací a přídavných kritérií odhalují hity, falešné hity a dvojice, které nelze rozhodnout. Tyto vstupují do třetího kroku. 3) Pomocí přesné geometrie objektů se oddělí další hity. Třetí krok je výpočetně nejdražší, používá algoritmů výpočetní geometrie.

Prostorové spojení pomocí vhodné indexové struktury Zpracování prostorového spojení

Prostorové spojení pomocí vhodné indexové struktury Jsou-li spolu s objekty a jejich konzervativními aproximacemi ukládány i jejich nevyužité plochy nebo progresivní aproximace, lze jednoduše získat několik testů pro rozpoznání hitů. Existují postačující podmínky pro to, aby bylo splněno Existují postačující podmínky pro to, aby bylo splněno (o1,o2). Lze tak částečně zlepšit algoritmus pro prostorové spojení založené na průniku objektů.

Prostorové spojení pomocí vhodné indexové struktury Tvrzení ( geometrický filtr ): Označme Kapr, resp. PApr funkci přiřazující objektu jeho konzervativní, resp. progresivní aproximaci. Funkce NA přiřazuje konzervativní aproximaci objektu jeho nevyužitou (mrtvou) plochu. a) Jestliže KApr(o1) KApr(o2) > NA(o1)+NA(o2), pak o1 o2. b) Jestliže PApr(o1) PApr(o2).

Prostorové spojení pomocí R-stromů Budeme předpokládat, že spojované objekty jsou uloženy v prostorových relacích A, B, přičemž ke každé z nich existuje odpovídající R-strom. Dalším předpokladem bude stejná hloubka obou R-stromů (z důvodu jednoduššího vyjádření algoritmu).

Prostorové spojení pomocí R-stromů Algoritmus MOO-spojení lze popsat následovně: Vstup: R stromy s kořeny T, resp. U. Výstup: množina dvojic identifikátorů objektů, jejichž MOO se překrývají. algoritmus SPATIALJOIN1(T,U) foreach member ET node T do foreach member EU node U with ET.I EU.I do if U is leaf node then PRINT(ET.Id, EU.Id) end end; else SPATIALJOIN1(ET.p, EU.p);

Prostorové spojení pomocí R-stromů Pro algoritmus je důležité minimalizovat nejenom počet přístupů na disk, ale i čas CPU, který může při vyhodnocování operace průnik vzrůstat. Jedno ze zlepšení algoritmu bude zahrnovat omezení prohledávaného prostoru, tj. redukci počtu porovnávání dvojic kostek. Další zlepšení využije jistých možností uspořádání kostek v uzlu.

Prostorové spojení pomocí R-stromů Tvrzení: Pouze ty dvojice kostek z ET.p a EU.p, z nichž každá má neprázdný průnik s ET.I EU.I, mohou mít neprázdný průnik. Adepti na neprázdný průnik.

Prostorové spojení pomocí R-stromů Při sekvenčním prohledání každého ze dvou uzlů lze označit ty kostky, které splňují předcházející tvrzení. Pak se prostorově porovnávají dvojice, které vzniknou ze všech označených uzlů.

Prostorové spojení pomocí R-stromů Při vyhodnocování dotazů využijeme jistého uspořádání kostek v uzlu R-stromu (předpokládáme, že oba dva prostorové atributy jsou indexovány R-stromy). Algoritmus vyhodnocení prostorového spojení pak bude založen na technice sweep-line.

Prostorové spojení pomocí R-stromů Každý MOO je reprezentován svým dolním levým (T.xL, T.yL) a pravým horním (T.xu, T.yu) rohem, viz. obrázek.

Prostorové spojení pomocí R-stromů Vstupní množina MOO: Seřazená množina MOO:

Prostorové spojení pomocí R-stromů Algoritmus probíhá v následujících pěti krocích: 1) Pohybujeme sweep line (která je kolmá na osu x) směrem zleva doprava a zastavíme se v každém event point (Ti.xL). Tento bod při prvním zastavení sweep-line odpovídá nejmenší hodnotě T.xL (R4). 2) Prohledáváme mezi seřazenými MOO z S, dokud nenarazíme 2) Prohledáváme mezi seřazenými MOO z S, dokud nenarazíme na první MOO Sf takový, že Sf.xL > T.xU. To znamená, že je splněna relace [T.xL, T.xU] [Sj.xL, Sj.xU] pro všechna 1 j < f. V našem případě je Sf rovno S1. Proto MOO S2 je kandidát na průnik s R4 a bude zpracován v dalším kroku.

Prostorové spojení pomocí R-stromů 3) Pokud je splněna relace [T.yL, T.yU] [Sj.yL, Sj.yU] pro všechna j, 1 j < f, potom MOO Sj má průnik s T. Z toho plyne, že R4 a S2 se překrývají, a proto dvojice <R4,S2> je součástí výsledku primárního filtru. MOO T odstraníme z množiny R S, neboť již nemůže být součástí žádné dvojice, která by prošla primárním filtrem. 4) Pohybujeme sweep-line skrz rovinu (seřazenou množinu R S), dokud nenarazíme na další MOO. V našem případě to bude S2. Ten zpracujeme postupem uvedeným v bodech 2) a 3). 5) Skončíme, až R S =.

Prostorové spojení pomocí R-stromů Primárním filtrem prošly následující hity: <R4,S2> <R1,S2> <R1,S3> <R2,S3> <R3,S3>.

Zdroje JANEČKA, K.: Zajištění konzistence prostorových dat v Informačním systému katastru nemovitostí. In: Proceedings of GIS Ostrava 2008. Tanger. Ostrava, 2008. s. 1-8. ISBN 978-80-254-1340-1. KOLINGEROVÁ, I.: Přednášky k předmětu Vybrané algoritmické metody. FAV ZČU v Plzni. MURRAY, Ch.: Oracle Spatial Developer's Guide, 11g Release 1 (11.1). Oracle. 2009. POKORNÝ, J.: Prostorové datové struktury a jejich použití pro indexaci prostorových objektů. In: Proceeding of GIS Ostrava 2000. Ostrava, 2000. POKORNÝ, J.: Prostorové objekty a SQL. In. Proceedings of GIS Ostrava 2001. Ostrava, 2001. ISSN: 1213-239X. POKORNÝ, J.; ŽEMLIČKA, M.: Základy implementace souborů a databází. Karolinum. Praha, 2004. 211 s. ISBN: 80-246-0837-5. ŽEMLIČKA, M.: Přednášky k předmětu Organizace a zpracování dat II. MFF UK v Praze.