UNIVERZITA PALACKÉHO V OLOMOUCI
|
|
- Květoslava Kučerová
- před 8 lety
- Počet zobrazení:
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 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íceGIS 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íceGIS 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íceKMA/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íceDatabá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íceDatabá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íceKapitola 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íceDatabá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ícePROSTOROVÉ 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íceGeoHosting. 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íce8.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íceJá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íceFOSS4G ú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íceKurz 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íceGIS 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íceGIS 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íceGeografické 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íceSimple 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íceObsah. 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íceDatabá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íceNá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ů
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íceDUM 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íceDatabá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íceDatabá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íceDatabá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íce1. 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íceRELAČ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íceManuá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íce2. 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íceJazyk 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íce5. 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íceUká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íceDATABÁ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íceDatový 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íceDatabá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íceMaturitní 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íceZá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íceRelač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ícePouž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íceObchodní 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íceHlavní 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íce1 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íceDatabá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íce7. 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íce7. 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íceGIS 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íceGeografické 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íceMBI - 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íceTvorba 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íceDatabá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íceSouč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íceHardware 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íce1 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 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íceInformač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íceInovace 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íceFIREBIRD 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íceZá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íceGeografické 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íceDigitá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íceVyuž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íceMetody 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ícePouž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íceReliance 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íceKlíč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
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íceMapa Č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íceDatabá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íceBALISTICKÝ 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íceGeografické 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íceMapový 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íceUž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íceKIG/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íceDatabá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íceMilan 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ícePostGIS 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íceObsah 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ícePostGIS 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íceDatabá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íceInformač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íceEvidence 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íceOracle 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íceZá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íceDELTA - 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íceSimple 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íceDatabá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ícePrimá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íceDigitá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íceMož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íce2 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íceAlgoritmizace 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íceVYTVÁŘ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ícePorovná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íceBusiness 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íceEvidence 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íceRadioBase 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íceUklá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íceInnoDB 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