PROSTOROVÉ DOTAZOVACÍ JAZYKY. (Maroš Kasinec, Jakub Kúdela)

Podobné dokumenty
Prostorová data v SQL

Simple Features. Úvod do problematiky, geodatabáze, OGC Simple Features. Martin Landa

Algoritmizace prostorových úloh

GIS Spatial SQL. Dotazy nad prostorovými daty 11 požadavků na prostorový dotazovací jazyk Prostorové operace Prostorové predikáty Příklad užití GIS 1

GIS Geografické informační systémy

Simple Features. Úvod do problematiky, geodatabáze, OGC Simple Features. Martin Landa

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

INOVACE BAKALÁŘSKÝCH A MAGISTERSKÝCH STUDIJNÍCH OBORŮ NA HORNICKO-GEOLOGICKÉ FAKULTĚ VYSOKÉ ŠKOLY BÁŇSKÉ - TECHNICKÉ UNIVERZITY OSTRAVA

Simple Features. Úvod do problematiky, geodatabáze, OGC Simple Features. Martin Landa

3. přednáška z předmětu GIS1 atributové a prostorové dotazy

Dotazování v relačním modelu a SQL

PostGIS. Luboš Hejduk, Petr Sedlář 2007

GEOGRAFICKÉ INFORMAČNÍ SYSTÉMY 10

GIS Geografické informační systémy

Artur Finger min

Kurz Databáze. Obsah. Dotazy. Zpracování dat. Doc. Ing. Radim Farana, CSc.

PROGRAMY PRO GIS. Formovat/formulovat problém pro aplikaci v počítači. Fungování GIS programů na základní úrovni - "uvažovat" jako počítač

Ukládání a vyhledávání XML dat

Databázové systémy úvod

ÚLOHY S POLYGONEM. Polygon řetězec úseček, poslední bod je totožný s prvním. 6 bodů: X1, Y1 až X6,Y6 Y1=X6, Y1=Y6 STANOVENÍ PLOCHY JEDNOHO POLYGONU

Databáze I. Přednáška 6

Dotazovací jazyky I. Datová krychle. Soběslav Benda

Informační systémy 2008/2009. Radim Farana. Obsah. Dotazy přes více tabulek

Tvorba nových dat. Vektor. Geodatabáze. Prezentace prostorových dat. Základní geometrické objekty Bod Linie Polygon. Vektorová

GIS Geografické informační systémy

Databáze SQL SELECT. David Hoksza

Dolování v objektových datech. Ivana Rudolfová

GIS Geografické informační systémy

Modely datové. Další úrovní je logická úroveň Databázové modely Relační, Síťový, Hierarchický. Na fyzické úrovni se jedná o množinu souborů.

Metody ukládání časoprostorových dat pro multirelační dolování

Objektově orientované databáze. Miroslav Beneš

Databázové systémy. Doc.Ing.Miloš Koch,CSc.

Operátory ROLLUP a CUBE

Jádrem systému je modul GSFrameWork, který je poskytovatelem zejména těchto služeb:

Použití databází na Webu

Milan Bořík, Vojtěch Honzík OPEN SOURCE GIS FUNKCE V PROSTŘEDÍ POSTGIS, TVORBA VLASTNÍCH FUNKCÍ A GRAFICKÝCH VÝSTUPŮ

Analýza a modelování dat 3. přednáška. Helena Palovská

Kapitola 4: SQL. Základní struktura

Stromové struktury v relační databázi

Databázové systémy I

Databázové systémy. Vilém Vychodil. V. Vychodil (KMI/DATA1, Přednáška 3) Základní relační operace Databázové systémy 1 / 37

RELAČNÍ DATABÁZOVÉ SYSTÉMY

Lubomír Dobrovolský, DOB113

GEOGRAFICKÉ INFORMAČNÍ SYSTÉMY 4

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ž?

PostGIS Topology. Topologická správa vektorových dat v geodatabázi PostGIS. Martin Landa

KIV/ZIS cvičení 5. Tomáš Potužák

MBI - technologická realizace modelu

Úrovně abstrakce reality

Úvod do GIS. Prostorová data I. část. Pouze podkladová prezentace k přednáškám, nejedná se o studijní materiál pro samostatné studium.

Informační systémy ve zdravotnictví. 8. cvičení

POSTUP PRO VYTVOŘENÍ STRUKTUR PRO UKLÁDÁNÍ RDF DAT V ORACLE

Úvod do GIS. Atributy a jejich vztah k prostoru. Pouze podkladová prezentace k přednáškám, nejedná se o studijní materiál pro samostatné studium.

Informační systémy ve zdravotnictví. 6. cvičení

8.2 Používání a tvorba databází

Úvod do GIS. Karel Jedlička. Analýza a syntéza I. Pouze podkladová prezentace k přednáškám, nejedná se o studijní materiál pro samostatné studium.

Kartografické modelování V Topologické překrytí - Overlay

6. blok část C Množinové operátory

Atributové dotazy Atributové dotazy lze uskutečnit různými způsoby. První způsob spočívá v identifikaci jednotlivého

Vzorové příklady SQL. Tabulka: Kniha CREATE TABLE kniha (id INTEGER, název VARCHAR(50), PRIMARY KEY (id))

Databázové systémy trocha teorie

2. blok část B Základní syntaxe příkazů SELECT, INSERT, UPDATE, DELETE

Rastrová reprezentace

TÉMATICKÝ OKRUH Softwarové inženýrství

Object Query Language. Daniel Fromek Miroslav Novotný

7. Geografické informační systémy.

Jazyk SQL 1. Michal Valenta. Katedra softwarového inženýrství FIT České vysoké učení technické v Praze c Michal Valenta, 2012 BI-DBS, ZS 2011/12

FAKULTA STAVEBNÍ STUDIJNÍ PROGRAM: GEODÉZIE A KARTOGRAFIE TYP PROGRAMU: MAGISTERSKÝ STUDIJNÍ OBOR: GEOMATIKA ÚVOD DO ZPRACOVÁNÍ PROSTOROVÝCH DAT

GEOGRAFICKÉ INFORMAČNÍ SYSTÉMY CVIČENÍ 2

J. Zendulka: Databázové systémy 4 Relační model dat 1

Databáze I. 1. přednáška. Helena Palovská

Geografické informační systémy ArcGIS Pavel Juška (jus011) 4. března 2010, Ostrava

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

Analýza a modelování dat. Přednáška 8

Databázové a informační systémy Jana Šarmanová

Základy databází. O autorech 17 PRVNÍ ČÁST. KAPITOLA 1 Začínáme 19

Data Cube. Luboš Kulič Tomáš Kuthan

Analýza a modelování dat. Přednáška 9

Metody tvorby ontologií a sémantický web. Martin Malčík, Rostislav Miarka

GEOGRAFICKÉ INFORMAČNÍ SYSTÉMY CVIČENÍ 10

Objektově relační databáze a ORACLE 8

WWW dotazovací služby pro prostorová data URM. Jiří Čtyroký Útvar rozvoje hl. m. Prahy

4. Relační model dat. J. Zendulka: Databázové systémy 4 Relační model dat 1

Základy informatiky. 08 Databázové systémy. Daniela Szturcová

Desktopový GIS a Grafický editor. Technický profil

Evidence a správa kanalizace v GIS Kompas 3.2

Oracle XML DB. Tomáš Nykodým

PostGIS Raster. Správa rastrových dat v geodatabázi PostGIS. Martin Landa. 155UZPD Úvod do zpracování prostorových dat, zimní semestr

DATA CUBE. Mgr. Jiří Helmich

Návrh a tvorba WWW stránek 1/14. PHP a databáze

KIG/1GIS2. Geografické informační systémy. rozsah: 2 hod přednáška, 2 hod cvičení způsob ukončení: zápočet + zkouška

7.3 Diagramy tříd - základy

Kapitola 1: Úvod. Systém pro správu databáze (Database Management Systém DBMS) Účel databázových systémů

Michal Krátký, Miroslav Beneš

Stručný obsah. část III Aktualizace dat Kapitola 10: Aktualizace databáze 257 Kapitola 11: Integrita dat 275 Kapitola 12: Zpracování transakcí 307

1. Obsah Úvod Co je to topologie a kde se ji využívá... 6

VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA HORNICKO GEOLOGICKÁ FAKULTA INSTITUT GEOINFORMATIKY. Prostorové databáze

Databáze I. Přednáška 7

Návod k použití softwaru Solar Viewer 3D

Evidence městského mobiliáře v GIS Kompas 3.2

Transkript:

PROSTOROVÉ DOTAZOVACÍ JAZYKY (Maroš Kasinec, Jakub Kúdela)

ÚVOD dotazovací jazyk hlavní prostředek interakce s databází klíčoví požadavek SŘBD (DBMS) SQL populární, komerční dotazovací jazyk pro relační SŘBD (Relational DBMS) založen na formálním dotazovacím jazyku Relační algebre snadno uživatelný, intuitivní a univerzální

MOTIVACE prostorové SŘBD (Spatial DBMS) příklad rozšiřitelného SŘBD (Extensible DBMS) pracují s prostorovými i neprostorovými daty je zapotřebí najít rozšíření SQL pro prácí s prostorovými daty

CÍLE PREZENTACE požadavky na prostorové rozšíření SQL představení OGIS pro rozšíření SQL o geoprostorové data standard: Open Geodata Interchange Standard konsorcium: Open Geospatial Consortium (OGC) založeno největšími výrobci softwaru v snahe formulovat průmyslový standard pro interoperabilitu mezi geografickými informačnými systémami pozn.: prezentace se soustředí pouze na negrafické prostorové rozšíření SQL

POŽADAVKY NA PROSTOROVÉ ROZŠÍŘENÍ SQL potřebujeme pracovat s komplexními daty mnohoúhelníky, čáry, body relační SŘBD zaměřen na práci pouze s jednoduchými datovými typy má svá omezení pro efektivní manipulování s komplexními daty řešení č.1: prostorová data uložit prostřednictvím blobů SQL neumí zpracovávat takto uložená data zpracování prostorových dat je na odpovědnosti v aplikačním kódu napsaném v hostitelském jazyce (neestetické řešení) řešení č.2: hybridní systém užívající implementaci GIS prostorové atributy jsou uloženy v souborech OS a tedy neumožňují standardní databázové služby jako dotazování, indexování a řízení souběžného přístupu

POŽADAVKY NA PROSTOROVÉ ROZŠÍŘENÍ SQL objektově-relační SŘBD (object-relational DBMS) podpora strukturovaných uživatelsky definovaných typů možnost definování typů pro práci s komplexními daty podpora v standardu SQL:1999 (SQL 3) řešení č.3: využití SQL:1999 pro práci s prostorovými daty nabízí vyšší abstrakci pro prostorové data s využitím objektověorientovaných konceptů a abstraktních datových typů (ADT) abstraktní datový typ je uživatelsky definovaný typ s asociovanými funkcemi

PŘÍKLAD ŘEŠENÍ Č.3 S VYUŽITÍM STANDARDU SQL:1999 mějme databázi pozemků uložených v řadě mnohoúhelníků užitečným ADT v našem případě by byl mnohoúhelník s asociovanou funkcí přilehlé, která by po aplikací na dva pozemky určila, zda dané pozemky sdílejí hranici datový typ mnohoúhelník je abstraktní protože koncový uživatel nepotřebuje vědět implementační detaily asociovaných funkcí koncovému uživateli vystačí znalost rozhraní, v našem případě existence funkce přilehlé a datové typy na jejím vstupu a výstupu

STANDARD OGIS PRO ROZŠÍŘENÍ SQL O GEOPROSTOROVÁ DATA standard OGIS je založen na geometrickém datovém modelu základem je třída Geometry, geometrický objekt, z níž se nedá vytvořit instance a specifikuje prostorový referenční systém aplikovatelný na všechny její podtřídy čtyři hlavní podedené podtřídy základní třídy Geometry jsou Point, Curve, Surface a GeometryCollection

STANDARD OGIS PRO ROZŠÍŘENÍ SQL O GEOPROSTOROVÁ DATA každá třída má svou množinu asociovaných funkcí, které pracují s instancemi dané třídy operace standardu OGIS je možné rozdělit do tří kategorií základní operace aplikovatelné na všechny geometrické datové typy například SpatialReference vrací systém souřadnic na kterém se daný geometrický objekt nachází příkladem běžného referenčního systému může být systém zeměpisné šířky a délky nebo univerzální transverzální Mercatorův systém souřadnic (UTM) topologické / množinové operace operace testující topologické vztahy mezi geometrickými objekty například Intersect testuje zda mají dané geometrické objekty nenulový průnik operace prostorové analýzy například Distance vrací nejkratší vzdálenost mezi dvěma objekty

STANDARD OGIS PRO ROZŠÍŘENÍ SQL O GEOPROSTOROVÁ DATA základní operace SpatialReference Envelope Export IsEmpty IsSimple Boundary vrací systém souřadnic geometrického objektu vrací minimální ortogonální ohraničující obdélník geometrického objektu k danému geometrickému objektu vrací objekt v jiné reprezentaci vrací TRUE pokud je reprezentace geometrického objektu prázdná vrací TRUE pokud je geometrický objekt bez vnitřních průsečíků vrací hranici geometrického objektu

STANDARD OGIS PRO ROZŠÍŘENÍ SQL O GEOPROSTOROVÁ DATA topologické / množinové operace Equal Disjoint Intersect Touch Cross Within Contains Overlap vrací TRUE pokud jsou hranice a vnitřky geometrických objektů shodné vrací TRUE pokud se hranice a vnitřky geometrických objektů neprotínají vrací TRUE pokud mají geometrické objekty nenulový průnik vrací TRUE pokud se hranice geometrických objektů protínají ale vnitřky ne vrací TRUE pokud povrch protíná vnitřek geometrického objektu v křivce vrací TRUE pokud se vnitřek objektu neprotíná s vnějškem jiného vrací TRUE pokud geometrický objekt obsahuje jiný objekt vrací TRUE pokud mají vnitřky geometrických objektů nenulový průnik

STANDARD OGIS PRO ROZŠÍŘENÍ SQL O GEOPROSTOROVÁ DATA operace prostorové analýzy Distance Buffer ConvexHull Intersection Union Difference SymmDiff vrací nejkratší vzdálenost mezi dvěma geometrickými objekty vrací geometrický objekt, který se skládá ze všech bodů, jejichž vzdálenost od daného objektu je menší nebo rovna specifikované hodnotě vrací nejmenší konvexní nadmnožinu ohraničující geometrický obejkt vrací geometrický průsečík dvou geometrických objektů vrací geometrické sjednocení dvou geometrických objektů vrací maximální geometrickou podmnožinu daného objektu, která neprotíná jiný geometrický objekt vrací všechny geometrické podmnožiny dvou objektů ve kterých se neprotínají

STANDARD OGIS PRO ROZŠÍŘENÍ SQL O GEOPROSTOROVÁ DATA specifikace standardu OGIS má svá omezení standard je omezen na objektový model prostoru v rámci objektového modelu je standard omezen na dotazy typu selekce, projekce a sjednocení údajně nedostatek podpory pro agregační funkce ve formě klauzulí typu GROUP BY a HAVING hlavní záměr standardu OGIS se vztahuje pouze na základní topologické a metrické prostorové vztahy, proto existuje nedostatek podpory pro celou řadu metrických operací a to hlavně pro ty, které jsou postavené na predikátu Direction (např.: severně, jižně, vlevo, vpředu)

UKÁZKA SQL DOTAZOVÁNÍ NAD STANDARDEM OGIS předpokládejme, že máme k dispozici SQL rozšířené o standard OGIS (jeho datové typy a operace), zde je databáze Svět nad kterou budeme dotazy vykonávat: CREATE TABLE Stát( Název varchar (30), Kont varchar (30), Hlav varchar (30), Obyv Integer, HDP Number, Tvar Polygon); CREATE TABLE Řeka( Název varchar (30), Pramen varchar (30), Délka Number, Tvar LineString); CREATE TABLE Město( Název varchar (30), Stát varchar (30), Obyv Integer, Tvar Point);

UKÁZKA SQL DOTAZOVÁNÍ NAD STANDARDEM OGIS dotaz č.1: najdi názvy všech států, které sousedí s USA SELECT FROM WHERE S1.Název AS "Sousedi USA" Stát S1, Stát S2 Touch(S1.Tvar, S2.Tvar) = 1 AND S2.Název = "USA" komentář: predikát Touch vrací TRUE pokud se hranice geometrických objektů protínají ale vnitřky ne hezká vlastnost topologických operací Standardu OGIS je, že operace zůstávají invariantní po mnoha geometrických transformacích volba souřadnicového systému pro databázi Svět neovlivní výsledky topologických operací

UKÁZKA SQL DOTAZOVÁNÍ NAD STANDARDEM OGIS dotaz č.2: pro všechny řeky najdi státy přes které protékají SELECT Ř.Název, S.Název FROM Řeka Ř, Stát S WHERE Cross(Ř.Tvar, S.Tvar) = 1 komentář: predikát Cross vrací TRUE pokud povrch protíná vnitřek geometrického objektu v křivce nejčastěji se používá na zkoumání průniku mezi dvojicemi geometrických objektů typu LineString a Polygon (náš případ) nebo párem objektů typu LineString

UKÁZKA SQL DOTAZOVÁNÍ NAD STANDARDEM OGIS dotaz č.3: pro každou řeku najdi město které je k ní nejblíže SELECT Ř1.Název, M1.Název FROM Řeka Ř1, Město M1 WHERE Distance(Ř1.Tvar, M1.Tvar) < ( SELECT Distance(Ř2.Tvar, M2.Tvar) FROM Řeka Ř2, Město M2 WHERE M1.Název <> M2. Název) komentář: binární operace Distance vrací nejkratší vzdálenost mezi dvěma geometrickými objekty, je definována pro libovolnou kombinaci geometrických objektů

UKÁZKA SQL DOTAZOVÁNÍ NAD STANDARDEM OGIS dotaz č.4: řeka St. Lawrence zásobuje vodou každé město, které je od ní vzdáleno nanejvýš o 300 km, která města to jsou? SELECT FROM WHERE M.Název Řeka Ř, Město M Ř.Název = "St. Lawrence" AND Overlap(M.Tvar, Buffer(Ř.Tvar, 300)) = 1 komentář: operace Buffer vrací geometrický objekt, který se skládá ze všech bodů, jejichž vzdálenost od daného objektu je menší nebo rovna specifikované hodnotě v druhém argumentu

UKÁZKA SQL DOTAZOVÁNÍ NAD STANDARDEM OGIS dotaz č.5: vypiš název a plochu každého státu SELECT FROM S.Název, Area(S.Tvar) AS "Plocha" Stát S komentář: funkce Area je aplikovatelná pouze na geometrické objekty typu Polygon nebo MultiPolygon výpočet plochy ve funkci Area závisí od souřadnicového systému databáze Svět pokud je Tvar jednotlivých položek tabulky Stát vyjádřen v zeměpisné šířce a délce a je zavolána jedna z funkcí: Area, Distance nebo Length, tak je během výpočtu provedena mezitím transformace souřadnic

UKÁZKA SQL DOTAZOVÁNÍ NAD STANDARDEM OGIS dotaz č.6: pro každý stát vypiš vzdálenost hlavního města od rovníku SELECT FROM WHERE M.Název, Distance(M.Tvar, Point(0, M.y)) Stát S, Město M S.Hlav = M.Název komentář: Point(0, M.y) reprezentuje bod na rovníku se stejnou zeměpisnou délkou jakou má město aktuálně inštanciované v M

ZÁVĚR standard OGIS doporučuje množinu operace nad priestorovýi datovými typy, které jsou považovány za důležité SQL: 1999 je standardem pro objektově-relační rozšíření SQL, není specifický ohledně GIS nebo prostorových databází, spíše se zaměřuje na obecné objektově-relační databáze, poskytuje však prostředky pro implementaci standardu OGIS

DĚKUJI ZA POZORNOST