Spatial database Jakub Michalko.

Slides:



Advertisements
Similar presentations
Introduction to Spatial Databases
Advertisements

Chapter 4 Part C: Queries, Computations & Map Algebra.
Chapter 3:Spatial Query Languages 3
Department of Geoinformation Science Technische Universität Berlin Geo-Databases: lecture 8 Management of Spatial Data Prof. Dr. Thomas H. Kolbe Institute.
Spatial Query Languages Standard Database Query Languages.
Object Relational Model Spatial Queries. Query Model Spatial Layer Data Table where coordinates are stored Primary Filter Spatial Index Index retrieves.
N. Andrejčíková, J. M. Šafránek, J. Šubová Projekt webu českých pamiatok o krok ďalej.
XML pre programátorov 7. víkend s Linuxom 5. – 6. október 2002 Žilina Stanislav Meduna ETM Aktiengesellschaft
“Codd’s Rules for Spatial ORDBMS”
Spatial Database Souhad Daraghma.
Spatial Query Language Group No.15 Dhruv Dhokalia Yash Khandelwal Course Relation- Chapter 11- Object and Object-Relational Databases.
Database for Location- Aware Applications Mohammad Rezaei School of Computing University of Eastern Finland
Ján GENČI PDT 2009 Systém riadenia bázy dát (Database Management System)
How to Spatially Enable Your IBM Informix Database Chris Bosch.
Ján GENČI PDT 2009 Systém riadenia bázy dát (Database Management System)
Spatial Query Languages Standard Database Query Languages.
Ján GENČI PDT 2009 Systém riadenia bázy dát (Database Management System)
Algoritmy riadenia preťaženia TECHNICKÁ UNIVERZITA V KOŠICIACH FAKULTA ELEKTROTECHNIKY A INFORMATIKY Katedra elektroniky a multimediálnych telekomunikácií.
Chapter 3:Spatial Query Languages 3.1 Standard Database Query Languages 3.2 Relational Algebra 3.3 Basic SQL Primer 3.4 Extending SQL for Spatial Data.
Spatial Database Tips & Tricks Paul Ramsey
Spatial DBMS Spatial Database Management Systems.
John Pickford IBM H11 Wednesday, October 4, :30. – 14:30. Platform: Informix Practical Applications of IDS Extensibility (Part 2 of 2)
Object Query Language (OQL) Marián Kamenišťák MFF – UK Praha
1 Agenda Today Due: topic of your term project Quiz with two questions Spatial query language Next class.
Atomic Force Microscopy
Lecture 3: Spatial Data Management Dr. Taysir Hassan Abdel Hamid Associate Professor, Information Systems Dept., Faculty of Computers and Information.
Spatial Query Languages
Spatial Query Languages
Spatial Database Systems
Example Bullet Point Slide
Zariadenia na ochranu pred predpätím a výpadkom napätia.
Dátové štruktúry pre analýzu obrazu
Objektové databázy PDT Genči.
Objektové databázy PDT Genči.
Ukladacie služby Expertná skupina, Martin Koška, SAŽP.
Sme produkty, musíme sa predať
Prehľadávanie (searching) UI. I Markošová Mária
Databázový systém pre malý a veľký podnik
Typy informácií a ich prezentácia a spracovanie
RELAČNÝ DÁTOVÝ MODEL princíp relačného dátového modelu bol prvýkrát navrhnutý E.F.Coddom Základné pojmy: RM - databáza ako množina relácií každá.
IEEE – tvoja cesta k úspechu
Sieťový operačný systém
Človek vo sfére peňazí ročník.
Umelá inteligencia 1 Hľadanie riešenia
Softvérová architektúra
TopX Rene Fischer.
Bee Gees Anna Mária Gburíková 7.B.
Integritné obmedzenia v SQL
Systém riadenia bázy dát Database Management System
Metódy tvorby evolučných stromov
Skrutkovica na rotačnej ploche
Vyhľadávanie informácií
Vlastnosti kvantitatívnych dát
Metódy kĺzavých priemerov (MA – moving averages) - Marcel Kocifaj
TrueCrypt Šifrovanie diskov Vladimír Tkáč.
INCITES: Journal Citation Reports
Spatial Database Systems
Smelý Palko v Ohiu alebo pán Turing ide voliť
Open Access v H2020 Barbora Kubíková Národný kontaktný bod
Patrik Ort Acount Executive , Stredná Európa
Spatial Databases - Course Overview
ROVINNÉ (2D) SYMBOLY DWG
Časť 1 Relačná algebra Slavomír Stramba 2003.
10 NAJKRAJŠÍCH MIEST SVETA
Obrazová klasifikácia Objektovo-orientovaná klasifikácia
Je modrá veľryba najväčšia vec na svete?
Je modrá veľryba najväčšia vec na svete?
Value of SDBMS Non-spatial queries: Spatial Queries:
Spatial Databases - Course Overview
Presentation transcript:

Spatial database Jakub Michalko

Agenda Motivácia a popis priestorových databáz Dátový model priestorových databáz Operácie nad priestorovými dátami Príklady dotazov Organizácia dát

Motivácia Sledovanie pohybu objektov Zobrazenie oblastí v mapách Zobrazenie trasy, po ktorej som šiel. Zobrazenie oblastí v mapách Oblasti, ktoré boli zatopené Hľadanie najbližšieho objektu Nájdi najbližšiu čerpaciu stanicu na mojej trase Hľadanie podobností Na základe snímku pacientovej rezonancie nájdi v DB podobného pacienta.

Spatial vs. Non-spatial data „Nepriestorové“ dáta / dotazy Meno, telefónne číslo, adresa, rozmer, email Vypíš kiná, ktoré premietajú každý deň Príklad priestorových dát / dotazov Snímky zo satelitu (TB dát za deň),snímky počasia, rieky, polia, mestá Lekárske snímky 3D model proteinu Vypíš kiná v okolí piatich kilometrov

Čo je SDBMS? SDBMS (Spatial Database Management System) je softvérový modul, ktorý Pracuje zo základným DBMS Podporuje priestorové dátové modely, priestorové dátové typy (SDT - spatial data types) a dotazovací jazyk, ktorý s nimi pracuje Podporuje indexovanie priestorových dát, efektívne algoritmy pre operácie nad priestor. dátami a pravidlá pre optimalizáciu dotazov

Príklad SDBMS

GIS GIS (Geographical Information System) je softvér pre zobrazovanie a analýzu priestorových dát pomocou priestorových analytických funkcií, ako napríklad: Search – vyhľadávanie podľa podobností, alebo oblastí Location analysis – vrstvy, plochy oddelené cestami Terrain analysis – Svah, povodie, odvodňovacie siete Flow analysis – spojenie, najkratšia cesta Distribution – šírenie zmien, vzdialenosť, najbližší sused Statistics - centralita, autokorelácia, indikácia podobnosti, topológia Measurement – vzdialenosť, obvod, tvar, susednosti, smer

Existujúce implementácie Hlavné existujúce implementácie SDBMS PostGIS – PostgreSQL SQL Server 2008 - Microsoft Spatial Oracle – Oracle MySQL 5+ - Oracle(pôvodne SUN), neodporúča sa pre veľmi málo funkcií http://www.bostongis.com/PrinterFriendly.aspx?content_name=sqlserver2008r2_oracle11gr2_postgis15_compare

GIS a SDBMS

Agenda Motivácia a popis priestorových databáz Dátový model priestorových databáz Operácie nad priestorovými dátami Príklady dotazov Organizácia dát

Dátový model priestorových objektov Existujú dva pohľady na to, ako reprezentovať priestor: Objekty v priestore Mesto, cesty, križovatky... Priestor samotný Akým spôsobom ho reprezentovať tak, aby sme o každom jeho bode vedeli niečo povedať (bitmapa)

Dátový model priestorových objektov Ďalšie dátové typy: Surface – povrch. Odvodený dátový typ. Je to plocha s priradenými hodnotami v každom bode Volume – objem. 3D objekt moc nepoužíva kvôli náročnosti na výpočetný výkon

Dátový model podľa OGC Geometry – abstraktna trieda

OGC Konzorcium OGC (Open Geospatial Consortium) Medzinárodná štandardizačná organizácia Vzniku OGC predchádzal projekt OpenGIS (1994), ktorý mal za úlohu vytvoriť vytvoriť jednotné rozhranie OGIS (Open Geodata Interoperability Specification) Vznikla za účelom spolupráce na vývoji a implementácii štandardov tvorené prevažne zástupcami z komerčnej sféry http://www.opengeospatial.org/

Dátový model priestorových objektov Pre dotazy je dôležité, aby model dokázal popísať, aká je: Topológia – ktoré objekty sú susediace, ktoré objekty sa prekrývajú Sieť – popis ciest, hľadanie najkratšej cesty Orientácia – akým smerom je daný objekt (cesta) orientovaný Vzdialenosť – vychádzame z Euklidového priestoru

Agenda Motivácia a popis priestorových databáz Dátový model priestorových databáz Operácie nad priestorovými dátami Príklady dotazov Organizácia dát

Operácie nad priestorovými dátami Základné funkcie, pracujúce nad všetkými priestorovými objektami SpatialReference() - vráti základný súradnicový systém geometrie Export() - vráti geometriu v inej reprezentácii IsEmpty() - vráti TRUE ak objekt je prázdny (= NULL) IsSimple() - vráti TRUE ak je jednoduchý (sám so sebou nemá presečník) TRUE FALSE

Operácie nad priestorovými dátami Topologické funkcie / množinové operátory Equal – vráti TRUE ak sú obe geometrie zhodné Disjoint – vráti TRUE ak sa hranice a vnútro geometrie nepretínajú Intersect – vráti TRUE ak sa hranice a vnútro geometrie pretínajú Touch – vráti TRUE, ak sa pretínajú len hranice, ale nie vnútro Intersect: TRUE FALSE FALSE Touch: FALSE TRUE FALSE Disjoin: FALSE FALSE TRUE

Operácie nad priestorovými dátami Topologické funkcie / množinové operátory Cross – vráti TRUE ak výsledkom prieniku geometrií je množina bodov Within – vráti TRUE ak je celá geomatria vnútri inej a nepretína ju

Operácie nad priestorovými dátami Topologické funkcie / množinové operátory Cointains – vráti TRUE, ak geometria obsahuje inú geometriu Ovelaps – ak prienik je neprázdny, ale jedna geometria neobsahuje druhú

Operácie nad priestorovými dátami Analytické funkcie Distance – vráti najkratšiu vzdialenosť medzi geometriami Buffer – vráti geometriu, ktorej body majú vzdialenosť od vstupnej geometrie menšiu alebo rovnú vstupnej hodnote

Zhrnutie - obmedzenia Špecifikácia OGIS je obmedzená v popisovaní priestorových dát Priestorová informácia je často uvádzaná v terénnom (2D/2,5D) modely (na ktoré sa zameriava) Obmedzené operácie v SQL – len SELECT-PROJECT- JOIN GROUP BY a HAVING predstavuje problém

Agenda Motivácia a popis priestorových databáz Dátový model priestorových databáz Operácie nad priestorovými dátami Príklady dotazov Organizácia dát

Dotazy-príklady CREATE TABLE Country( CREATE TABLE River( Name varchar(30), Cont varchar(30), Pop integer, GDP Number, Shape Polygon); CREATE TABLE River( Name varchar(30), Origin varchar(30), Length Number, Shape LineString); CREATE TABLE City( Name varchar(30), Country varchar(30), Pop integer, IsCapital boolean, Shape Point);

Dotazy-príklady Nájdi mená všetkých štátov, ktoré susedia s USA v tabuľke Country. SELECT C1.Name as neighbour FROM Country C1, Country C2 WHERE Touch(C1.Shape,C2.Shape)=TRUE AND C2.Name='USA'

Dotazy-príklady Ktoré mesto v tabuľke City je najbližšie ku akejkoľvek rieke? SELECT C1.Name, R1.Name FROM City C1, River R1 WHERE Distance(C1.Shape,R1.Shape) <= (SELECT min(Distance(C2.Shape,R2.Shape)) FROM City C2, River R2 )

Dotazy-príklady Nájdi všetky mestá do vzdialenosti 300 Km od rieky Mississippi. SELECT C.Name FROM City C, River R WHERE Overlaps(C.Shape,Buffer(R.shape,300))=TRUE AND R.Name='Mississippi'

Dotazy-príklady Vráť mená, populáciu a veľkosť plochy všetkých krajín. Pre výpočet veľkosti plochy sa používa funkcia Area, ktorá ma vstupný parameter Polygon a vracia číslo – obsah polygónu. Area môže brať pri výpočte plochy do úvahy či mapa je „nakreslená“ na guľu SELECT C.Name, C.pop, Area(C.Shape) as „Area“ FROM Country C

Dotazy-príklady Pre každú rieku a každú krajinu vráť dĺžku rieky v danej krajine, ktorou prechádza. Podobne ako Area sa v tomto prípade použije funkcia Length, ktorá vráti dĺžku krivky SELECT R.Name,C.name,Length(Intersection(R.Shape,C.Shape)) FROM River R, Country C WHERE Cross(R.Shape,C.Shape)=TRUE

Dotazy-príklady Vráť HDP krajín(GDP) a vzdialenosť ich hlavných miest od rovníka. SELECT Co.GDP, Distance(Point(0,Ci.y),Ci.Shape) as „Distance“ FROM Country Co, City Ci WHERE Co.Name=Ci.Country AND Ci.IsCapital=TRUE

Dotazy-príklady Vráť mená krajín, ktoré majú len jedného suseda. Krajiny sa pokladajú za susedné, ak majú spoločnú hranicu na zemi (Island napríklad nemá suseda). SELECT Co.Name FROM Coungtry Co, Country Co1 WHERE Touch(Co.Shape,Co1.Shape)=TRUE GROUP BY Co.Name HAVING Count(Co1.Name)=1

Agenda Motivácia a popis priestorových databáz Dátový model priestorových databáz Operácie nad priestorovými dátami Príklady dotazov Organizácia dát

Spracovanie dotazu - Úvod Dotaz možno rozdeliť na dva typy: Single-scan – jednoduchý dotaz, kde ku každému záznamu v tabuľke sa pristupuje najviac jeden krát Multi-scan – (dotaz cez viac tabuliek) kde k záznamom sa môže pristupovať viac krát, v najhoršom prípad za každým, keď kontrolujeme podmienku, ktorú má spĺňať. Typicky JOIN. Problém JOIN musí existovať aj pre priestorové dáta Ako by mal JOIN pracovať, aby bol efektívny

Spracovanie dotazu Stratégia (výber objektov z dotazovanej oblasti): Vyber obdĺžniky, ktoré obsahujú objekty, z daného regiónu Prefiltruj ich, či skutočne sú v danom regióne

Organizácia dát v SDBMS Rekapitulácia: GIS – pracuje s hlavnou pamäťou SDBMS – pracuje so sekundárnou pamäťou Problémy SDBMS: Väčšinou veľký objem dát v SDBMS Rýchly prístup k záznamom Rýchle prevádzanie operácií HW obmedzenia (CPU, veľkosť primárnej pamäte) Dáta sú viacrozmerné

Organizácia dát v SDBMS Dva spôsoby, ktorými sa rieši organizácia dát na disku Pomocou plochu-vyplňujúcich kriviek – celý priestor je rozdelený do rovnako veľkých oblastí (2D/3D mapa) Indexáciou – rôzne typy R-stromov

Krivky vyplňujúce plochu Problémy: Usporiadanie na priestorových dátach nie je prirodzene dané Veľa efektívnych vyhľadávaní je založené práve na usporiadaných dátach Krivky vyplňujúce plochu Zavádzajú usporiadanie oblastí vo viacrozmernom priestore Umožňujú použitie zaužívaných efektívnych vyhľadávaní (vo viac-rozmernom priestore) Najbežnejšie sú Hilbertova a Mortonova Z-krivka

Z-krivka Mortonov rozklad, alebo tiež Z-krivka (podľa tvaru rozkladu). Popísaná v roku 1966 zamestnancom IBM. Poradie, akým jednotlivé plochy usporiadava: 1 2 5 6 3 4 7 8 9 10 13 14 11 12 15 16 1 2 3 4 Poradie pre plochu 2x2 Poradie pre plochu 4x4

Hilbertova krivka Hilbertova krivka sa používa ako alternatíva k Z-krivke, lebo lepšie popisuje susedné plochy Poradie, akým jednotlivé plochy usporiadava: 1 2 15 16 4 3 14 13 5 8 9 12 6 7 10 11 1 4 2 3 Poradie pre plochu 2x2 Poradie pre plochu 4x4 krivka nesie meno po Davidovi Hilbertovy, ktorý ju v 1891 popísal v 2D verzii 2D 3D

Indexácia pomocou R-stromov Hlavná myšlienka: Použiť hierarchickú kolekciu obdĺžnikov pre organizáciu priestorových dát Zovšeobecniť B-strom pre priestorové dáta Kritériá rozdelenia členov rodiny R-stromov Obsluha veľkých priestorových objektov Možnosť prekývania sa obdĺžnikov Duplikácia objektov, ale obdĺžniky musia byť disjunknté Výber obdĺžnikov pre vnútorne uzly Hladujúci algoritmus: R-strom, R+strom Algoritmus pre minimálne prekrývanie sa: packed R-tree

R+strom Vlastnosti Vyváženosť Vnútorné uzly sú obdĺžniky Detské obdĺžniky sú vnútri rodičovských Obdĺžnky sú disjunktné Listy sa prekrývajú s rodičovskými obdĺžnikmi (môžu trčať mimo) Objekt sa môže vyskytovať vo viacerých uzloch Vyhľadávanie rovnaké ako v R- strome

Literatúra Spatial databases - A tour, Shashi Shekar, Sanjay Chawla Spatial databases Tips and Tricks, OpenGeo, http://workshops.opengeo.org/postgis-spatialdbtips Spatial databases – Technologies, Techniques and Trends, Yannis Manolopuolos, Apostols N. Papadopulos & Michael Gr. Vassilakopoulos PostGIS - http://postgis.refractions.net/docs