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

Podobné dokumenty
GIS Geografické informační systémy

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

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

GIS Geografické informační systémy

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

GIS Geografické informační systémy

GIS Geografické informační systémy

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

GEOGRAFICKÉ INFORMAČNÍ SYSTÉMY 10

PostGIS. Luboš Hejduk, Petr Sedlář 2007

Databázové systémy. Cvičení 6: SQL

Algoritmizace prostorových úloh

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

xrays optimalizační nástroj

Operátory ROLLUP a CUBE

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

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

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

Primární klíč (Primary Key - PK) Je právě jedna množina atributů patřící jednomu z kandidátů primárního klíče.

Obsah. Kapitola 1. Kapitola 2. Kapitola 3. Kapitola 4. Úvod 11. Stručný úvod do relačních databází 13. Platforma 10g 23

Strategie ochrany před negativními dopady povodní a erozními jevy přírodě blízkými opatřeními v České republice

Úvod do databázových systémů

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

Digitální kartografie 8

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

Použití dynamických parametrů prostředí SET_ENV_ v MarushkaDesignu

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

Digitální mapa veřejné správy Plzeňského kraje - část II.

Úvod do databází. Modelování v řízení. Ing. Petr Kalčev

Informační systémy 2008/2009. Radim Farana. Obsah. Obsah předmětu. Požadavky kreditového systému. Relační datový model, Architektury databází

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

Projekt. Sestavení projektu

Možnosti tisku v MarushkaDesignu

Inovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh. Ing. Hodál Jaroslav, Ph.D. VY_32_INOVACE_25 09

Geografické informační systémy p. 1

Obsah. Úvod do studia 11 Co byste měli předem znát 13. Úvod do obsluhy AutoCADu 23. Kapitola Kapitola 1 23

MBI - technologická realizace modelu

Ovládání Open Office.org Calc Ukládání dokumentu : Levým tlačítkem myši kliknete v menu na Soubor a pak na Uložit jako.

Databáze SQL SELECT. David Hoksza

9. Práce s naskenovanými mapami

GEOM LITE - MANUÁL hlavní obrazovka

SQL - trigger, Databázové modelování

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

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

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

Tiskové sestavy. Zdroj záznamu pro tiskovou sestavu. Průvodce sestavou. Použití databází

Microsoft Access. Úterý 26. února. Úterý 5. března. Typy objektů databáze: Vytvoření a návrh nové tabulky

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

Vektorové dlaždice. a jejich využití pro vizualizaci dat katastru nemovitostí. Filip Zavadil, Cleerio s.r.o

Uživatelská příručka mapový prohlížeč irso 4.0.

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

Úvod do databázových systémů

Controlweb. Úvod. Specifikace systému

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

KVALITA DAT POUŽITÁ APLIKACE. Správnost výsledku použití GIS ovlivňuje:

Úvod do programovacích jazyků (Java)

Manuál. 2D čárový rastr

Ú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.

Geoinformační technologie

Jaký je rozdíl v definicicíh VARCHAR2(20 BYTE) a VARCHAR2(20 CHAR):

Evidence a správa kanalizace v GIS Kompas 3.2

Databáze v MS ACCESS

MISYS import dat MISYS. Import dat. II/2012 Gepro, spol. s r.o. Ing. Stanislav Tomeš

Projekt: Inovace oboru Mechatronik pro Zlínský kraj Registrační číslo: CZ.1.07/1.1.08/


Prostředí Microstationu a jeho nastavení. Nastavení výkresu

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

Reporting. Ukazatele je možno definovat nad libovolnou tabulkou Helios Orange, která je zapsána v nadstavbě firmy SAPERTA v souboru tabulek:

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

Databázové systémy. Datová integrita + základy relační algebry. 4.přednáška

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

Obsah. Začínáme programovat v Ruby on Rails 9. Úvod Vítejte v Ruby 15. O autorovi 9 Poděkování 9

Uživatelská příručka. Internet Map Server verze 1.5.4

2. přednáška z předmětu GIS1 Data a datové modely

Úvod do databázových systémů 1. cvičení

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

1. Blok Bloky a hladiny Barva a typ čáry v blocích 2. Vytvoření bloku příkaz BLOK [BLOCK]

MISYS. Seznam souřadnic

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

B0M33BDT Technologie pro velká data. Supercvičení SQL, Python, Linux

Databázové systémy I

Mapový server Marushka. Technický profil

OBJECT DEFINITION LANGUAGE. Jonáš Klimeš NDBI001 Dotazovací Jazyky I 2013

SPŠS Č.Budějovice Obor Geodézie a Katastr nemovitostí KARTOGRAFIE V GIS PROJEKT TEMATICKÁ MAPA

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

Popis funkcí tlačítek jednotlivých modulů programu OGAMA

Modulární systém dalšího vzdělávání pedagogických pracovníků JmK v přírodních vědách a informatice CZ.1.07/1.3.10/

Maturitní témata Školní rok: 2015/2016

Marketingová komunikace. 2. soustředění. Mgr. Pavel Vávra Kombinované studium Skupina N9KMK1aPH/N9KMK1bPH (um1a1ph/um1b1ph)

Střední odborná škola stavební Karlovy Vary Sabinovo náměstí 16, Karlovy Vary Autor: Ing. Hana Šmídová Název materiálu:

UNIVERZITA PARDUBICE Fakulta elektrotechniky a informatiky Katedra softwarových technologií

NOVINKY V DATABÁZÍCH CEDA

Uživatelská příručka. 06/2018 Technické změny vyhrazeny.

Kurz je rozdělen do čtyř bloků, které je možné absolvovat i samostatně. Podmínkou pro vstup do kurzu je znalost problematiky kurzů předešlých.

Kritéria hodnocení praktické maturitní zkoušky z databázových systémů

Hlavní rysy produktu MapInfo Professional

MAPA OBCHODU A SLUŽEB IMPLEMENTOVANÁ DO MOBILNÍHO MAPOVÉHO KLIENTA SPINBOX ÚŘAD MĚSTSKÉ ČÁSTI PRAHA 2, NÁMĚSTÍ MÍRU 600/20, , PRAHA 2

Práce s texty, Transformace rastru, Připojení GPS

Úvod do databázových systémů

Tisk výkresu. Projekt SIPVZ 2006 Řešené příklady AutoCADu Autor: ing. Laďka Krejčí

Transkript:

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

Spatial SQL Potřeba vhodného jazyka pro kladení dotazů v prostorových databázích vedla k různým řešením tohoto problému. Při bližším zkoumání zjistíme, že při dotazování existují tři typy dotazů: prostorové dotazy (pouze prostorové vlastnosti) Vypiš města vzdálená více než 50 km od Ostravy. atributové dotazy (pouze na neprostorové vlastnosti) Kolik lidí žije v Moravskoslezském kraji? kombinované dotazy (jsou zahrnuty obě složky) Vypiš všechny typy hnojiv použité na pozemcích sousedících s pozemkovým blokem 510786. GIS 2

Spatial SQL Klasické relační dotazovací jazyky není vhodné použít není zde podpora pro prostorová data (chybí predikáty i operace). Některé GIS obsahují funkce pro nahrazení takových operací. Řešením se jeví rozšíření funkcionality SQL o práci s prostorovými daty. GIS 3

Spatial SQL požadavky M. J. Egenhofer v roce 1994 specifikoval 11 požadavků na prostorový dotazovací jazyk, které standardní dotazovací jazyky nesplňovaly Prostorový ADT (abstraktní geometrický datový typ "Spatial" s vhodnými operacemi a vztahy (aby uživatel nepotřeboval znát přesnou strukturu ukládání prostorových dat). Grafická presentace výsledku (presentace výsledku dotazu v grafické formě včetně vizualizace příslušných neprostorových dat nejpřirozenější forma k analýze prostorových dat). GIS 4

Spatial SQL požadavky Kombinování výsledku možnost kombinování výsledku dotazu s výsledky jednoho či více předchozích dotazů. Kontext pro grafickou presentaci je často nezbytné zobrazování kontextu informací, které nebyly explicitně vyžádány, ale jsou nezbytné k interpretaci výsledku dotazu v prostorovém umístění. (Příklad: hledám li v mapě Ostravu, je nutno ji mít zobrazenu s okolím, nikoli jako zobrazení tečky s nápisem Ostrava na bílé ploše). GIS 5

Spatial SQL požadavky Ověřování obsahu kontrolní mechanismus k ověření obsahu kresby zjištění, jakému dotazu odpovídá kresba kvůli kombinování výsledku. Výběr ukázáním použití výsledku předchozího dotazu ukázáním pro referenci v příštím dotazu typicky myší. Manipulace se zobrazováním rozlišení prostorových objektů a jejich částí pomocí nastavování atributu jejich grafické presentace barva, vzorek,... GIS 6

Spatial SQL požadavky Vysvětlivky popisující legenda k jednotlivým druhům zobrazovaných objektů jako na mapě. Popisky labels k jednotlivým objektům (pro pochopení kresby) a možnost vybrání objektu, které mají být popsány dotazovacím jazykem. Volba měřítka možnost volby libovolného měřítka zobrazení dotazu. Vymezení oblasti nástroje k omezení oblasti zájmu uživatele, nad kterou se bude provádět další dotaz/y. GIS 7

Spatial SQL požadavky Oddělení dotazovacích a zobrazovacích (presentačních) instrukcí. Výsledky dotazu jsou často prezentovány graficky uživatel má mít možnost upravovat parametry vizuální složky. Zabudováním takových instrukcí přímo do dotazovacího jazyka by se jazyk stal příliš složitým a obtížně použitelným. Řešení rozdělit každou instrukci do několika menších (typově různých) instrukcí. Rozlišujeme 3 typy instrukcí. GIS 8

Spatial SQL instrukce Vlastní uživatelský dotaz (user query) popis množiny dat, která se mají zobrazit. Dotazy pro rozdělení výsledku (display queries) dotazu do množin, z nichž každá bude zobrazena jiným způsobem (různé barvy apod.). Vlastní popis jak zobrazit data (display description). 3 typy instrukcí se spojí do dvou jazyků vlastního dotazovacího a presentačního. GIS 9

Spatial SQL práce s instrukcemi Uživatel nastaví parametry zobrazovacího prostředí(zobrazovací instrukce). Uživatel pokládá dotazy (výsledky se zobrazují dle předchozího nastavení, zobrazovací prostředí se nemění). Uživatel (případně) změní parametry zobrazovacího prostředí (ale zobrazovaný obsah se nezmění). GIS 10

Spatial SQL Prezentační jazyk udává, jak zobrazit výsledky dotazu ( ukaž hotely z výsledku dotazu jako hranaté čtverečky ) včetně možnosti použít výrazy podobné klasickým dotazům pro detailní popis( ukaž budovy z výsledku dotazu, přitom hospody označ červeně a obchody fialově ). Dotazovací jazyk bude sloužit jako část prezentačního jazyka. GIS 11

Spatial SQL Návrh Egenhofera z roku 1994 odstraňuje výše uvedené nedostatky konvenčních DB jazyků Pracuje s příkazy ve formátu SELECT FROM WHERE stejně jako v klasickém SQL, výsledky dotazu jsou relace. Spatial SQL neobsahuje funkcionalitu pro editování dat. GIS 12

Spatial SQL SQL je rozšířeno o prostorovou doménu. Zajišťuje se tak vysoká úroveň abstrakce prostorových dat, realizace pomocí řady prostorových operací a predikátů. Spatial atribut (prostorový atribut) atribut z domény spatial Spatial relation (prostorová relace) relace s tímto atributem GIS 13

Spatial SQL prostorové operace Jsou definovány jako funkce na prostorových objektech. Unární prostorové operátory přistupují k jedné prostorové položce prostorové relace topologické + aritmetické. Topologické unární operátory určují dimenzi, hranici a vnitřek objektu: dimension dimenze objektu (0 pro body, 1 pro přímky/úsečky atd.) boundary hranice objektu. interior celý objekt mimo svou hranici (doslovně "všechny části objektu, které nejsou v jeho hranici"). GIS 14

Spatial SQL prostorové operace Topologické operátory mají specializované varianty pro jednotlivé dimenze. Například plocha má definovány operace boundingnodes a boundingedges pro určení ohraničujících bodů / úseček. Pro 1D a 2D objekty jsou definovány boundary, boundingnodes, boundingedges, interior, interiornodes, interioredges, interiorareas. GIS 15

Spatial SQL prostorové operace Aritmetické operace unární operátory, závisí na dimenzi objektu: lenght (délka) pro 1D objekty area (plocha) pro 2D objekty volume (objem) pro 3D objekty GIS 16

Spatial SQL prostorové operace Kombinací topologických a aritmetických vlastností lze získat složitější operátory : Například: perimeter (obvod) pro mnohoúhelník, extreme coordinates (extrémní souřadnice), complement (doplněk). convex hull (konvexní obal). GIS 17

Spatial SQL prostorové operace Binární prostorové operátory počítají hodnotu ze 2 prostorových položek prostorové relace. Například: distance (vzdálenost) výsledkem je nezáporné reálné číslo, direction (směr) úhel udávající azimut. Na výsledky těchto operací je možné použít standardní agregační funkce SQL (min, avg). GIS 18

Spatial SQL prostorové operace Prostorové operátory se zapisují v prefixové notaci jako funkce. Například: distance(potok.geometry, silnice.geometry) Operátory se mohou vyskytnout v kaluzulích SELECT nebo WHERE jako část neprostorového predikátu. Používají se v dotazech na stejných místech jako agregační funkce. GIS 19

Spatial SQL prostorové predikáty Prostorové predikáty (spatial relationships) jsou relace (v matematickém smyslu) mezi dvěma prostorovými atributy. Výsledkem je Boolean hodnota. Mohou být použity jako predikáty v klauzuli WHERE. Zapisují se infixově; jsou definovány přímo nad generalizovanou doménou spatial. GIS 20

Spatial SQL prostorové predikáty Binární topologické predikáty jsou založeny na množině průniku hranic a vnitřku dvou objektů. Specifikace jsou nezávislé na dimenzi a predikáty mohou být použity na 2 objekty libovolných dimenzí: disjoint (disjunktnost objektu), meet (sousednost), overlap (překrývání), inside/contains (obsahování), covers/coveredby (překrytí), equal (totožné objekty). GIS 21

Spatial SQL prostorové predikáty GIS 22

Spatial SQL prostorové predikáty Začlenění predikátů do Spatial SQL bylo požadováno nutností zvýšit úroveň abstrakce.uživatelé se obejdou bez větších matematických znalostí. Je li použito uspořádání, pak je možné používat predikáty: left/right, north/south, over/under. GIS 23

Definice tabulek s prostorovými daty Podobné jako v klasickém SQL. Definice tabulky mesta s retězcovým atributem jmeno a prostorovým obsazenyprostor. mesto chápeme jako 2D objekt. CREATE TABLE mesta (jmeno CHAR(20) obsazenyprostor spatial_2); GIS 24

Definice tabulek s prostorovými daty Definice tabulky mesta s dvojím chápáním jeho dimenze. Prostorovým obsazenyprostor jako mnohoúhelníku, poloha jako bod. CREATE TABLE mesta (jmeno CHAR(20) obsazenyprostor spatial_2 poloha spatial_0); GIS 25

Predikát PICK výběr ukázáním Predikát PICK možnost formulovat dotazy s referencí na prostorové objekty viditelné na obrazovce. Lze jím kvalifikovat každý prostorový atribut ve WHERE klausuli. Sémantika výběru závisí na prostorové dimenzi cíle při odkazování na objekty vykreslené v 2D plánu může být cílem 0 či 1 rozměrný objekt nejblíže ukázání a nebo 2D objekt, který místo ukázání obsahuje. GIS 26

Predikát PICK výběr ukázáním Nejasnosti jsou řeseny dle toho, jaký typ objektu uživatel v dotazu používá. Jsou li 2 objekty požadovaného typu od ukázání stejně daleko (řídký případ), je uživateli nabídnut seznam možností, ze kterého může zvolit. GIS 27

Predikát PICK výběr ukázáním Například: Máme k dispozici mapu států s hranicemi a velkými městy (zde jako body). Uživatel se dotazuje na jméno města, na které kliknul. SELECT jmeno FROM mesta WHERE poloha = PICK; GIS 28

Predikát PICK výběr ukázáním V případě, že uživatel klikne na stejné místo, a zadá jiný dotaz, výsledkem je název státu. SELECT jmeno FROM staty WHERE poloha = PICK; GIS 29

GPL (Graphical presentation language) Spatial SQL obsahuje i oddělený presentační (zobrazovací) jazyk GPL pro manipulaci s grafickou presentací výsledku dotazu. Klíčovým pojmem je zde zobrazovací prostředí (graphical environment), které obsahuje nastavení způsobu, jak zobrazovat položené dotazy. V průběhu zpracovávání dotazu jsou tyto informace spojeny s uživatelským dotazem, aby podle nich mohl být vyrenderován výsledek. GIS 30

GPL (Graphical presentation language) Pokud uživatel zobrazovací prostředí nezmění pomocí GPL instrukce, každý dotaz produkuje výsledek (mapu) zobrazený stejným stylem. GPL je možno chápat jako nadmnožinu SQL. SQL dotazy jsou používány pro specifikaci, k čemu se vlastní GPL instrukce vztahuje. GIS 31

GPL (Graphical presentation language) GPL obsahuje instrukce: SET k nastavení konkrétních parametrů zobrazení CANCEL ke zrušení parametrů SHOW ukáže aktuální hodnotu daného parametru GIS 32

GPL (Graphical presentation language) GPL obsahuje modifikátory: PERMANENT příslušné SET/CANCEL se uloží pro příští práci se systémem. IMMEDIATELY podle změny se překreslí aktuální výsledek dotazu (jinak jsou parametry použity až pro další dotaz). GIS 33

GPL (Graphical presentation language) GPL obsahuje i parametry pro nastavení zobrazovacího módu (display mode), grafické prezentace(graphical presentation), měřítko (scale), výřez (window), kontext (spatial context), zjištění obsahu kresby (examination of content). GIS 34

Spatial SQL ukázka Je dána geografická databáze ČR obsahující: města (tabulka mesta), ulice (tabulka ulice), pozemky (tabulka pozemky), budovy (tabulka budovy), údaje o městské hromadné dopravě (tabulka mhd). Prostorový atribut zmíněných tabulek je vždy poloha. GIS 35

Spatial SQL příklad Zadání: zobrazit mapu Naší ulice v Ostravě, včetně všech pozemků, budov. Obytné budovy červeně, komerční budovy zeleně, hranice pozemku černou čarou, ulice širší 6m zobrazit šrafovaně. GIS 36

Spatial SQL příklad Nastavení černé barvy hranic pozemku. (GPL) SET LEGEND COLOR black FOR SELECT boundary(poloha) FROM pozemky; GIS 37

Spatial SQL příklad Obytné budovy červeně, komerční budovy zeleně. (GPL) SET LEGEND COLOR red, green FOR SELECT obytne.poloha, komercni.poloha FROM obytne budovy, komercni budovy WHERE komercni.typ="komercni" and obytne.typ="obytny"; GIS 38

Spatial SQL příklad Šrafování ulic širších než 6 m. (GPL) SET LEGEND PATTERN cross hatched FOR SELECT interior(poloha) FROM ulice WHERE sirka > 6; GIS 39

Spatial SQL příklad Nastavení výřezu jako obal všech ulic v Ostravě. (GPL) SET WINDOW SELECT poloha FROM ulice WHERE mesta.jmeno="ostrava"; GIS 40

Spatial SQL příklad Nastavení kontextu ulic pro zobrazení přilehlých pozemků a budov pro každou dotazovanou ulici a jmen ulic. (GPL) SET CONTEXT FOR ulice.poloha SELECT pozemky.poloha, budovy.poloha, ulice.jmeno FROM ulice, pozemky, budovy; GIS 41

Spatial SQL příklad Nastavení módu pro vykreslování nové mapy. (GPL) SET MODE new; Tím je ukončeno vše pro zobrazovací prostředí. Budeme pokládat konkrétní dotaz na Naši ulici. GIS 42

Spatial SQL příklad Vykresli ulici "Naši" v Ostravě. (Spatial SQL) SELECT ulice.poloha FROM ulice, mesta WHERE mesta.jmeno="ostrava" and ulice.jmeno="naše" and ulice.poloha INSIDE mesto.poloha; GIS 43

Spatial SQL příklad Nastavíme mód pro zvýraznení výsledku následujícího dotazu. (GPL) SET MODE highlight; GIS 44

Spatial SQL příklad Zvýraznění budovy na adrese "Naše 15". (Spatial SQL) SELECT budovy.poloha FROM budovy WHERE adresa="naše 15"; GIS 45

Spatial SQL Třídy prostorových datových typů GIS 46