UNIVERZITA PALACKÉHO V OLOMOUCI

Rozměr: px
Začít zobrazení ze stránky:

Download "UNIVERZITA PALACKÉHO V OLOMOUCI"

Transkript

1 UNIVERZITA PALACKÉHO V OLOMOUCI PŘÍRODOVĚDECKÁ FAKULTA KATEDRA GEOINFORMATIKY Libor KIMPL PROSTOROVÉ NADSTAVBY NEKOMERČNÍCH DATABÁZÍ VSTUP A SPRÁVA GEOOBJEKTŮ Bakalářská práce Vedoucí práce: RNDr. Vilém Pechanec, Ph.D. Olomouc 2010

2 Prohlašuji, že jsem zadanou bakalářskou práci vypracoval samostatně pod vedením RNDr. Viléma Pechance, Ph.D. Všechny použité materiály a zdroje jsou citovány s ohledem na vědeckou etiku, autorská práva a zákony na ochranu duševního vlastnictví. V Olomouci 25. května podpis

3

4

5 OBSAH 1. ÚVOD 7 2. CÍL PRÁCE 8 3. PROSTŘEDÍ A METODY ZPRACOVÁNÍ DATABÁZE Modelování aplikací Správa fyzických dat GEODATABÁZE (PROSTOROVÁ DATABÁZE) PostgreSQL MySQL SQLite PROSTOROVÁ NADSTAVBA DATABÁZE PostGIS MyGIS SpatiaLite JanGeoDB DALŠÍ SOFTWAROVÁ ŘEŠENÍ Janitor QuantumGIS (QGIS) FWTools Shell OpenEV GDAL OGR shp2pgsql ULOŽENÍ DAT V GEODATABÁZI Well-known text (WKT) Well-known binary (WKB) JAZYK SQL Spatial SQL (Prostorové SQL) VSTUP A SPRÁVA GEOOBJEKTŮ Vytvoření databáze (CREATE DATABASE) Vytvoření tabulky (CREATE TABLE) 40

6 4.3 Vložení záznamů (INSERT) Odstranění záznamů (DELETE) Změna obsahu záznamů (UPDATE) Dotazování (SELECT) DISKUZE ZÁVĚR SEZNAM POUŽITÉ LITERATURY SUMMARY 66 PŘÍLOHY

7 1. ÚVOD Pojem databáze dnes není zcela jistě nikomu cizí. Lidé mají potřebu evidovat a shromažďovat informace už odpradávna. Celá dnešní moderní společnost je postavena na databázových systémech od evidence občanů, přes zdravotnictví, hospodářství, školství až po letectví, výzkum nebo síť mobilních telefonů [24]. V současné době směřuje vývoj geografických informačních systémů do stavu, kdy je snaha ukládat do databází společně jak atributová tak geometrická data. GIS nejsou jediné aplikace, které využívají prostorové objekty. Při počítačovém konstruování strojů, stavebních objektů či elektronických obvodů jsou také vytvářeny prostorové objekty [1]. Tato bakalářská práce se věnuje rozšíření databází o prostorové nadstavby. Seznámí nejen se základními pojmy z oblasti databází, ale i s konkrétními vlastnostmi a použitím prostorových databází, seznámí s dialektem jazyka SQL jako nástroje pro vytvoření prostorové databáze a manipulaci s geodaty. Jazyk SQL je standardním nástrojem, ze kterého většina dnes používaných databázových systémů vychází a v různé míře tyto systémy tento standard dodržují. 7

8 2. CÍL PRÁCE Cílem bakalářské práce je popsat a porovnat stávající prostorové rozšíření nekomerčních databází s přímým využitím v GIS. Zjištěné poznatky budou zpřístupněny pomocí DocBooku. V teoretické části práce vznikne přehled o stávajících (výrazných) řešeních prostorových nadstaveb PostGIS, MyGIS, JanGeoDB, Spatial for SQLite. Budou popsány existující nadstavby na úrovni přehledu podporovaných datových typů, přehledu operací pro vstup a správu geodat, dostupnosti a závislosti rozšíření a základní schéma datového modelu. V praktické části bude provedeno testování tzn. vstup základních datových typů do databáze a základní manipulace s nimi (INSERT, UPDATE geometrické složky i atributové, DELETE) v prostředí PostGIS, MyGIS, JanGeoDB, SpatialSQLite. Operace budou prováděny jak z konzolce pomocí jazyka SQL, tak z libovolné desktop aplikace. Všechny kroky budou podrobně zdokumentovány. Praktická část bude doplněna o srovnání rychlosti a kvality operace. 8

9 3. PROSTŘEDÍ A METODY ZPRACOVÁNÍ Existuje celá řada databázových systémů, produktů a nadstaveb, které se využívají pro potřeby geografických informačních systémů. 3.1 DATABÁZE Databáze je velkou sbírkou propojených dat uložených v počítačovém prostředí. V těchto prostředích jsou data perzistentní, což znamená, že přežijí neočekávané softwarové nebo hardwarové problémy (s výjimkou závažných případů selhání disku). K tradičnímu využití databází patří personální řízení, akcie, cestovní rezervace a bankovnictví. V případě relačních databázových systémů se databáze skládá z několika tabulek a jejich vzájemných vztahů, které jsou nazývány dle autora relačního modelu E. F. Codda relace [2]. Každá tabulka se skládá z jednotlivých řádků, které se označují jako záznam (record). Struktura záznamu je dána definicí tabulky. Pokud se například bude jednat o tabulku s adresami, pak budou jednotlivá pole (fields) záznamu obsahovat jméno, příjmení, ulici atd. Pro každé pole je přesně zadáno, jak má vypadat jeho obsah (například různé formáty čísel nebo řetězec o maximálním počtu znaků). Namísto o záznamech obsahujících jednotlivá pole se často hovoří pouze o řádcích (rows) či sloupcích (columns). Významově znamenají všechny tyto výrazy totéž. Databáze může být viděna jako jeden nebo více souborů uložených na nějakém vnějším paměťovém zařízení, jako je například disk. Ačkoliv by bylo možné psát aplikace, které mají přímý přístup k těmto souborům, stavba aplikací vyvolává řadu problémů, které se týkají bezpečnosti, souběžnosti a složitosti manipulace s daty [4]. DBMS (DataBase Management System) je kolekce programů, které řídí strukturu databáze a kontroluje přístup k datům uloženým v databázi. Obecně řečeno, DBMS usnadňuje proces: Definování databáze, která je popsána datovými typy, strukturami a omezeními, které mají být vzaty v úvahu. Budování databáze; tj. ukládání dat do trvalého úložiště. Manipulace s databází. Dotazování na databázi pro získání specifických údajů. Aktualizace databáze (změny hodnot). 9

10 Uložená data Obr. 1: Zjednodušené prostředí databázového systému [4] Na obrázku č.1 výše je znázorněno zjednodušené prostředí databázového systému. Ukazuje, jak DBMS působí jako prostředník mezi uživateli, aplikačními programy a zařízeními, kde jsou data uložena. DBMS software se skládá ze dvou částí. Horní část zpracovává dotazy (queries) uživatele. Výsledkem dotazu je tabulka, která je však uložena pouze v operační paměti počítače (RAM) [2]. Spodní část umožňuje přístup k vlastním údajům a metadatům potřebným k pochopení definice a struktury databáze. DBMS závisí na základním pojetí datové nezávislosti. Uživatelé komunikují s reprezentací dat nezávisle na konkrétním fyzickém skladování a DBMS má na starosti překládání uživatelských manipulací s ohledem na efektivní provoz fyzických datových struktur [4]. Tohoto mechanismu je možné dosáhnout pomocí různých úrovní abstrakce. Je obvyklé rozlišovat tři úrovně v databázovém prostředí: 1. Fyzická úroveň se zabývá strukturami skladování, 2. Logická úroveň definuje reprezentaci dat navržených pro uživatele a 3. Vnější úroveň odpovídá za částečný pohled do databáze pomocí konkrétní aplikace. Rozdíl mezi fyzickými a logickými reprezentacemi je stěžejní oblastí databáze. Jasně odděluje úkoly věnované systému zjednodušené reprezentace a funkčním manipulacím nabízeným uživateli. Dokáže se tedy soustředit především na odpovídající modelování a provádění aplikace. 10

11 3.1.1 Modelování aplikací Na logické úrovni je prvním úkolem definovat databázové schéma, které popisuje strukturu spravovaných informací řízených aplikacemi stejně jako omezení, která je třeba respektovat [4]. Jakmile je schéma definováno, mohou být data vkládána, aktualizována, vymazávána a dotazována pomocí dotazovacího jazyka. Zejména struktury, omezení a provoz zajišťuje DBMS závislý na logickém datovém modelu podporovaném DBMS. V současné době je nejrozšířenější relační datový model. Níže je uveden příklad vývoje aplikace s relačními databázemi. REPREZENTACE DAT V RELAČNÍ DATABÁZI V relačním prostředí je reprezentace dat poměrně jednoduchá. Opírá se o jediný typ struktury, tabulky nebo relace [4]. Například reprezentace názvu, hlavního města a počtu obyvatel kolekce zemí obsahuje jeden řádek na zemi a jeden sloupec nebo atribut na vlastnost zastoupenou v každé zemi (konkrétně její název, hlavní město a počet obyvatel). Navrhnutí relačního schématu obvykle zabere dva kroky. Koncepční modelování (krok 1.). Tento krok je nezávislý na případné realizaci. Dovoluje obecně popsat objekty zájmu (entity) spolu se vztahy mezi nimi. Entity jsou příklady typů entit a vztahy jsou příklady typů vztahů. Například ve větě "Paříž je hlavní město Francie", Paříž (Francie) je entita, která patří k typu entity s názvem města (respektive země), a "je hlavní město" je typ vztahu. Skutečnost, že město Paříž je hlavním městem Francie je vztah, který je zvláštní případ předchozího typu vztahu. Vztahy mezi entitami mohou být obecné, jako je kompozice, agregace nebo dědictví. Jiné vztahy se vztahují na konkrétní situace (např. "silnice spojující města"). Entity a vztahy jsou obvykle graficky zobrazeny v diagramu jako entita-vztah (ER), UML (Unified Modeling Language) nebo OMT (Object Modeling Techniques) diagramy. Jakmile je takové schéma navrženo, získá se koncepční schéma. Logická úroveň (krok 2.). V této fázi je koncepční schéma přeloženo do datového modelu konkrétní DBMS. V kontextu relační databáze, následuje několik jednoduchých pravidel transformace a popisuje relační schéma pomocí Data Definition Language (DDL). 11

12 Obr. 2: Postup a realizace datového modelování [1] MANIPULACE S DATY V prostředí DBMS, se manipulace s daty děje prostřednictvím vyjádření dotazů a jiných operací (aktualizace, vložení, atd.) v jazyce pro manipulaci s daty (DML). Jedním z důvodů úspěchu relační DBMS je existence dotazovacího jazyka SQL, jednotně používaného ve všech relačních systémech [4]. SQL má základní vlastnosti, které stojí za zmínku. 1) SQL je deklarativní, což znamená, že uživatel vyjádří, co očekává jako výsledek. Jazyk je jednoduchý, a je přístupný i pro neodborné uživatele. Tento systém také dává svobodu (a odpovědnost) zvolit vhodné provedení. 2) SQL se opírá o řádné matematické základy. Soubor údajů manipulace vyjádřený prostřednictvím jazyka je přesně vymezen dvěma ekvivalenty, formálními jazyky, a sice relačním kalkulem a relační algebrou. První z nich je v podstatě první logický příkaz. Druhým je malý soubor operátorů, které popisují, jak lze manipulovat vztahy k vyhodnocení dotazu. 12

13 Nicméně, existuje protějšek k jednoduchosti SQL. Expresivní síla SQL není dostatečná, neboť neodpovídá kompletním programovacím jazykům jako C [4]. Například nelze vyjádřit rekurze (opakování činnosti) a ani aritmetické výpočty. I když je to cena, která má být zaplacena za jednoduchost a efektivnost, přináší silná omezení, pokud jde o výpočty potřebné pro manipulaci s prostorovými objekty Správa fyzických dat Jakýkoli DBMS nakládá na fyzické úrovni s těmito úkoly. Všechny tyto funkce jsou skryty pro koncového uživatele. Úložiště. DBMS spravuje efektivnější organizaci dat na trvalé vedlejší paměťové jednotce (obvykle jeden či více disků). Reprezentace na této úrovni může být zcela jiná, než je ukázáno uživateli v závislosti na logickém datovém modelu. Např. tabulka může být uložena v několika souborech, případně rozdělena na více disků. Přístupové cesty. DBMS poskytuje metody pro přístup k datům nebo přístupové cesty, které urychlí vyhledávání dat. Typická struktura dat nebo index, který urychluje vyhledávání dat, je B-tree. Zpracování dotazu. Zpracování (hodnocení) dotazu obvykle zahrnuje několik operací. Pro efektivní zhodnocení dotazu musí být tyto činnosti vhodně kombinovány. Důležitým předmětem dotazu je zpracování návrhu efektivního propojení algoritmů. Optimalizace dotazu. Protože uživatelský dotaz je čistě deklarativní (alespoň s SQL), je odpovědností systému najít přijatelně efektivní způsob, jak zhodnotit dotaz. Souběžnost a obnova. DBMS spravuje souběžný přístup k datům a zdroje několika uživatelů a zaručuje bezpečnost a konzistenci databáze, jakož i obnovení databáze do konzistentního stavu po selhání systému. Mnohé z těchto funkcí (s výjimkou kontroly souběžnosti a obnovy) jsou určeny k efektivnímu vyhodnocování dotazů [4]. Výše uvedené úkoly, musí být řešeny v prostorových databázích. Nicméně, s prostorovými daty mnoho z těchto úkolů vyžaduje specifické řešení. Zejména relační datový model ukazuje, že je příliš chudý, aby zastupoval a manipuloval s geometrickými daty. Tím vzniká několik zajímavých problémů týkajících se rozšíření stávajících logických datových modelů a vývoje nových technik zpracování dotazu. 13

14 3.2 GEODATABÁZE (PROSTOROVÁ DATABÁZE) Geodatabáze je databáze navržená pro ukládání, dotazování a manipulaci s geografickou informací a prostorovými daty. Je také známá jako prostorová databáze. V rámci prostorové databáze je s prostorovými daty zacházeno jako s jakýmkoli jiným typem dat. Vektorová data mohou být uložena jako bod, linie nebo polygon datové typy a mohou mít související souřadnicový systém. Záznam geodatabáze může používat datový typ geometrie pro reprezentaci umístění objektu ve fyzickém světě a další standardní databázové datové typy pro uložení atributů objektu. Některé geodatabáze mohou obsahovat podporu také pro ukládání rastrových dat. Mnoho geodatabází má vlastní funkce, které umožňují manipulovat a dotazovat se na prostorová data pomocí SQL, například najít všechny obyvatele oblasti v rámci expozice zóny pro potenciální ohrožení životního prostředí. Nicméně k prostorovým datům v některých geodatabázích lze přistupovat pouze pomocí speciálního klientského softwaru. V rámci geografického informačního systému (GIS) je prostorová databáze jednou ze součástí, které lze použít pro ukládání a manipulaci s daty. Kompletní systém pak zahrnuje také klientský software pro zobrazení a editaci dat uložených v databázi [11] PostgreSQL PostgreSQL je objektově-relační databázový systém s otevřeným zdrojovým kódem, vyvinutý na University of California v Berkeley Computer Science Department. Má za sebou více než patnáct let aktivního vývoje a má vynikající pověst pro svou spolehlivost a bezpečnost [19]. Běží nativně na všech rozšířených operačních systémech včetně Linuxu, UNIX (AIX, BSD, HP-UX, SGI-IRIX, Mac OS X, Solaris, Tru64) a Windows. Stoprocentně splňuje podmínky ACID (soubor vlastností zaručujících spolehlivé zpracování databázových transakcí), plně podporuje cizí klíče, operace JOIN, pohledy, spouštěče a uložené procedury. Obsahuje většinu SQL92 a SQL99 datových typů, např. INTEGER, NUMERIC, BOOLEAN, CHAR, VARCHAR, DATE, INTERVAL a TIMESTAMP. Rovněž podporuje ukládání binárních velkých objektů, včetně obrázků, zvuků nebo videa. Má nativní programovací rozhraní pro C / C++, Java,.Net, Perl, Python, Ruby, Tcl, ODBC a další. Výkonnostně nezaostává za srovnatelnými komerčními systémy a častokrát je i předčí. PostgreSQL podporuje složené, jedinečné, částečné a funkční indexy, které může použít některá z jeho B-tree, R-tree, hash, nebo GiST skladovacích metod. 14

15 GiST (Generalized Search Tree) indexování je moderní systém, který sdružuje široké spektrum různých třídících a vyhledávacích algoritmů včetně B-tree, B +-tree, R-tree, partial sum tree, ranked B +-tree a mnoho dalších. To také poskytuje rozhraní, které umožňuje jak tvorbu vlastních datových typů, stejně jako rozšiřitelných dotazovacích metod, s jejíž pomocí lze prohledávat. Tak, GiST nabízí flexibilitu ke specifikování toho, co je uloženo, jak je to uloženo, a schopnost definovat nové způsoby, jak hledat přes to --- způsoby, které jsou daleko větší než nabízí standardní B-tree, R-tree a další obecné hledací algoritmy. Obr. 3: Logo databázového systému PostgreSQL [19] PostgreSQL je šířen pod licencí The PostgreSQL License (TPL), která je nejliberálnější ze všech Open Source licencí. Tato licence umožňuje neomezené bezplatné používání, modifikaci a distribuci PostgreSQL, a to ať pro komerční nebo nekomerční využití. PostgreSQL můžete šířit se zdrojovými kódy nebo bez nich, zdarma nebo komerčně. Předností systému PostgreSQL je rozšiřitelnost. Systém může být bezproblémově rozšiřován o nové datové typy, funkce, operátory, agregační funkce, procedurální jazyky. Díky tomu mohly vzniknout následující rozšíření: PostGIS - podpora pro geografické informační systémy, Slony-I - master to multiple slaves replikace. Za vývojem PostgreSQL stojí skupina nezávislých vývojářů a uživatelů navzájem komunikujících prostřednictvím internetu. Tento projekt není řízen žádnou obchodní organizací [27]. pgadminiii pgadminiii je populární a nejlépe vybavená administrační a vývojářská Open Source platforma pro PostgreSQL. Aplikaci lze používat pod Linuxem, FreeBSD, Solaris, Mac OS X a Windows systémy ke správě PostgreSQL 7.3 a novějšího. pgadmin je navržený tak, aby uměl vyhovět na potřeby všech uživatelů, od psaní jednoduchých dotazů SQL až po vývoj komplexních databází. Grafické rozhraní podporuje všechny funkce PostgreSQL a činní administraci snadnou. Aplikace rovněž obsahuje editor SQL se zvýrazňováním syntaxe, editor kódu serverové strany, agenta pro plánování úkolů, podporu pro replikační systém Slony-I a další. Připojení k serveru může probíhat přes TCP/IP 15

16 nebo Unixové sokety (na *nixových platformách) a může být kvůli bezpečnosti šifrované SSL. Pro komunikaci s databázovým serverem nejsou potřeba žádné přídavné ovladače. pgadmin je vyvíjen komunitou expertů na PostgreSQL z celého světa a je dostupný ve více jak tuctu jazyků. Jedná se o svobodný software vydaný pod licencí BSD [20]. Obr. 4: Logo administračního programu databázového systému PostgreSQL [20] MySQL MySQL je nejpopulárnější open source SQL databázový systém, vytvořený švédskou firmou MySQL AB, nyní vlastněný společností Sun Microsystems, dceřinou společností Oracle Corporation. Jeho hlavními autory jsou Michael Monty Widenius a David Axmark [15]. Je považován za úspěšného průkopníka dvojího licencování je k dispozici jak pod bezplatnou licencí GPL, tak pod komerční placenou licencí. Obr. 5: Příkazový řádek MySQL MySQL je multiplatformní databáze. Komunikace s ní probíhá, jak už název napovídá, pomocí jazyka SQL. Podobně jako u ostatních SQL databází se jedná o dialekt tohoto jazyka s některými rozšířeními. Pro svou snadnou implementovatelnost (lze jej instalovat na Linux, MS Windows, ale i další operační systémy), výkon a především díky tomu, že se jedná 16

17 o volně šiřitelný software, má vysoký podíl na v současné době používaných databázích. Velmi oblíbená a často nasazovaná je kombinace MySQL, PHP a Apache jako základní software webového serveru ( technologie LAMP ) [15]. MySQL bylo od počátku optimalizováno především na rychlost, a to i za cenu některých zjednodušení: má jen jednoduché způsoby zálohování a až donedávna nepodporovalo pohledy, triggery a uložené procedury. Tyto vlastnosti jsou doplňovány teprve v posledních letech, kdy začaly nejčastějším uživatelům produktu, programátorům webových stránek, již poněkud scházet. Obr. 6: Logo databázového systému MySQL [15] MySQL Administrator MySQL Administrator je všestranný nástroj, který pomáhá při vyřizování nejrůznějších operací při správě serveru MySQL [2]. Dokáže například provádět následující operace: Spuštění a zastavení serveru Konfigurace serveru Zjišťování aktuálního stavu serveru Spuštění správy uživatelů (Správa přístupových práv) Prohlížení souborů protokolů Zálohování a obnovení databáze ze zálohy Vytvoření a správa databází Ovládání programu není nijak složité, přesto předpokládá alespoň základní znalosti správy MySQL. Program MySQL Administrator používá řada vývojářů v jazyce PHP pouze k vytvoření a správě databáze či tabulek. Databáze program označuje slovem Schemas. MySQL Query Browser MySQL Query Browser pomáhá při používání příkazů jazyka SQL a u verze MySQL 5.0 a vyšší také při vývoji a testování uložených procedur (stored procedures) [2]. Výsledky příkazů jazyka SQL se zobrazují v tabulkách. U jednoduchých dotazů (např. SELECT * 17

18 FROM tabulka) lze měnit jednotlivé záznamy přímo v tabulce, popřípadě do tabulky přidávat nové záznamy. MySQL Query Browser je do značné míry výsledkem zpětné vazby získané od mnoha uživatelů po dobu několika let [2] SQLite SQLite je relační databázový systém obsažený v relativně malé knihovně napsané v C. Je vyvíjen D. Richardem Hippem a šířen pod licencí public domain. Na rozdíl od databází založených na principu klient-server, kde je databázový server spuštěn jako samostatný proces, je SQLite pouze malá knihovna, která se přilinkuje k aplikaci a pomocí jednoduchého rozhraní ji lze začít využívat. Každá databáze je uložena v samostatném souboru.dbm (Database Manager), kde se data ukládají za použití jednoduchého primárního klíče do stejně velkých bloků a používá hašovacích technik pro rychlý přístup k datům při vyhledávání podle klíče [25]. V SQLite je implementován téměř celý standard SQL92. Databázi SQLite lze použít například v programovacích jazycích C, C++, Delphi, Java, Lua, PHP, Python, Perl, Ruby, Tcl. Předkompilované binární kódy jsou k dispozici pro Linux, Mac OS X a Windows. Obr. 7: Logo databázového systému SQLite [26] 3.3 PROSTOROVÁ NADSTAVBA DATABÁZE Rozšíření standardních databází o možnosti nativního ukládání geometrických vlastností objektů a aktivní práci s nimi PostGIS PostGIS je open source software, který přidává podporu pro geografické objekty objektově - relačnímu databázovému systému PostgreSQL. PostGIS implementuje specifikaci "Simple Features for SQL" (standard, který specifikuje uložení geografických dat v digitální podobě) konsorcia Open Geospatial Consortium (OGC - mezinárodní standardizační organizace založené na dobrovolné shodě). První verze byla vydána v roce 2001 společností 18

19 Refractions Research pod licencí GNU General Public Licence z [18]. Dostupný Obr. 8: Logo prostorové nadstavby PostGIS [22] MyGIS MySQL realizuje prostorové rozšíření specifikace Open Geospatial Consortium (OGC). Podporuje prostorové rozšíření umožňující vznik, skladování a analýzu geografických vlastností. Do verze MySQL jsou tyto funkce dostupné jen pro tabulky MyISAM. Verze MySQL podporuje už také InnoDB, NDB, BDB a ARCHIVE pro prostorové funkce. MySQL podporuje formáty WKT a WKB. Well-known text (WKT) formát geometrie je určen pro výměnu dat geometrie ve formě ASCII. WKB se používá k výměně dat geometrie jako binární proudy zastoupené BLOB hodnotami, které obsahují geometrické WKB informace. Podrobná dokumentace je dostupná na SpatiaLite Prostorové rozšíření SpatiaLite umožňuje ukládat v databázi SQLite geoprostorová data - podobně jako např. PostGIS pro databázový systém PostgreSQL [12]. Je vyvíjen a udržován Alessandrem Furierim. SpatiaLite podědilo po svém rodiči veškeré dobré vlastnosti: jednoduchost, robustnost, veškerá data jsou ukládána do jednoho souboru, nezávislost na platformě. SpatiaLite v současnosti podporuje formáty WKT a WKB. Implementovány jsou také některé SQL prostorové funkce jako AsText(), GeomFromText(), Area(), PointN() a podobně. Dokumentace a instalační soubory jsou dostupné na 19

20 Obr. 9: Logo prostorové nadstavby SpatiaLite [12] JanGeoDB JanGeoDB je určena k uložení vektorové reprezentace geodat. Jedná se o nativní geodatabází systému Janitor. Janitor pracuje s různými formáty dat. Každý z nich má svá omezení nebo není zcela otevřený. Bylo proto přikročeno k vytvoření vlastní geodatabáze Janitoru - jangeodatabáze (zkráceně JanGeoDB) [5]. Relační model JanGeoDB byl vytvořen na základě zkušeností. Základní požadavky na JanGeoDB: Ukládat jednotlivé objekty jako tvary - tj. body, linie a polygony. Tvary sdružovat do vrstev. Tvar nemusí být v žádné vrstvě, ale může být také ve více vrstvách. Vrstva má atributovou tabulku s tématickými informacemi o tvarech, které obsahuje. Geometrická informace o tvaruje je v určité projekci. Tvary v jedné vrstvě musí mít stejnou projekci. Projekce je definovaná pro nějaké území. 20

21 Obr. 10: Ukázka relačního datového modelu JanGeoDB [5] VOLBA DBMS A SPECIFIKACE DATOVÝCH TYPŮ Pro volbu DBMS byly stanoveny tyto požadavky: - jednoduchost, aby jeho použití neodrazovalo potenciální uživatele, kteří nemusí být právě počítačovými experty, - rozšířenost, aby měl dobrou podporu, jistou budoucnost a uživatelé s ním měli dostatek zkušeností, 21

22 - poskytnutí nástrojů pro udržení referenční integrity, - možnost naprogramovat dodatečnou funkcionalitu v rámci DBMS. Zvolen byl systém MySQL. A to s tím, že MySQL bude pilotní implementací, která bude později převedena i do jiných DBMS [5]. Uživatel Janitoru si pak bude moci vybrat DBMS, podle svých vlastních preferencí. Vývoj JanGeoDB byl pozastaven a nahrazen MyGIS. V současnosti je součástí projektu Survey systému Janitor. 3.4 DALŠÍ SOFTWAROVÁ ŘEŠENÍ Pro testování přístupu k databázím a pro využití dat v geodatabázi byly použity další nástroje a programy Janitor Janitor je prostorově orientovaný systém, umožňující pořizování a zpracování dat s územní vazbou, orientovaný na operační systém Windows. Systém je vyvíjen na Laboratoři GIS v CENIA (Česká informační agentura životního prostředí). Program je napsaný v jazyce C++ a je určený k získávání, organizaci, správě a analýze dat. Je tvořen samostatně pracujícími a vzájemně propojitelnými aplikacemi (JanMap, JanDat, DataBuilder, ConnAdmin, FieldGIS, JanIRS, SQLTools). Aplikace jsou postaveny tak, aby umožnily sběr dat v terénu včetně jejich prostorového určení, vedení datového skladu, zakládání a import, jak prostorových, tak ostatních dat a jejich editaci, tvorbu a modifikaci formulářů a sestav, výstupy. Základem systému je otevřená technologie umožňující tvorbu formulářů k zadávání a správě dat, včetně podpory ukládání prostorových dat (GIS). Janitor pracuje s daty uloženými v prostředí podporovaných databázových serverů (PostgreSQL, MySQL) a využívá dotazovací jazyk SQL92, včetně modifikací daného databázového stroje. Janitor umožňuje zobrazit datové soubory s prostorovou orientací (mapová projekce, zeměpisné souřadnice) v GIS aplikaci JanMap a publikovat pomocí formulářů a dokumentů vytvořených pomocí nástroje DataBuilder [14]. Poslední zatím dostupná verze je verze Janitor Dokumentace a instalační soubory jsou dostupné na JanMap byl používán pro zobrazování a import vrstev. Tento software dokáže zobrazovat vrstvy z PostGIS i MyGIS, a také umí do obou databází importovat (platilo do 22

23 verze PostgreSQL stávající verze nepodporují import pro změnu struktury knihovny v PostgreSQL). Pomocí SQLTools je možné se na obě databáze dotazovat. Aby se vrstvy mnou vytvořené mohly do JanMapu načíst, bylo třeba vložit do tabulky geometry_columns v PostGIS a MyGIS záznamy (INSERT) o vytvořených tabulkách (postup pro PostGIS viz. kap ). Ukázka kódu v MyGIS: 1 MkINgeometry_columns: INSERT INTO geometry_columns( F_TABLE_NAME, F_GEOMETRY_COLUMN, COORD_DIMENSION, SRID, TYPE) VALUES ('t1', 'geometry', 3, 1, 'POINT'); Pro načtení vrstev se vybere z nabídky SOUBOR položka PŘIPOJENÍ KE GEODATABÁZÍM, nastaví se OGR připojení na konkrétní databázi a poté už si stačí jen vybrat, které vrstvy chceme načíst. Obr. 11: Logo systému Janitor [13] Quantum GIS (QGIS) Quantum GIS (QGIS) je uživatelsky přívětivý Open Source geografický informační systém (GIS) pod licencí GNU General Public Licence [21]. QGIS je oficiálním projektem Open Source Geospatial Foundation (OSGeo). Běží na Linux, Unix, Mac OS X a Windows a podporuje řadu vektorových, rastrových a databázových formátů a funkcí. Základní možnosti programu rozšiřují zásuvné moduly. Pomocí nich se dá například importovat shapefile do PostgreSQL, vytvořit mapfile pro UMN MapServer, připojit si WFS či využít QGIS jako grafické rozhraní pro funkce softwaru GRASS [22]. Lze nahrávat vrstvy z PostGIS a SpatiaLite. Poslední dostupná verze QGIS je Enceladus. Instalační soubory dostupné z 1 MkINgeometry_columns je označení kódu, podle kterého jej můžeme najít na CD přiloženému k bakalářské práci. Všechny SQL kódy v této práci jsou označeny stejným způsobem: M název databáze (M MyGIS, P PostGIS, S SpatiaLite)k(kód)IN zkratka příkazu (INSERT)geometry_columns 23

24 Obr. 12: Logo systému Quantum GIS [21] Tento software byl používán pro zobrazování vrstev vytvořených v PostGIS a SpatiaLite, a také pro importování shapefilů do databáze PostgreSQL. Pro načtení vytvořených vrstev do QGIS, bylo potřeba do tabulky geometry_columns v PostGIS vložit záznamy (INSERT) o vytvořených tabulkách. Stejnou věc bylo nutné provést i v SpatiaLite. Ukázky kódů v PostGIS a SpatiaLite: PkINgeometry_columns: INSERT INTO geometry_columns( f_table_catalog, f_table_schema, f_table_name, f_geometry_column, coord_dimension, srid, "type") VALUES ('', 'public', 'T2', 'geometry', 2, -1, 'LINESTRING'); SkINgeometry_columns: INSERT INTO "geometry_columns" VALUES ('T1', 'geometry', 'POINT', 2, 4156, 0); Dále už stačilo pouze spustit program, vybrat Přidat vrstvu z PostGIS nebo SpatiaLite, nastavit připojení k databázi, připojit, a poté už jen vybrat z nabídky vrstev tu, kterou chceme zobrazit. Na obrázku č.13 níže je nástroj pro import shapefilů do databáze PostgreSQL, označen na liště nástrojů jako modrý slon. Po spuštění tohoto nástroje se musí nastavit připojení ke konkrétní databázi a přidat shapefile z pevného disku, který chceme do databáze importovat. 24

25 Obr. 13: Nástroj na import shapefilů do PostGIS FWTools Shell FWTools je sada open source programů pro geografické informační systémy vytvořená Frankem Warmerdamem (iniciály FW) [8]. Tato sada nástrojů je vyrobena pro platformy Microsoft Windows a Linux a obsahuje několik balíčků (OpenEV, GDAL/OGR, MapServer, PROJ.4, OGDI, Python). FWTools Shell je nástroj pro řízení dat. Jde o příkazový řádek pro zadávání FWTools příkazů. Obr. 14: Ukázka příkazového řádku FWTools Shell s kódem OGR nástroje ogrinfo 25

26 3.4.4 OpenEV OpenEV je výkonný open source desktopový prohlížeč. Umožňuje uživatelům zkoumat údaje v některém z obrazových a vektorových datových formátů podporovaných Geospatial Data Abstraction Library (GDAL/OGR). OpenEV je dobrým příkladem toho, jak jsou GDAL/OGR schopnosti přístupné prostřednictvím jiných programovacích jazyků. OpenEV je založen na užívaní Pythonu, který dělá OpenEV rozšiřitelným a silným, protože má větší flexibilitu tohoto jazyka běžícího za ním [3]. Nejsilnějším rysem OpenEV může být jeho schopnost používat Python schopností v rámci OpenEV, což umožňuje přístup k GDAL/OGR funkcím a mnoho dalších Python modulů, které jsou potřeba. Obr. 15: Software OpenEV s GDAL nástrojem gdal_translate GDAL (Geospatial Data Abstraction Library) je knihovna určená pro čtení a zápis rastrových GIS formátů. Knihovna je vyvíjena pod hlavičkou Open Source Geospatial Foundation a vydávána pod licencí X/MIT [9]. Knihovna používá jednoduchý abstraktní datový model pro všechny podporované datové formáty. Kromě toho nabízí také řadu užitečných nástrojů pro příkazovou řádku určených pro konverzi a zpracování dat. 26

27 Obr. 16: Logo knihovny GDAL [9] GDAL byla původně vyvíjena Frankem Warmerdamem a to do verze 1.3.2, posléze byla tato role oficiálně převedena na GDAL/OGR Project Management Committee, která je součástí Open Source Geospatial Foundation [10]. GDAL je součástí balíčku FWTools. GDAL (často nazývaný goodle) má tři důležité funkce: 1) podporuje více než 40 různých rastrových formátů. 2) je k dispozici k použití pro další aplikace. Jakékoliv aplikace využívající GDAL knihovny, mají přístup všech podporovaných formátů, takže vlastní programování pro každý požadovaný formát je zbytečné. 3) předkompilované nástroje pomohou využít funkce GDAL programové knihovny, tudíž není třeba napsat svůj vlastní program [3]. GDAL podporuje desítky rastrových formátů, seznam je uveden v Příloze 1. Tento seznam je převzat z webových stránek GDAL PROGRAMOVACÍ KNIHOVNY Důležitý rys GDAL je jeho dostupnost jako soubor programovacích knihoven. Vývojáři používající různé jazyky, mohou využít výhody GDAL, která jim dává více času soustředit se na jiné úkoly. Vlastní programování pro podporu formátů již k dispozici díky GDAL není nutné: znovu použitelnost je hlavní síla GDAL. Schopnost přímého spojení s GDAL knihovnami pomohlo přidat nové funkce do řady GISových a vizualizačních programů, komerčních i open source [3]. GDAL internetové stránky uvádí několik projektů, které využívají GDAL, včetně FME, MapServer, GRASS, Quantum GIS, Cadcorp SIS terénu a Virtual Terezin Project. GDAL NÁSTROJE gdalinfo - vypíše informace o rastrovém souboru (metadata) Ukázka kódu zadávaného pomocí příkazového řádku: 27

28 C:\Documents and Settings\Administrator>gdalwin32-1.6\bin\gdalinfo \databp\stin_ter.tif gdal_translate - vytvoří kopii souboru s danými parametry výstupu Ukázka kódu zadávaného pomocí příkazového řádku: C:\Documents and Settings\Administrator>gdalwin32-1.6\bin\gdal_translate -of "JPEG" \databp\stin_ter.tif \databp\stin_teren.jpg - ze souboru ve formátu.tif vytvoří jeho kopii ve formátu.jpg. gdalwarp - transformuje obrazová data do cílového souřadnicového systému gdaladdo - přidá pohledy (overlays) do rastrového souboru gdaltindex - vytvoří tileindex pro UMN Mapserver gdal_contour - vytvoří vrstevnice z DEM (digitální výškový model) rgb2pct.py - konvertuje data z 24-bitové do 8-bitové RGB palety pct2rgb.py - konvertuje data z 8-bitové do 24-bitové RGB palety gdal_merge.py - sestaví mozaiku z několika obrazových souborů gdal2tiles.py - vytvoří TMS dlaždice gdal_rasterize - rasterizuje vektorová data gdaltransform - transformuje souřadnice nearblack - převede barevné hodnoty blízké černé či bílé na danou hodnotu gdal_retile.py - vytvoří dlaždice a sestaví pyramidy gdal_grid - vytvoří rastrový soubor z bodových dat gdal_config - konfigurační nástroj knihovny OGR Simple Features Library je C++ open-source knihovna (a příkazový řádek) poskytující čtení (a někdy i zápis), přístup do různých formátů vektorových souborů včetně ESRI shapefiles, S-57, SDTS, PostGIS, Oracle Spatial, Mapinfo mid/mif a TAB formátů. OGR je součástí knihovny GDAL [16]. OGR je součástí balíčku FWTools. OGR podporuje více než 16 vektorových formátů, seznam je převzat z webových stránek OGR a uveden v Příloze 2. OGR obsahuje nástroje podobné GDAL rastrovým nástrojům [3]. OGR je součástí GDAL/OGR projektu. 28

29 OGR NÁSTROJE Stejně jako GDAL, OGR obsahuje sadu knihoven, které mohou být použity v aplikacích. OGR také přichází s několika užitečnými nástroji: ogrinfo - vypíše informace o vektorovém souboru (metadata) Ukázky kódů (zadávaných pomocí FWTools Shell): >ogrinfo "PG:dbname=prostorova user=postgres password=libor host=localhost port=5432" ctverce - zobrazí informace o vrstvě ctverce v databázi v PostgreSQL >ogrinfo \databp obojzivelnici -where "poznamka='juvenilní'" - zobrazí informace o vybraných prvcích a prvky z vrstvy obojzivelnici, které odpovídají podmínce where >ogrinfo \databp obojzivelnici -sql "select id_tax from obojzivelnici where id_tax = 'Salamandra salamandra'" - zobrazí informace o vybraných prvcích a prvky z vrstvy obojzivelnici, které odpovídají sql dotazu ogr2ogr - vytvoří kopii souboru s danými parametry výstupu Ukázky kódů: >ogr2ogr -f "ESRI Shapefile" c:\silnice.shp "PG:dbname=prostorova user=postgres password=libor host=localhost port=5432" silnice - vytvoří shapefile silnice.shp z tabulky silnice v PostgreSQL databázi prostorova >ogr2ogr -f "PostgreSQL" "PG:dbname=prostorova user=postgres password=libor host=localhost port=5432" \databp\q04_71.shp -nln ctverce - vloží shapefile q04_71.shp do databáze prostorova a vytvořenou tabulku pojmenuje (- nln) ctverce ogrtindex - vytvoří tileindex pro UMN Mapserver OGR, jako GDAL, pomáhá v přístupu, konverzi a manipulaci s daty, konkrétně vektorových dat. OGR lze použít také se skriptovacími jazyky, což umožňuje programovou práci s daty [3]. GDAL/OGR balíky obvykle přicházejí s OGR moduly pro Python. Kromě Pythonu také existuje podpora Java a C # pro GDAL/OGR shp2pgsql PostGIS přichází s nástroji pro příkazový řádek s názvem pgsql2shp a shp2pgsql. Ty mohou být použity pro konverzi z PostGIS tabulky do formátu shapefile a zpět. 29

30 Nástroj shp2pgsql převádí tvary do textové podoby SQL příkazů. Je nutné předat je do textového souboru pro pozdější načítání nebo je psql příkazem používat okamžitě. Původní nastavení ukládá geometrická data do pole the_geom. # shp2pgsql silnice_chkobk.shp public.silnice > cesty.sql # psql -d postgisdatabase -f cesty.sql Verze PostGIS 1.5 obsahuje shp2pgsql GUI, který se jmenuje Shape File to PostGIS Importer, kterým se lze jednoduše připojit k databázi PostgreSQL a nahrát do ní vlastní shapefile. Obr. 17: Nástroj pro import shapefilů do PostGIS 30

31 3.5 ULOŽENÍ DAT V GEODATABÁZI Simple Features jsou OpenGIS standard (verze 1.2.0), který specifikuje digitální ukládání geografických dat (bod, linie, polygon, multi-bod, multi-linie, atd.), jak s prostorovými, tak i s neprostorovými atributy [23]. Simple Features jsou založeny na 2D geometrii s lineární interpolací mezi vrcholy. Obecně platí, že 2D geometrie je jednoduchá, neobsahuje-li překřížení prvku sebe samým. OpenGIS Simple Features specifikace definuje různé prostorové subjekty, které mohou být použity k vytvoření nové geometrie z existující geometrie. Plné znění standardu je dostupné na Definuje dva formáty pro popis geografických dat (WKT a WKB) Well-known text (WKT) je textový značkovací jazyk určený pro popis vektorové geometrie geografických objektů, prostorových referenčních systémů, popřípadě transformačních parametrů mezi jednotlivými souřadnicovými systémy. 1) geometrické objekty Geometrické objekty, které lze pomocí WKT popsat jsou: body, linie, polygony, TIN, polyhedrony. Multigeometrické typy dovolují použít v jednom objektu více geometrických typů stejné dimenze. Pro uložení geometrie různých dimenzí slouží kolekce geometrie. Souřadnice mohou být 2D (x, y), 3D (x, y, z), 4D (x, y, z, m), kde m je hodnota lineárního referenčního systému nebo 2D s hodnotou m (x, y, m). Klíčové slovo EMPTY definuje tzv. "prázdnou" geometrii. Prvek, který neobsahuje žádné lomové body (souřadnice). Zápis ve formě WKT je často používán v OGC specifikacích, PostGIS například obsahuje funkce pro konverzi geometrie z/do formy WKT. Příklad geometrie zapsané ve formě WKT: POINT(6 10) LINESTRING(3 4,10 50,20 25) POLYGON((1 1,5 1,5 5,1 5,1 1),(2 2, 3 2, 3 3, 2 3,2 2)) MULTIPOINT( , ) MULTILINESTRING((3 4,10 50,20 25),(-5-8,-10-8,-15-4)) 31

32 MULTIPOLYGON(((1 1,5 1,5 5,1 5,1 1),(2 2, 3 2, 3 3, 2 3,2 2)),((3 3,6 2,6 4,3 3))) GEOMETRYCOLLECTION(POINT(4 6),LINESTRING(4 6,7 10)) 2) prostorové referenční systémy Prostorový referenční systém obsahuje v zápisu WKT informace o geodetickém datu, geoidu, souřadnicovém systému a kartografickém zobrazení. WKT je používán řadou GIS aplikací a knihoven, např. ESRI používá WKT ve formátu Shapefile (soubor *.prj). Příklad definice systému S-JTSK ve formě WKT: PROJCS["krovak", GEOGCS["bessel", DATUM["unknown", SPHEROID["Bessel_1841", , ], TOWGS84[570.8,85.7,462.8,4.998,1.587,5.261,3.56]], PRIMEM["Greenwich",0], UNIT["degree", ]], PROJECTION["Krovak"], PARAMETER["latitude_of_center",0], PARAMETER["longitude_of_center",0], PARAMETER["azimuth",0], PARAMETER["pseudo_standard_parallel_1",0], PARAMETER["scale_factor",1], PARAMETER["false_easting",0], PARAMETER["false_northing",0], UNIT["meter",1]] 3) transformace Formát WKT může popisovat metodu transformace a transformační parametry pro konverzi mezi dvěma prostorovými souřadnicovými systémy. Databáze podporující WKT: MySQL, PostgreSQL s PostGIS, SQLite se SpatiaLite, Oracle, MS SQL Server Well-known binary (WKB) binární forma používaná pro převod a uložení informací v databázovém systému jako je např. PostGIS. Formát je kontrolován konsorciem Open 32

33 Geospatial Consortium (OGC) a popsán ve specifikacích Simple Feature Access a Coordinate Transformation Service. Všechny souřadnice se zde ukládají jako hodnoty Double precision (64bitové číslo s plovoucí desetinnou čárkou) Příklad geometrie zapsané ve formě WKB: F03F F03F Hodnota odpovídá hodnotě POINT(1 1) ve formátu WKT. Pozn. Rastrová data se ukládají jako Binary large object (BLOB), je označení pro datový typ blíže nespecifikovaných binárních dat v databázi. Obvykle se jedná o obrázky, zvukové záznamy nebo jakákoli jiná data, která jinak bývají uložena v samostatných souborech [7]. BLOB je tedy obecný datový typ, který explicitně vyjadřuje, že databáze nemá informace o tom, jak jeho obsah interpretovat. Na rozdíl od jiných datových typů, kdy databáze může číselné a časové údaje poskytovat ve vhodném formátu, případně textové údaje konvertovat do požadované kódové stránky, obsah BLOB položky obdrží klientská aplikace přesně tak, jak byl binárně uložen a o interpretaci se musí postarat sama. 3.6 JAZYK SQL Jazyk SQL je standardním neprocedurálním relačním dotazovacím jazykem, podporovaným většinou dostupných databázových systémů. SQL je zkratka anglických slov Structured Query Language (strukturovaný dotazovací jazyk). Příkazy jazyka SQL obecně umožňují úplnou kontrolu nad systémem řízení báze dat. Podle svého účelu se dělí do následujících skupin: Příkazy pro manipulaci s daty (SELECT, INSERT, UPDATE, DELETE, ). Jsou to příkazy pro získání dat z databáze a pro jejich úpravy. Označují se zkráceně DML Data Manipulation Language ( jazyk pro manipulaci s daty ). Příkazy pro definici dat (CREATE, ALTER, DROP, ). Těmito příkazy se vytvářejí struktury databáze tabulky, indexy, pohledy a další objekty. Vytvořené struktury lze také upravovat, doplňovat a mazat. Tato skupina příkazů se nazývá zkráceně DDL Data Definition Language ( jazyk pro definici dat ). Příkazy pro řízení dat (GRANT, REVOKE, START TRANSACTION, COMMIT, ROLLBACK). 33

34 Do této skupiny patří příkazy pro nastavování přístupových práv a řízení transakcí. Označují se jako DCL Data Control Language ( jazyk pro ovládání dat ), někdy také TCC Transaction Control Commands ( jazyk pro ovládání transakcí ). Pozn. Úlohy v této bakalářské práci se týkají pouze prvních dvou skupin příkazů jazyka SQL Spatial SQL (Prostorové SQL) Prostorové databáze jsou databáze kombinující konvenční a prostorová data (tedy data vztahující se k poloze objektů, jejich velikosti atd.) [28]. V aplikacích využívajících prostorové informace, jako jsou různé geografické informační systémy (GIS) či CAD/CAM systémy, tedy vznikla potřeba vhodného dotazovacího jazyka, který by umožňoval pokládat: dotazy pouze na prostorové vlastnosti (vypiš města vzdálená od Prahy méně než 20 km) dotazy pouze na neprostorové vlastnosti (kolik lidí žije v Olomouci) dotazy kombinující oboje vlastnosti (vypiš počty dětí všech majitelů pozemků sousedících s parcelou č. 10) Použití běžných relačních dotazovacích jazyků pro zpracování dotazů na prostorová data je velmi obtížné, neboť tyto jazyky nemají pro prostorová data žádnou podporu (predikáty, operace) a neměly ani žádný vhodný datový typ (až do vzniku konceptu ADT) a tudíž data musela být ukládána do číselných a řetězcových proměnných, a proto musel uživatel přesně znát strukturu uložení prostorových dat. V některých komerčních systémech se ovšem tento způsob udržel do dneška jen s tím rozdílem, že dnes již obsahují specializované funkce a predikáty pro prostorové operace. Bylo tedy třeba navrhnout dotazovací jazyk, který by poskytoval jednoduché, intuitivní a snadno použitelné rozhraní pro dotazy i editaci obou druhů dat. Vzhledem k výše uvedenému se jako rozumné jevilo rozšířit funkcionalitu SQL o práci s prostorovými daty. Tento jazyk byl navržen v r J. Egenhoferem, aby odstranil nedostatky konvenčních databázových jazyků. Stejně jako v klasickém SQL se pracuje s příkazy ve formátu SELECT - FROM - WHERE, výsledky dotazů jsou relace. Spatial SQL neobsahuje funkcionalitu pro editování dat. 34

35 PROSTOROVÁ DOMÉNA K doménám SQL byla přidána nová doména "spatial" (prostorový) pro zajištění vysoké úrovně abstrakce prostorových dat [28]. K této doméně patří řada prostorových operací a predikátů, které budou zmíněny později. Zmíněná doména se dělí ještě na 4 poddomény "spatial_0", "spatial_1", "spatial_2", "spatial_3" pro objekty příslušných dimenzí (tedy spatial_0 pro 0-rozměrné objekty - body, atd.). Atribut z domény spatial se nazývá spatial atribut (prostorový atribut) a relace s tímto atributem spatial relation (prostorová relace). PROSTOROVÉ OPERACE Prostorové operace můžeme chápat jako funkce na prostorových objektech. Můžeme je rozdělit na: Unární prostorové operátory přistupují k jedné prostorové položce prostorové relace. o o o Topologické unární operátory - určují dimenzi, hranici a vnitřek objektu, tedy: 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") Tyto operátory mají specializované varianty pro jednotlivé dimenze (třeba 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. Druhá skupina unárních operátorů - aritmetické operace. Tyto závisí na dimenzi objektu. lenght (délka) pro 1D objekty area (plocha) pro 2D objekty volume (objem) pro 3D objekty Kombinací topologických a aritmetických vlastností lze získat složitější operátory: perimeter (obvod) pro mnohoúhelník extreme coordinates (extrémní souřadnice), complement (doplněk) a convex hull (konvexní obal) 35

36 Binární prostorové operátory počítají hodnotu ze dvou prostorových položek prostorové relace. o o distance (vzdálenost) - výsledkem je nezáporné reálné číslo direction (směr) - úhel udávající azimut; tyto mohou být porovnávány a odečítány k zjištění úhlu jimi sevřeného. Na výsledky těchto operací lze používat standardní agregační funkce SQL (min, avg). Prostorové operátory se zapisují v prefixové notaci - jako funkce (př. distance(potok.geometry, silnice.geometry)). Operátory se mohou vyskytnout v SELECT klauzuli, či v libovolné WHERE klauzuli jako část neprostorového predikátu. Tedy mohou se v dotazech používat na stejných místech jako agregační funkce. PROSTOROVÉ PREDIKÁTY Prostorové predikáty (spatial relationships) jsou relace (v matematickém smyslu) mezi dvěma prostorovými atributy - jejich výsledkem je tedy Boolean hodnota a mohou být přímo použity jako predikáty v klauzuli WHERE. Tyto predikáty se zapisují stejně jako ostatní v SQL - infixově; jsou definovány přímo nad generalizovanou doménou spatial. Binární topologické predikáty jsou založeny na množině průniků hranic a vnitřků dvou objektů - tyto specifikace jsou nezávislé na dimenzi a predikáty mohou být použity na dva objekty libovolných dimenzí. o o o o o o disjoint (disjunktnost objektů) meet overlap inside/contains covers/coveredby equal (totožnost objektů) Tyto predikáty byly do Spatial SQL začleněny pro zvýšení úrovně abstrakce, aby uživatel nemusel mít matematické znalosti. V závislosti na zvoleném uspořádání lze také používat predikáty left/right, north/south či over/under. DEFINICE TABULEK S PROSTOROVÝMI DATY Obdobně jako v klasickém SQL. Příklad 1. - definice tabulky mesta s řetězcovým atributem jmeno a prostorovým obsazenyprostor (zde město chápeme jako 2D objekt). 36

37 CREATE TABLE mesta (jmeno char(20) obsazenyprostor spatial_2); Příklad 2. - Může být užitečné definovat město jako mnohoúhelník (obsazenyprostor) na podrobných mapách, nebo jako bod (poloha) na méně podrobných. CREATE TABLE city (jmeno char(20) obsazenyprostor spatial_2 poloha spatial_0); VÝBĚR UKÁZÁNÍM PREDIKÁT PICK Predikát PICK umožňuje uživateli formulovat dotazy s referencí na prostorové objekty viditelné na obrazovce. Tento predikát může 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. Cílem je buď 0 či 1-rozměrný objekt nejblíže ukázání a nebo 2D objekt, který místo ukázání obsahuje. Nejasnosti jsou řešeny dle toho, jaký typ objektu uživatel v dotazu používá. Jsou-li dva 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. Příklad 1. - mapa států s hranicemi a velkými městy (tyto znázorněny body), uživatel se ptá na jméno města na které kliknul. SELECT jmeno FROM mesta WHERE poloha = PICK; Příklad 2. - ukáže-li uživatel na stejné místo a zadá následující dotaz, dostane název příslušného státu. SELECT jmeno FROM staty WHERE poloha = PICK; 37

38 4. VSTUP A SPRÁVA GEOOBJEKTŮ 4.1 Vytvoření databáze (CREATE DATABASE) Prvním krokem při zakládání databáze je vytvoření nové prázdné prostorové databáze, do které později přibudou nové tabulky se záznamy, které můžeme vkládat, upravovat a dotazovat se na ně. PostGIS: Existují dvě možnosti, jak vytvořit databázi v pgadminiii. První možností je tlačítko pro SQL dotazy na liště nástrojů. Toto tlačítko není aktivní pokud neklikneme na některou již vytvořenou databázi. Obr. 18: Prostředí pgadminiii s aktivním tlačítkem pro SQL dotazy Po kliknutí na toto tlačítko se otevře nové okno pro dotazování (Query), zde se zadá příkaz CREATE DATABASE. Druhou možností je kliknout pravým tlačítkem na Databáze ve Stromu objektů nebo na záložku Upravit Nový objekt a zvolit NOVÁ DATABÁZE. V obou případech se otevře dialogové okno, ve kterém si lze navolit parametry nové databáze. Chceme vytvořit prostorovou databázi, která se bude jmenovat postgisdatabase, kódování bude UTF8 a bude vytvořena podle šablony template_postgis, která zaručí, že se jedná o prostorovou databázi a bude mít vytvořeny zásadní tabulky spatial_ref_sys a geometry_columns. Ukázka kódu, který lze zadat do okna pro SQL dotazování: PkCD: CREATE DATABASE postgisdatabase WITH ENCODING='UTF8' TEMPLATE=template_postgis CONNECTION LIMIT=-1; 38

39 MyGIS: V MySQL Query Browser se databáze označují jako Schemata. Databázi lze vytvořit tak, že klikneme pravým tlačítkem do záložky Schemata a zvolíme CREATE NEW SCHEMA. Obr. 19: Nabídka možností v záložce Schemata v nástroji MySQL Query Browser Poté už stačí novou databázi jenom pojmenovat (mygisdatabase). MySQL nevytvoří do nového schématu metadatové tabulky geometry_columns a spatial_ref_sys. Tyto tabulky se vytvoří pokud do databáze importujeme shapefile nebo si je můžeme vytvořit sami (viz. kap. 4.2) Pokud vytváříme databázi (schéma) pomocí MySQL příkazového řádku zadáme příkaz: MkCD: CREATE DATABASE mygisdatabase; SpatiaLite: Ve SpatiaLite musíme pro vytvoření databáze zvolit z nabídky FILES položku Creating a New (empty) SQLite DB a nebo tuto položku vybrat přímo z lišty nástrojů. Obr. 20: Prostředí SpatiaLite se zvýrazněným tlačítkem pro vytvoření databáze Poté už stačí novou databázi pouze pojmenovat (spatialitedatabase) a vybrat místo na disku, kam ji uložíme. Nově vytvořená databáze už obsahuje metadatové tabulky spatial_ref_sys a geometry_columns. 39

PostGIS. Luboš Hejduk, Petr Sedlář 2007

PostGIS. Luboš Hejduk, Petr Sedlář 2007 PostGIS Luboš Hejduk, Petr Sedlář 2007 Obsah Co je PostGIS Využití prostorových dat Způsob instalace PostgreSQL/PostGIS Správa databáze postgresql/postgis Práce s daty v PostgreSQL/PostGIS Import dat do

Více

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 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 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íce

GIS Geografické informační systémy

GIS Geografické informační systémy GIS Geografické informační systémy GIS Spatial SQL Dotazy nad prostorovými daty 11 požadavků na prostorový dotazovací jazyk Prostorové operace Prostorové predikáty Příklad užití Spatial SQL Potřeba vhodného

Více

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

KMA/PDB. Karel Janečka. Tvorba materiálů byla podpořena z prostředků projektu FRVŠ č. F0584/2011/F1d KMA/PDB Prostorové databáze Karel Janečka Tvorba materiálů byla podpořena z prostředků projektu FRVŠ č. F0584/2011/F1d Sylabus předmětu KMA/PDB Úvodní přednáška Základní terminologie Motivace rozdíl klasické

Více

Databázové systémy. Doc.Ing.Miloš Koch,CSc. koch@fbm.vutbr.cz

Databázové systémy. Doc.Ing.Miloš Koch,CSc. koch@fbm.vutbr.cz Databázové systémy Doc.Ing.Miloš Koch,CSc. koch@fbm.vutbr.cz Vývoj databázových systémů Ukládání dat Aktualizace dat Vyhledávání dat Třídění dat Výpočty a agregace 60.-70. léta Program Komunikace Výpočty

Více

Databázové systémy úvod

Databázové systémy úvod Databázové systémy úvod Michal Valenta Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze c Michal Valenta, 2016 BI-DBS, LS 2015/16 https://edux.fit.cvut.cz/courses/bi-dbs/

Více

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

Kapitola 1: Úvod. Systém pro správu databáze (Database Management Systém DBMS) Účel databázových systémů - 1.1 - Kapitola 1: Úvod Účel databázových systémů Pohled na data Modely dat Jazyk pro definici dat (Data Definition Language; DDL) Jazyk pro manipulaci s daty (Data Manipulation Language; DML) Správa

Více

Databáze v MS ACCESS

Databáze v MS ACCESS 1 z 14 19.1.2014 18:43 Databáze v MS ACCESS Úvod do databází, návrh databáze, formuláře, dotazy, relace 1. Pojem databáze Informací se data a vztahy mezi nimi stávají vhodnou interpretací pro uživatele,

Více

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

PROSTOROVÉ DOTAZOVACÍ JAZYKY. (Maroš Kasinec, Jakub Kúdela) 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í

Více

GeoHosting. Martin Vlk. (vypusťte svoje data do světa) Help forest s.r.o. člen skupiny WirelessInfo 2008

GeoHosting. Martin Vlk. (vypusťte svoje data do světa) Help forest s.r.o. člen skupiny WirelessInfo 2008 GeoHosting (vypusťte svoje data do světa) Martin Vlk Help forest s.r.o. člen skupiny WirelessInfo 2008 Využívání geografických dat Jak můžeme pracovat s geografickými daty? Práce s vlastními geografickými

Více

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

8.2 Používání a tvorba databází 8.2 Používání a tvorba databází Slide 1 8.2.1 Základní pojmy z oblasti relačních databází Slide 2 Databáze ~ Evidence lidí peněz věcí... výběry, výpisy, početní úkony Slide 3 Pojmy tabulka, pole, záznam

Více

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

Jádrem systému je modul GSFrameWork, který je poskytovatelem zejména těchto služeb: Technologie Marushka Základním konceptem technologie Marushka je použití jádra, které poskytuje přístup a jednotnou grafickou prezentaci geografických dat. Jádro je vyvíjeno na komponentním objektovém

Více

FOSS4G úspěšné projekty

FOSS4G úspěšné projekty FOSS4G úspěšné projekty Erika Orlitová GISAT knihovna GDAL - Geospatial Data Abstraction Library vývoj je podporován OSGeo, licence X/MIT práce s rastrovými formáty na úrovni příkazové řádky informace

Více

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

Kurz Databáze. Obsah. Dotazy. Zpracování dat. Doc. Ing. Radim Farana, CSc. 1 Kurz Databáze Zpracování dat Doc. Ing. Radim Farana, CSc. Obsah Druhy dotazů, tvorba dotazu, prostředí QBE (Query by Example). Realizace základních relačních operací selekce, projekce a spojení. Agregace

Více

GIS Geografické informační systémy

GIS Geografické informační systémy GIS Geografické informační systémy Obsah přednášky Prostorové vektorové modely Špagetový model Topologický model Převody geometrií Vektorový model Reprezentuje reálný svět po jednotlivých složkách popisu

Více

GIS Geografické informační systémy

GIS Geografické informační systémy GIS Geografické informační systémy Obsah přednášky Prostorové vektorové modely Špagetový model Topologický model Převody geometrií Vektorový model Reprezentuje reálný svět po jednotlivých složkách popisu

Více

Geografické informační systémy

Geografické informační systémy Geografické informační systémy ArcGIS Břuska Filip 2.4.2009 Osnova 1. Úvod 2. Architektura 3. ArcGIS Desktop 4. ArcMap 5. ShapeFile 6. Coverage 7. Rozšíření ArcGIS ArcGIS - Úvod ArcGIS je integrovaný,

Více

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

Simple Features. Úvod do problematiky, geodatabáze, OGC Simple Features. Martin Landa Přednáška 1 do problematiky, geodatabáze, OGC 155UZPD do zpracování prostorových dat, zimní semestr 2018-2019 OpenGIS Martin Landa martin.landa@fsv.cvut.cz Fakulta stavební ČVUT v Praze Katedra geomatiky

Více

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

Obsah. Kapitola 1. Kapitola 2. Kapitola 3. Kapitola 4. Úvod 11. Stručný úvod do relačních databází 13. Platforma 10g 23 Stručný obsah 1. Stručný úvod do relačních databází 13 2. Platforma 10g 23 3. Instalace, první přihlášení, start a zastavení databázového serveru 33 4. Nástroje pro administraci a práci s daty 69 5. Úvod

Více

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

Databáze I. 5. přednáška. Helena Palovská Databáze I 5. přednáška Helena Palovská palovska@vse.cz SQL jazyk definice dat - - DDL (data definition language) Základní databáze, schemata, tabulky, indexy, constraints, views DATA Databáze/schéma

Více

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

Návrh a tvorba WWW stránek 1/14. PHP a databáze Návrh a tvorba WWW stránek 1/14 PHP a databáze nejčastěji MySQL součástí balíčků PHP navíc podporuje standard ODBC PHP nemá žádné šablony pro práci s databází princip práce s databází je stále stejný opakované

Více

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

Úvod do databázových systémů Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Úvod do databázových systémů Cvičení 8 Ing. Petr Lukáš petr.lukas@vsb.cz Ostrava, 2014 Opakování Entita Entitní typ

Více

DUM 12 téma: Příkazy pro tvorbu databáze

DUM 12 téma: Příkazy pro tvorbu databáze DUM 12 téma: Příkazy pro tvorbu databáze ze sady: 3 tematický okruh sady: III. Databáze ze šablony: 7 Kancelářský software určeno pro: 4. ročník vzdělávací obor: 18-20-M/01 Informační technologie vzdělávací

Více

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

Databáze I. Přednáška 4 Databáze I Přednáška 4 Definice dat v SQL Definice tabulek CREATE TABLE jméno_tab (jm_atributu typ [integr. omez.], jm_atributu typ [integr. omez.], ); integritní omezení lze dodefinovat později Definice

Více

Databázové systémy Cvičení 5.2

Databázové systémy Cvičení 5.2 Databázové systémy Cvičení 5.2 SQL jako jazyk pro definici dat Detaily zápisu integritních omezení tabulek Integritní omezení tabulek kromě integritních omezení sloupců lze zadat integritní omezení jako

Více

Databázové systémy trocha teorie

Databázové systémy trocha teorie Databázové systémy trocha teorie Základní pojmy Historie vývoje zpracování dat: 50. Léta vše v programu nevýhody poměrně jasné Aplikace1 alg.1 Aplikace2 alg.2 typy1 data1 typy2 data2 vytvoření systémů

Více

1. Webový server, instalace PHP a MySQL 13

1. Webový server, instalace PHP a MySQL 13 Úvod 11 1. Webový server, instalace PHP a MySQL 13 Princip funkce webové aplikace 13 PHP 14 Principy tvorby a správy webového serveru a vývojářského počítače 14 Co je nezbytné k instalaci místního vývojářského

Více

RELAČNÍ DATABÁZE ACCESS

RELAČNÍ DATABÁZE ACCESS RELAČNÍ DATABÁZE ACCESS 1. Úvod... 2 2. Základní pojmy... 3 3. Vytvoření databáze... 5 4. Základní objekty databáze... 6 5. Návrhové zobrazení tabulky... 7 6. Vytváření tabulek... 7 6.1. Vytvoření tabulky

Více

Manuál k aplikaci FieldGIS v.2.27

Manuál k aplikaci FieldGIS v.2.27 Manuál k aplikaci FieldGIS v.2.27 Petr Pala Copyright 2008 CENIA, laboratoř GIS 1. Úvod 1. Systémové požadavky 2. Části základního okna aplikace 1. Menu 1.1. File 1.2. Tools 1.3. Hlavní lišta 2. Editor

Více

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

2. blok část B Základní syntaxe příkazů SELECT, INSERT, UPDATE, DELETE 2. blok část B Základní syntaxe příkazů SELECT, INSERT, UPDATE, DELETE Studijní cíl Tento blok je věnován základní syntaxi příkazu SELECT, pojmům projekce a restrikce. Stručně zde budou představeny příkazy

Více

Jazyk SQL databáze SQLite. připravil ing. petr polách

Jazyk SQL databáze SQLite. připravil ing. petr polách Jazyk SQL databáze SQLite připravil ing. petr polách SQL - úvod Structured Query Language (strukturovaný dotazovací jazyk 70. léta min. století) Standardizovaný dotazovací jazyk používaný pro práci s daty

Více

5. POČÍTAČOVÉ CVIČENÍ

5. POČÍTAČOVÉ CVIČENÍ 5. POČÍTAČOVÉ CVIČENÍ Databáze Databázi si můžeme představit jako místo, kam se ukládají všechny potřebné údaje. Přístup k údajům uloženým v databázi obstarává program, kterému se říká Systém Řízení Báze

Více

Ukázka knihy z internetového knihkupectví www.kosmas.cz

Ukázka knihy z internetového knihkupectví www.kosmas.cz Ukázka knihy z internetového knihkupectví www.kosmas.cz U k á z k a k n i h y z i n t e r n e t o v é h o k n i h k u p e c t v í w w w. k o s m a s. c z, U I D : K O S 1 8 1 1 4 5 Oracle průvodce správou,

Více

DATABÁZE, ATRIBUTY. SPŠS Č.Budějovice Obor Geodézie a Katastr nemovitostí 3.ročník

DATABÁZE, ATRIBUTY. SPŠS Č.Budějovice Obor Geodézie a Katastr nemovitostí 3.ročník SPŠS Č.Budějovice Obor Geodézie a Katastr nemovitostí 3.ročník DATABÁZE, ATRIBUTY historie databáze modely databází relační databáze SQL dotazy atributy Historie databází papírové kartotéky uspořádávání

Více

Datový sklad KGI/APGPS. RNDr. Vilém Pechanec, Ph.D. Univerzita Palackého v Olomouci

Datový sklad KGI/APGPS. RNDr. Vilém Pechanec, Ph.D. Univerzita Palackého v Olomouci Datový sklad KGI/APGPS RNDr. Vilém Pechanec, Ph.D. Univerzita Palackého v Olomouci Univerzita Palackého v Olomouci INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Environmentální vzdělávání rozvíjející uplatnění v praxi

Více

Databázový systém označuje soubor programových prostředků, které umožňují přístup k datům uloženým v databázi.

Databázový systém označuje soubor programových prostředků, které umožňují přístup k datům uloženým v databázi. Databáze Základní pojmy Pojem databáze označuje obecně souhrn informací, údajů, dat o nějakých objektech. Úkolem databáze je hlídat dodržení všech omezení a dále poskytovat data při operacích. Objekty

Více

Maturitní otázky z předmětu PROGRAMOVÁNÍ

Maturitní otázky z předmětu PROGRAMOVÁNÍ Wichterlovo gymnázium, Ostrava-Poruba, příspěvková organizace Maturitní otázky z předmětu PROGRAMOVÁNÍ 1. Algoritmus a jeho vlastnosti algoritmus a jeho vlastnosti, formy zápisu algoritmu ověřování správnosti

Více

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

Základy databází. O autorech 17 PRVNÍ ČÁST. KAPITOLA 1 Začínáme 19 3 Obsah Novinky v tomto vydání 10 Význam základních principů 11 Výuka principů nezávisle na databázových produktech 12 Klíčové pojmy, kontrolní otázky, cvičení, případové studie a projekty 12 Software,

Více

Relační databáze. V dnešní době existuje řada komerčních DBMS, nejznámější jsou:

Relační databáze. V dnešní době existuje řada komerčních DBMS, nejznámější jsou: Relační databáze Pojem databáze, druhy databází Databází se myslí uložiště dat. V době začátků využívání databází byly tyto členěny hlavně hierarchicky, případně síťově (rozšíření hierarchického modelu).

Více

Použití databází na Webu

Použití databází na Webu 4IZ228 tvorba webových stránek a aplikací Jirka Kosek Poslední modifikace: $Date: 2010/11/18 11:33:52 $ Obsah Co nás čeká... 3 Architektura webových databázových aplikací... 4 K čemu se používají databázové

Více

Obchodní akademie a Jazyková škola s právem státní jazykové zkoušky Jihlava

Obchodní akademie a Jazyková škola s právem státní jazykové zkoušky Jihlava Obchodní akademie a Jazyková škola s právem státní jazykové zkoušky Jihlava Šablona 32 VY_32_INOVACE_038.ICT.34 Tvorba webových stránek SQL stručné minimum OA a JŠ Jihlava, VY_32_INOVACE_038.ICT.34 Číslo

Více

Hlavní rysy produktu MapInfo Professional

Hlavní rysy produktu MapInfo Professional Michal Hrnčiřík MapInfo historie Hlavní rysy produktu MapInfo Professional Oblasti použití MapInfo MapInfo a webové služby Ostatní schopnosti produktu Vyvíjeno stejnojmennou firmou MapInfo (1986) MapInfo

Více

1 Administrace systému 3. 1.3 Moduly... 3 1.4 Skupiny atributů... 4 1.5 Atributy... 4 1.6 Hodnoty atributů... 4

1 Administrace systému 3. 1.3 Moduly... 3 1.4 Skupiny atributů... 4 1.5 Atributy... 4 1.6 Hodnoty atributů... 4 CRM SYSTÉM KORMORÁN PŘÍRUČKA ADMINISTRÁTORA Obsah 1 Administrace systému 3 1.1 Uživatelské účty.................................. 3 1.2 Přístupová práva................................. 3 1.3 Moduly.......................................

Více

Databáze. Velmi stručný a zjednodušený úvod do problematiky databází pro programátory v Pythonu. Bedřich Košata

Databáze. Velmi stručný a zjednodušený úvod do problematiky databází pro programátory v Pythonu. Bedřich Košata Databáze Velmi stručný a zjednodušený úvod do problematiky databází pro programátory v Pythonu Bedřich Košata K čemu jsou databáze Ukládání dat ve strukturované podobě Možnost ukládat velké množství dat

Více

7. Integrita a bezpečnost dat v DBS

7. Integrita a bezpečnost dat v DBS 7. Integrita a bezpečnost dat v DBS 7.1. Implementace integritních omezení... 2 7.1.1. Databázové triggery... 5 7.2. Zajištění bezpečnosti dat... 12 7.2.1. Bezpečnostní mechanismy poskytované SŘBD... 13

Více

7. Integrita a bezpečnost dat v DBS

7. Integrita a bezpečnost dat v DBS 7. Integrita a bezpečnost dat v DBS 7.1. Implementace integritních omezení... 2 7.1.1. Databázové triggery... 5 7.2. Zajištění bezpečnosti dat... 12 7.2.1. Bezpečnostní mechanismy poskytované SŘBD... 13

Více

GIS Geografické informační systémy

GIS Geografické informační systémy GIS Geografické informační systémy Obsah přednášky Prostorové vektorové modely Špagetový model Topologický model Vektorový model Reprezentuje reálný svět po jednotlivých složkách popisu geoprvků. Geometrická

Více

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

Geografické informační systémy p. 1 Geografické informační systémy Slajdy pro předmět GIS Martin Hrubý hrubym @ fit.vutbr.cz Vysoké učení technické v Brně Fakulta informačních technologií, Božetěchova 2, 61266 Brno akademický rok 2004/05

Více

MBI - technologická realizace modelu

MBI - technologická realizace modelu MBI - technologická realizace modelu 22.1.2015 MBI, Management byznys informatiky Snímek 1 Agenda Technická realizace portálu MBI. Cíle a principy technického řešení. 1.Obsah portálu - objekty v hierarchiích,

Více

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

Tvorba nových dat. Vektor. Geodatabáze. Prezentace prostorových dat. Základní geometrické objekty Bod Linie Polygon. Vektorová Tvorba nových dat Vektor Rastr Geodatabáze Prezentace prostorových dat Vektorová Základní geometrické objekty Bod Linie Polygon Uložení atributů v tabulce Příklad vektorových dat Výhody/nevýhody použití

Více

Databáze II. 1. přednáška. Helena Palovská palovska@vse.cz

Databáze II. 1. přednáška. Helena Palovská palovska@vse.cz Databáze II 1. přednáška Helena Palovská palovska@vse.cz Program přednášky Úvod Třívrstvá architektura a O-R mapování Zabezpečení dat Role a přístupová práva Úvod Co je databáze Mnoho dat Organizovaných

Více

Současný svět Projekt č. CZ.2.17/3.1.00/32038, podpořený Evropským sociálním fondem v rámci Operačního programu Praha adaptabilita

Současný svět Projekt č. CZ.2.17/3.1.00/32038, podpořený Evropským sociálním fondem v rámci Operačního programu Praha adaptabilita Aktivní webové stránky Úvod: - statické webové stránky: pevně vytvořený kód HTML uložený na serveru, ke kterému se přistupuje obvykle pomocí protokolu HTTP (HTTPS - zabezpečený). Je možno používat i různé

Více

Hardware Různé počítačové platformy (personální počítače, pracovní stanice, víceuživatelské systémy) Požadavek na konkrétní vstupní a výstupní zařízen

Hardware Různé počítačové platformy (personální počítače, pracovní stanice, víceuživatelské systémy) Požadavek na konkrétní vstupní a výstupní zařízen Základy teorie GIS Tomáš Řezník Vymezení pojmů Kartografie je věda, technologie a umění tvorby map, včetně jejich studia jako vědeckých dokumentů a uměleckých prací (International Cartographic Association,

Více

1 Webový server, instalace PHP a MySQL 13

1 Webový server, instalace PHP a MySQL 13 Úvod 11 1 Webový server, instalace PHP a MySQL 13 Princip funkce webové aplikace 13 PHP 14 Principy tvorby a správy webového serveru a vývojářského počítače 14 Co je nezbytné k instalaci místního vývojářského

Více

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

Úvod do databází. Modelování v řízení. Ing. Petr Kalčev Úvod do databází Modelování v řízení Ing. Petr Kalčev Co je databáze? Množina záznamů a souborů, které jsou organizovány za určitým účelem. Jaké má mít přínosy? Rychlost Spolehlivost Přesnost Bezpečnost

Více

Informační systémy 2008/2009. Radim Farana. Obsah. Jazyk SQL

Informační systémy 2008/2009. Radim Farana. Obsah. Jazyk SQL 4 Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení 2008/2009 Radim Farana 1 Obsah Jazyk SQL, datové typy, klauzule SELECT, WHERE, a ORDER BY. Doporučená

Více

Inovace a zkvalitnění výuky prostřednictvím ICT Databázové systémy MySQL základní pojmy, motivace Ing. Kotásek Jaroslav

Inovace a zkvalitnění výuky prostřednictvím ICT Databázové systémy MySQL základní pojmy, motivace Ing. Kotásek Jaroslav Střední průmyslová škola a Vyšší odborná škola technická Brno, Sokolská 1 Šablona: Název: Téma: Autor: Číslo: Anotace: Inovace a zkvalitnění výuky prostřednictvím ICT Databázové systémy MySQL základní

Více

FIREBIRD relační databázový systém. Tomáš Svoboda

FIREBIRD relační databázový systém. Tomáš Svoboda FIREBIRD relační databázový systém Tomáš Svoboda xsvobo13@fi.muni.cz Firebird historie 80. léta - Jim Starkey (DEC) InterBase 1994 - odkoupila firma Borland 2000 - Borland uvolnil zdrojové texty InterBase

Více

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

Základy informatiky. 08 Databázové systémy. Daniela Szturcová Základy informatiky 08 Databázové systémy Daniela Szturcová Problém zpracování dat Důvodem je potřeba zpracovat velké množství dat - evidovat údaje o nějaké skutečnosti. o skupině lidí (zaměstnanců, studentů,

Více

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

Geografické informační systémy ArcGIS Pavel Juška (jus011) 4. března 2010, Ostrava Geografické informační systémy ArcGIS Pavel Juška (jus011) 4. března 2010, Ostrava Charakterisitka ArcGIS Geografický informační systém. Integruje mnoho součástí v jednom systému. Integrované sady aplikací

Více

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

Digitální mapa veřejné správy Plzeňského kraje - část II. Příloha č. 1 Zadávací dokumentace Dodávka základního SW pro projekt DMVS PK Digitální mapa veřejné správy Plzeňského kraje - část II. Zadávací dokumentace výběrového řízení: "Dodávka základního SW pro

Více

Využití FWTools a UMN MapServer. dat

Využití FWTools a UMN MapServer. dat pro zpracování a zpřístupnění objemných prostorových dat ČVUT v Praze, Fakulta stavební, katedra mapování a kartografie 21. října 2008 prezentace 1 2 3 4 pro utility FWTools časté zpracování objemných

Více

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

Metody ukládání časoprostorových dat pro multirelační dolování Metody ukládání časoprostorových dat pro multirelační dolování Martin Večeřa Laborato vyhledávání znalostí ř Fakulta informatiky Masarykova Univerzita Brno Časoprostorová data zachycení části 2D/3D prostoru

Více

Použitá metodika. Jan Pytel. NOP.

Použitá metodika. Jan Pytel. NOP. Pokrytí funkcí GIS s využitím Open Source nástrojů J an Růžička VŠB-TUO Otvorený softvér vo vzdelávaní, výskume a v IT riešeniach 2010 1. - 4. července 2010, Žilina, Slovensko Použitá metodika Jan Pytel.

Více

Reliance 3 design OBSAH

Reliance 3 design OBSAH Reliance 3 design Obsah OBSAH 1. První kroky... 3 1.1 Úvod... 3 1.2 Založení nového projektu... 4 1.3 Tvorba projektu... 6 1.3.1 Správce stanic definice stanic, proměnných, stavových hlášení a komunikačních

Více

Klíčová slova: dynamické internetové stránky, HTML, CSS, PHP, SQL, MySQL,

Klíčová slova: dynamické internetové stránky, HTML, CSS, PHP, SQL, MySQL, Anotace sady: Dynamické internetové stránky, VY_32_INOVACE_PRG_PHP_01 Klíčová slova: dynamické internetové stránky, HTML, CSS, PHP, SQL, MySQL, Stupeň a typ vzdělávání: gymnaziální vzdělávání, 4. ročník

Více

Úrovně abstrakce reality

Úrovně abstrakce reality Datové modelování Úrovně abstrakce reality Reálný svět Datový model Datová struktura Struktura datových souborů Datové modely v GIS Klasické datové modely (vznikly jako výsledek transformace mapy do GIS

Více

Mapa Česka: www.mapa-ceska.cz

Mapa Česka: www.mapa-ceska.cz Mapa Česka: www.mapa-ceska.cz Mapový portál Mapa Česka, který je dostupný na internetové adrese www.mapa-ceska.cz, byl vytvořen v roce 2014 v rámci bakalářské práce na Přírodovědecké fakultě Univerzity

Více

Databázové systémy úvod

Databázové systémy úvod Databázové systémy úvod Michal Valenta Katedra softwarového inženýrství FIT České vysoké učení technické v Praze c Michal Valenta, 2012 BI-DBS, ZS 2012/13 https://edux.fit.cvut.cz/courses/bi-dbs/ Michal

Více

BALISTICKÝ MĚŘICÍ SYSTÉM

BALISTICKÝ MĚŘICÍ SYSTÉM BALISTICKÝ MĚŘICÍ SYSTÉM UŽIVATELSKÁ PŘÍRUČKA Verze 2.3 2007 OBSAH 1. ÚVOD... 5 2. HLAVNÍ OKNO... 6 3. MENU... 7 3.1 Soubor... 7 3.2 Měření...11 3.3 Zařízení...16 3.4 Graf...17 3.5 Pohled...17 1. ÚVOD

Více

Geografické informační systémy. Databázové systémy pro GIS

Geografické informační systémy. Databázové systémy pro GIS Geografické informační systémy Databázové systémy pro GIS Databázové systémy pro GIS Struktura a funkce databázových systémů/uložení dat v GIS. Různé varianty uložení. Především: Atributové údaje. Dnes

Více

Mapový server Marushka. Technický profil

Mapový server Marushka. Technický profil Technický profil Úvodní informace Mapový aplikační server Marushka představuje novou generaci prostředků pro publikaci a využívání dat GIS v prostředí Internetu a intranetu. Je postaven na komponentové

Více

Uživatelský manuál. Aplikace GraphViewer. Vytvořil: Viktor Dlouhý

Uživatelský manuál. Aplikace GraphViewer. Vytvořil: Viktor Dlouhý Uživatelský manuál Aplikace GraphViewer Vytvořil: Viktor Dlouhý Obsah 1. Obecně... 3 2. Co aplikace umí... 3 3. Struktura aplikace... 4 4. Mobilní verze aplikace... 5 5. Vytvoření projektu... 6 6. Části

Více

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

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 Geografické informační systémy KIG/1GIS2 rozsah: 2 hod přednáška, 2 hod cvičení způsob ukončení: zápočet + zkouška vyučující: e-mail: Ing. Jitka Elznicová, Ph.D. jitka.elznicova@ujep.cz Konzultační hodiny:

Více

Databáze SQL SELECT. David Hoksza http://siret.cz/hoksza

Databáze SQL SELECT. David Hoksza http://siret.cz/hoksza Databáze SQL SELECT David Hoksza http://siret.cz/hoksza Osnova Úvod do SQL Základní dotazování v SQL Cvičení základní dotazování v SQL Structured Query Language (SQL) SQL napodobuje jednoduché anglické

Více

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

Milan Bořík, Vojtěch Honzík OPEN SOURCE GIS FUNKCE V PROSTŘEDÍ POSTGIS, TVORBA VLASTNÍCH FUNKCÍ A GRAFICKÝCH VÝSTUPŮ 25. KONFERENCE O GEOMETRII A POČÍTAČOVÉ GRAFICE Milan Bořík, Vojtěch Honzík OPEN SOURCE GIS FUNKCE V PROSTŘEDÍ POSTGIS, TVORBA VLASTNÍCH FUNKCÍ A GRAFICKÝCH VÝSTUPŮ Abstrakt Open source GIS (geografický

Více

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

PostGIS Topology. Topologická správa vektorových dat v geodatabázi PostGIS. Martin Landa Přednáška 5 Topologická správa vektorových dat v geodatabázi PostGIS 155UZPD Úvod do zpracování prostorových dat, zimní semestr 2018-2019 Martin Landa martin.landa@fsv.cvut.cz Fakulta stavební ČVUT v Praze

Více

Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework

Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework Web Jaroslav Nečas Obsah přednášky Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework Co to je web HTTP protokol bezstavový GET POST HEAD Cookies Session HTTPS

Více

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

PostGIS Raster. Správa rastrových dat v geodatabázi PostGIS. Martin Landa. 155UZPD Úvod do zpracování prostorových dat, zimní semestr Přednáška 6 Správa rastrových v geoabázi PostGIS 155UZPD do zpracování prostorových, zimní semestr 2016-2017 Martin Landa martin.landa@fsv.cvut.cz Fakulta stavební ČVUT v Praze Katedra geomatiky http://geo.fsv.cvut.cz/gwiki/155uzpd

Více

Databázové systémy. - SQL * definice dat * aktualizace * pohledy. Tomáš Skopal

Databázové systémy. - SQL * definice dat * aktualizace * pohledy. Tomáš Skopal Databázové systémy - SQL * definice dat * aktualizace * pohledy Tomáš Skopal Osnova přednášky definice dat definice (schémat) tabulek a integritních omezení CREATE TABLE změna definice schématu ALTER TABLE

Více

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

Informační systémy ve zdravotnictví. 6. cvičení Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Informační systémy ve zdravotnictví 6. cvičení Ing. Petr Lukáš petr.lukas@nativa.cz Ostrava, 2014 Opakování Relace

Více

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

Evidence městského mobiliáře v GIS Kompas 3.2 MK Consult, v.o.s. IČ 254 72 593 Drážďanská 493/40, 400 07 Ústí nad Labem tel.:475500408, 603145698; info@mkconsult.cz, www.mkconsult.cz Evidence městského mobiliáře v GIS Kompas 3.2 Základní popis programu

Více

Oracle XML DB. Tomáš Nykodým

Oracle XML DB. Tomáš Nykodým Oracle XML DB Tomáš Nykodým xnykodym@fi.muni.cz Osnova Oracle XML DB Architektura Oracle XML DB Hlavní rysy Oracle XML DB Hlavní rysy Oracle XML DB - pokračování XMLType XML Repository Využívání databázových

Více

Základy informatiky. 06 Databázové systémy. Kačmařík/Szturcová/Děrgel/Rapant

Základy informatiky. 06 Databázové systémy. Kačmařík/Szturcová/Děrgel/Rapant Základy informatiky 06 Databázové systémy Kačmařík/Szturcová/Děrgel/Rapant Problém zpracování dat důvodem je potřeba zpracovat velké množství dat, evidovat údaje o nějaké skutečnosti: o skupině lidí (zaměstnanců,

Více

DELTA - STŘEDNÍ ŠKOLA INFORMATIKY A EKONOMIE, s.r.o. Obor informační technologie AJAX ESHOP. Maturitní projekt. Třída:

DELTA - STŘEDNÍ ŠKOLA INFORMATIKY A EKONOMIE, s.r.o. Obor informační technologie AJAX ESHOP. Maturitní projekt. Třída: DELTA - STŘEDNÍ ŠKOLA INFORMATIKY A EKONOMIE, s.r.o. Obor informační technologie AJAX ESHOP Maturitní projekt Vypracoval: Denis Ptáček Třída: 4B Rok: 2014/2015 Obsah 1. Použité nástroje... 3 1.1 NetBeans

Více

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

Simple Features. Úvod do problematiky, geodatabáze, OGC Simple Features. Martin Landa Geodatabáze Simple Features Přednáška 1 Geodatabáze Simple Features do problematiky, geodatabáze, OGC Simple Features 155UZPD do zpracování prostorových dat, zimní semestr 2017-2018 Databáze Prostorová

Více

Databázové systémy úvod

Databázové systémy úvod Databázové systémy úvod Michal Valenta Katedra softwarového inženýrství FIT České vysoké učení technické v Praze c Michal Valenta, 2011 BI-DBS, ZS 2011/12 https://edux.fit.cvut.cz/courses/bi-dbs/ Michal

Více

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

Primární klíč (Primary Key - PK) Je právě jedna množina atributů patřící jednomu z kandidátů primárního klíče. Primární a cizí klíč Kandidát primárního klíče (KPK) Je taková množina atributů, která splňuje podmínky: Unikátnosti Minimálnosti (neredukovatelnosti) Primární klíč (Primary Key - PK) Je právě jedna množina

Více

Digitální kartografie 8

Digitální kartografie 8 Digitální kartografie 8 souborová geodatabáze ESRI ArcGIS strana 2 ArcGIS 10.0 podporuje uložení dat v: - souborové geodatabázi (File Geodatabase) - osobní geodatabázi (Personal Geodatabase) - shapefile

Více

Možnosti tisku v MarushkaDesignu

Možnosti tisku v MarushkaDesignu 0 Možnosti tisku v MarushkaDesignu OBSAH 1 CÍL PŘÍKLADU...2 2 PRÁCE S PŘÍKLADEM...2 3 UKÁZKA DIALOGOVÉHO OKNA...3 4 STRUČNÝ POPIS PŘÍKLADU V MARUSHKADESIGNU...5-1 - 1 Cíl příkladu V tomto příkladu si ukážeme

Více

2 PŘÍKLAD IMPORTU ZATÍŽENÍ Z XML

2 PŘÍKLAD IMPORTU ZATÍŽENÍ Z XML ROZHRANÍ ESA XML Ing. Richard Vondráček SCIA CZ, s. r. o., Thákurova 3, 160 00 Praha 6 www.scia.cz 1 OTEVŘENÝ FORMÁT Jednou z mnoha užitečných vlastností programu ESA PT je podpora otevřeného rozhraní

Více

Algoritmizace prostorových úloh

Algoritmizace prostorových úloh Algoritmizace prostorových úloh Vektorová data Daniela Szturcová Prostorová data Geoobjekt entita definovaná v prostoru. Znalost jeho identifikace, lokalizace umístění v prostoru, vlastností vlastních

Více

VYTVÁŘENÍ DATABÁZÍ, VKLÁDÁNÍ ÚDAJŮ

VYTVÁŘENÍ DATABÁZÍ, VKLÁDÁNÍ ÚDAJŮ Úvod do problematiky VYTVÁŘENÍ DATABÁZÍ, VKLÁDÁNÍ ÚDAJŮ Databáze je uspořádaná množina velkého množství informací (dat). Příkladem databáze je překladový slovník, seznam PSČ nebo telefonní seznam. Databáze

Více

Porovnání rychlosti mapového serveru GeoServer při přístupu k různým datovým skladům

Porovnání rychlosti mapového serveru GeoServer při přístupu k různým datovým skladům Porovnání rychlosti mapového serveru GeoServer při přístupu k různým datovým skladům Bakalářská práce 2014 Autor: Adam Schreier Garant práce: Jan Růžička Obsah prezentace 1.Seznámení s řešeným problémem

Více

Business Intelligence

Business Intelligence Business Intelligence Josef Mlnařík ISSS Hradec Králové 7.4.2008 Obsah Co je Oracle Business Intelligence? Definice, Od dat k informacím, Nástroj pro operativní řízení, Integrace informací, Jednotná platforma

Více

Evidence a správa kanalizace v GIS Kompas 3.2

Evidence a správa kanalizace v GIS Kompas 3.2 IČ: 25472593 MK Consult, v.o.s. Drážďanská 493/40, 40007 Ústí nad Labem tel.,fax 47550500408, e-mail info@mkconsult.cz Evidence a správa kanalizace v GIS Kompas 3.2 Základní popis programu Kompas 3.2 Systém

Více

RadioBase 3 Databázový subsystém pro správu dat vysílačů plošného pokrytí

RadioBase 3 Databázový subsystém pro správu dat vysílačů plošného pokrytí Databázový subsystém pro správu dat vysílačů plošného pokrytí RadioBase je datový subsystém pro ukládání a správu dat vysílačů plošného pokrytí zejména pro služby analogové a digitální televize a rozhlasu.

Více

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

Ukládání a vyhledávání XML dat XML teorie a praxe značkovacích jazyků (4IZ238) Jirka Kosek Poslední modifikace: $Date: 2014/12/04 19:41:24 $ Obsah Ukládání XML dokumentů... 3 Ukládání XML do souborů... 4 Nativní XML databáze... 5 Ukládání

Více

InnoDB transakce, cizí klíče, neumí fulltext (a nebo už ano?) CSV v textovém souboru ve formátu hodnot oddělených čárkou

InnoDB transakce, cizí klíče, neumí fulltext (a nebo už ano?) CSV v textovém souboru ve formátu hodnot oddělených čárkou MySQL Typy tabulek Storage Engines MyISAM defaultní, neumí transakce, umí fulltext InnoDB transakce, cizí klíče, neumí fulltext (a nebo už ano?) MEMORY (HEAP) v paměti; neumí transakce ARCHIVE velké množství

Více