Fakulta stavební Katedra mapování a kartografie

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

Download "Fakulta stavební Katedra mapování a kartografie"

Transkript

1 ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ Fakulta stavební Katedra mapování a kartografie DIPLOMOVÁ PRÁCE 2009 Kateřina Šmídová

2 ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ Fakulta stavební Katedra mapování a kartografie Export dat SGI ISKN do formátu ESRI shapefile a jejich import do RDBMS za pomoci WKT/WKB. Jméno diplomanta: Kateřina Šmídová Vedoucí diplomové práce: Ing. Petr Souček, Ph.D.

3 3

4 Prohlášení Prohlašuji, že jsem diplomovou práci vypracovala samostatně s použitím literatury uvedené v seznamu. V Praze dne podpis

5 Poděkování Na tomto místě bych chtěla poděkovat svému vedoucímu Ing. Petrovi Součekovi, Ph.D. za vstřícnost, ochotu, rady a připomínky a své rodině za podporu, trpělivost a toleranci po celou dobu mého studia na vysoké škole. Dále bych ráda vyjádřila poděkování panu prof. Ing. Aleši Čepkovi, CSc. a panu Ing. Jiřímu Bartošovi za ochotu, rady a připomínky.

6 ABSTRAKT Tato práce se zabývá úvodem do geografických informačních systémů (GIS), grafickými formáty dat, stručným úvodem do databází a programovacího jazyku Java. Cílem práce je vytvoření programů pro převod grafických dat z publikační databáze ISKN do formátu ESRI Shapefile a jejich následné převedení do databáze SQLite s využitím OGC WKT - řešení praktického úkolu z prostředí Českého úřadu zeměměřického a katastrálního (ČÚZK). Klíčová slova GIS, prostorová data, geodata, geoobjekty, datové modely v GIS, grafické formáty, Shapefile, databáze, SQL, Oracle, SQLite, SpatiaLite, uložení grafických dat v publikační databázi ISKN, Java ABSTRACT This diploma project provides an introduction to geographic information systems (GIS), graphics formats, a brief description of databases and programming language Java. The purpose of this project is to create programs for export of SGI data of the Information system of the Cadastre of Real Estate to the ESRI Shapefile format and import them to the SQLite database by using OGC WKT - based on a realworld scenario developed for the Czech Office for Surveying, Mapping and Cadastre. Keywords GIS, spatial data, geodata, geoobjects, GIS data models, graphics formats, Shapefile, databases, SQL, Oracle, SQLite, SpatiaLite, SGI graphic data storage, Java

7 OBSAH OBSAH 1 Úvod 13 2 GIS Definice Prostorová data, geodata a geoobjekty Prostorová data a geodata Geoobjekty Datové modely v GIS Rastrové datové modely Vektorové datové modely Hybridní datové modely Grafické formáty Vektorové formáty Formát DGN Formát DWG Formát Geography Mark-Up Language Formát Shapefile Rastrové formáty GIF PNG JPEG Databáze SQL Oracle Oracle Spatial Publikační databáze SQLite Typy uložení dat SpatiaLite Model třídy Geometry dle OGC

8 OBSAH 5.2 Podporované formáty prostorových dat WKT WKB Vnitřní BLOB formát Vytvoření prostorových hodnot Vytvoření geometrie pomocí WKT Vytvoření geometrie pomocí WKB Vytvoření prostorových sloupců SpatiaLite GUI Úvod do programovacího jazyku Java Základy programovacího jazyka Překlad a spuštění Základní datové typy Řízení programu Vývojová prostředí Knihovny Swing GeoTools Převod dat z publikační databáze do ESRI Shapefile Třída HraniceParcel Třída ParcelyKn Třída ParcelyZe Třída Budovy Třída DalsiPrvkyMapy Třída Hlavni Třída Gui Třída JDBC provedtestkodku() testspojeni() proveddotazy() vytvorshp() SDO2WKT()

9 OBSAH zpracujhranice() Třída Chyba Třída OknoText Výsledky programu Import dat do SQLite Třída Hlavni Třída Gui ziskejsoubory() Třída Ziskej data ziskej hranice() Výsledky programu Závěr 76 Literatura 78 Přílohy 81 Příloha A Příloha B Příloha C Příloha D

10 SEZNAM OBRÁZKŮ SEZNAM OBRÁZKŮ 2.1 Ukázka špagetového modelu Ukázka topologického modelu Ukázka hierarchického modelu Vizualizace SDO GEOMETRY Ukázka spuštění a použití databáze SQLite Ukázka geometrie zapsané pomocí WKT Ukázka geometrie zapsané pomocí WKT Ukázka SpatiaLite GUI Vývojové prostředí Eclipse Grafické uživatelské rozhraní programu SDO2SHP O programu SDO2SHP Nápověda programu SDO2SHP GUI v běhu programu SDO2SHP Přidání jar do Javy Znázornění tvorby šipky Rozměry šipky Informace o úspěšném ukončení programu Informace o neúspěšném ukončení programu Katastrální území Krnov Katastrální území Zlín dle přesnosti hranic Zobrazení hranic k.ú. Krnov dle přesnosti Detail výstupu programu Detail výstupu programu Detail výstupu programu Detail výstupu programu GUI programu SHP2DB Volba O programu v GUI SHP2DB Nápověda programu SHP2DB Výsledky programu SHP2DB Výsledky programu SHP2DB Výsledky programu SHP2DB

11 SEZNAM OBRÁZKŮ 9.1 Zobrazení výstupu programu SDO2SHP.jar Detail výstupu programu SDO2SHP Detail výstupu programu SDO2SHP Detail výstupu programu SDO2SHP Detail výstupu programu SDO2SHP Obsah přiloženého CD

12 SEZNAM TABULEK SEZNAM TABULEK 7.1 Tabulka typů geometrií dle GET GTYPE() Tabulka PUB HRANICE PARCEL Tabulka PUB PARCELY ZE Tabulka PUB PARCELY KN Tabulka PUB BUDOVY Tabulka PUB DALSI PRVKY MAPY

13 1. Úvod 1 ÚVOD Geografické informační systémy (GIS) mají v dnešní době široké uplatnění. Používají se například v oblastech životního prostředí (modelování, sledovaní stavu životního prostředí), dopravy (optimalizace dopravy, navigace), státní správy (mapy města, katastrální mapy), záchranné služby, archeologie a v mnohých dalších. Využíváme je tedy především v případě, že máme k dispozici prostorová data [2.2.1]. Prostorová data mohou být uložena různými způsoby. Tato diplomová práce se zabývá úvodem do GIS, druhy grafických formátů, snaží se přiblížit práci s databázovými systémy a programovacím jazykem Java. Cílem práce je vytvoření softwarových nástrojů pro převod grafických dat z publikační databáze ISKN do formátu ESRI Shapefile a jejich následný import do RDBMS. Struktura práce je následující: 2. kapitola seznamuje s geografickými informačními systémy. Vysvětluje některé ze základních pojmů, které jsou důležité pro pochopení problematiky. 3. kapitola popisuje výhody a nevýhody vektorových a rastrových grafických formátů. Také se věnuje několika ukázkám jednotlivých grafických formátů. 4. kapitola se věnuje databázím. Nejprve vysvětluje obecné pojmy a poté seznamuje s konkrétními databázemi, a to Oracle a SQLite. 5. kapitola seznamuje s prostorovým rozšířením SQLite. Popisuje formáty prostorových dat, které podporuje, ukazuje, jak vytvořit prostorové hodnoty. 6. kapitola uvádí programovací jazyk Java, jednoduché základy tohoto jazyka. Seznamuje s několika vývojovými prostředími, která lze použít pro programování v jazyce Java. 7. a 8. kapitola ukazují řešení konkrétního úkolu. Tuto práci bylo možné vyhotovit díky spolupráci s Českým úřadem zeměměřickým a katastrálním v Praze. Diplomová práce je vyhotovena v sázecím systému L A TEX. 13

14 2. GIS 2 GIS Geografický informační systém (dále GIS) je dle [24] možné vnímat několika způsoby: Jako software - např. prohlášení: Produkt X firmy Y je/není GIS. Jako konkrétní aplikaci - existuje mnoho definic. Jako informační technologii - celkové prostředí, v němž aplikace GIS vznikají (systém standardů, národní digitální data, pravidelný výzkum, systém přípravy odborníků... ). 2.1 Definice Jelikož je možné na GIS nahlížet z mnoha různých pohledů, existuje mnoho definic. GIS je/jsou: databázový systém, ve kterém je většina údajů prostorově definována a na jejíž zpracování lze použít procedury dotazů na prostorové entity v databázi, [30] na počítačích založený informační systém pro získávání, obhospodařovávání, analýzu, modelování a vizualizaci geoinformací. Geodata, která využívá, popisují geometrii, topologii, tematiku (atributy) a dynamiku (změny v čase) geoobjektů, [30] informační systém zabývající se informacemi, které se týkají jevů přidružených k místu vztaženému k Zemi, [32] funkční celek vytvořený integrací technických a programových prostředků, dat, pracovních postupů, obsluhy, uživatelů a organizačního kontextu, zaměřený na sběr, ukládání, správu, analýzu, syntézu a prezentaci prostorových dat pro potřeby popisu, analýzy, modelování a simulace okolního světa s cílem získat nové informace potřebné pro racionální správu a využívání tohoto světa, [32] počítačové systémy, které umí pracovat s prostorovými daty. [12] Každá z uvedených definic je svým způsobem výstižná. Uvedeme-li jich však více, je snazší vytvořit si poměrně jasnou představu, co GIS ve skutečnosti znamená. 14

15 2. GIS 2.2 Prostorová data, geodata a geoobjekty V definicích pojmu GIS (kapitola 2) se mimo jiné vyskytly pojmy prostorová data, geodata a geoobjekt. Uvedeme si jejich význam Prostorová data a geodata Prostorová data jsou data o poloze, tvaru a vztazích mezi jevy reálného světa, vyjádřená zpravidla ve formě souřadnic a topologie. [32] Geodata představují data identifikující geografickou polohu a charakteristiky přírodních a antropogenních jevů a hranic mezi nimi. [32] Rovněž lze geodata popsat jako počítačově zpracovatelnou formu informace týkající se jevů přímo nebo nepřímo přidružených k místu na Zemi. [32] Termíny prostorová data a geodata jsou často užívána ve smyslu synonym Geoobjekty Geoobjekt je část modelované reality, kterou je možné na dané úrovni generalizace v GIS modelovat jako jeden objekt. Jednotlivé geoobjekty lze dle [30] odlišit pomocí: topologie - polohovým vztahem k jiným geoobjektům, geometrie - prostorové polohy, atributů - tématiky, dynamiky - změn. Geoobjekty, které popisují stejné téma, jsou ukládány do mapových vrstev. Tyto mapové vrstvy lze rovněž nazvat tematické. Téma může být různé, např. vodstvo, sídla,... Mapové vrstvy mohou být vektorové nebo rastrové. 2.3 Datové modely v GIS Model je zjednodušené zobrazení reality, většinou její části. V GIS lze dle [24] datové modely rozdělit na: klasické - výsledek transformace mapa GIS, 15

16 2. GIS objektově orientované - výsledek transformace vnitřní (pozorovatelem vnímaný) model GIS, jeho koncepce odpovídá geoobjektu. Klasické datové modely mohou být: rastrové, vektorové, hybridní - kombinované Rastrové datové modely Rastrový model vznikne, pokud plochu rozdělíme pravidelnou sítí a každé buňce přiřadíme hodnotu. Touto buňkou (cell), představující nejmenší jednotku, bývá nejčastěji čtverec nebo obdélník (příp. trojúhelník či šestiúhelník). Nejpoužívanější je čtvercová mřížka 1. Tento model se používá především pro spojitě se měnící jevy (např. digitální model reliéfu). Základní typy rastrových datových modelů jsou dle [11]: pravidelná reprezentace - všechny buňky mají stejnou velikost a tvar. Výhodou u tohoto typu je jednoduché zpracování a ukládání dat. Nevýhodou je, že zabírají mnoho místa na disku, nepravidelná reprezentace - kromě Triangulated Irregular Network (TIN 2 ) se téměř nepoužívá Vektorové datové modely Mezi základní geometrické prvky, kterými mohou být vektorová data znázorněna, patří bod, linie a plocha. Prostorové vztahy mezi prvky jsou definovány v topologii. Graf je složen z vrcholů a hran 3. Vektorová data mohou být uložena dle různých druhů vektorových modelů: 1 Nejmenší jednotka digitálně rastrové techniky se nazývá pixel [3] 2 TIN reprezentuje povrch jako soubor trojúhelníků. Každý trojúhelník je definován třemi body umístěnými v prostoru. 3 Dle [5] spojuje hrana vždy dva vrcholy a může být bud orientovaná, nebo neorientovaná. U orientovaných hran je rozlišen počáteční a koncový vrchol. Pokud hrana spojuje nějaký vrchol se sebou samým, nazýváme ji smyčkou. 16

17 2. GIS špagetový - soubor řetězců souřadnic je uložen v jediném seznamu, neexistují žádné prostorové vztahy s okolními prvky, viz obrázek 2.1, Obrázek 2.1: Ukázka špagetového modelu topologický - v topologickém smyslu je základním prvkem hrana 4, hrana začíná a končí v průsečíku s jinou hranou - v uzlovém bodě, záznamy však nejsou uspořádány (stejně jako ve špagetovém modelu), objekty jsou ukládány bez duplicit. Ukázku tohoto modelu můžeme vidět na obrázku 2.2 Obrázek 2.2: Ukázka topologického modelu hierarchický - jak je vidět na obrázku 2.3, údaje jsou ukládány v logické hierarchické struktuře 5. Ukládání dat probíhá způsobem blízkým reálnému světu. 4 základním logickým prvkem je zde linie 5 označována též jako stromová, na nejvyšší úrovni stojí kořen 17

18 2. GIS Obrázek 2.3: Ukázka hierarchického modelu Hybridní datové modely Tento model je kombinací obou předchozích modelů a Je vhodný pro ukládání rastrových i vektorových dat. 18

19 3. Grafické formáty 3 GRAFICKÉ FORMÁTY Grafické formáty definují způsob uložení grafických dat. Můžeme je rozdělit do dvou skupin: vektorové, rastrové. 3.1 Vektorové formáty Jsou-li prostorová data [2.2.1] v digitální podobě, mohou být uložena bud v databázích nebo ve speciálních formátech pro ukládání prostorových dat. Vektorovými formáty mohou být například DGN, SHP a další. Mezi výhody vektorového formátu patří: relativní pamět ová úspornost, je možné pracovat s jednotlivými objekty (např. otočení, posun,... ), jednoduchý převod do rastrového formátu. Nevýhodami jsou například: většinou složitější získání obrázku oproti rastrové (fotoaparát, skener), není vhodný pro složitější předlohy, v nichž dominují barvy (fotografické snímky) Formát DGN Design, zkráceně DGN, je formátem firmy Bentley Systems. V současné době se používají dvě verze tohoto formátu, a to DGN V7 a DGN V8. Tento datový formát umožňuje mimo jiné uložení výkresů, map, schémat, 3D modelů. Jedná se především o vektorový formát, ale je možné v něm ukládat i rastrová nebo popisná data. Standardní příponou je dgn, dále je možné se setkat s příponou rdl, která je používána pro poznámkové výkresy v prohlížecích produktech s možností připomínkování (např. Bentley Redline). 19

20 3. Grafické formáty DGN V7 Formát DGN V7 vznikl v polovině osmdesátých let minulého století. V minulosti byl označován pouze jako DGN, nové označení získal až s příchodem MicroStation 1 V8 a nového formátu DGN V8. DGN V7 byl vyvinut na základě formátu ISFF (Intergraph Standard File Format) systému IGDS (Intergraph s Interactive Graphics Design System) firmy Intergraph. Po dobu více než 15 let zůstala základní struktura formátu DGN v podstatě beze změny. Pokud došlo ke změnám, zůstala zachována zpětná kompatibilita dat. DGN V8 V roce 2001 byl spolu s novou verzí MicroStation V8 uveden i nový formát DGN V8. Došlo např. k následujícím změnám: byla odstraněna omezení formátu DGN V7, např. maximální počet vrstev, maximální velikost souboru,..., formát je snáze rozšiřitelný, flexibilnější v možnostech ukládání (např. popisná data ve formátu XML), formát umožňuje sledovat historii změn ve výkresu,... Porovnání formátů DGN V7 a DGN V8 lze nalézt např. [13]. Tento formát již není zpětně kompatibilní se staršími verzemi MicroStationu Formát DWG Formát DWG je neveřejným formátem firmy AutoDesk. Primárně je tento formát formátem souborů programu AutoCad. Umožňuje ukládat 2D i 3D data a spolu se svou výměnnou variantou formátem DXF je považován za standard v oblasti výměny 2D CAD dat. AutoCad při ukládání DWG souboru zálohuje původní soubor pod stejným jménem s příponou bak. Dojde-li k poškození souboru DWG, je možné přepsáním koncovky BAK na DWG získat původní soubor. 1 MicroStation je CAD (Computer-Aided Design neboli počítačem podporované projektování) produkt, který obsahuje například 2D nástroje pro kreslení, sestavování výkresů, 3D nástroje pro modelování, konstruování a vizualizaci. 20

21 3. Grafické formáty DXF Vektorový formát Drawing Interchange File Format (dále DXF) je formátem firmy AutoDesk a umožňuje ukládat informace o klasických 2D výkresech, ale i popisy trojrozměrných scén. Vektorová data mohou být v tomto formátu uložena bud v textové formě (častěji) nebo v binární. Soubory v binární podobě jsou menší a načítají se rychleji. Mají většinou 2 příponu dxb (Drawing Binary Interchange File Format). Velkou výhodou tohoto formátu je jeho rozšířenost a jednoduchá interní struktura. Podrobnější popis tohoto formatu lze získat např. [31] Formát Geography Mark-Up Language Formát Geography Markup Language (dále GML) byl vytvořen na základech jazyka XML 3 konsorciem OGC 4. GML umožňuje ukládat vektorová geodata a používá se například jako výměnný formát mezi GIS aplikacemi nebo pro přenos dat webových služeb. Na GML začal pracoval v roce 1998 Ron Lake, za mezinárodní normu byl přijat roku GML dokument je popsán pomocí aplikačního GML schématu, což je schéma XML. Schéma popisuje strukturu dat a definuje elementy a atributy. GML dokument se skládá z GML prvků. GML prvek je analogií objektu reálného světa. Ukázka definice bodu ve formátu GML: <gml:point gml:id="p21"srsname="urn:ogc:def:crs:epsg:6.6:4326 <gml:coordinates>45.67, 88.56</gml:coordinates> </gml:point> Formát Shapefile ESRI Shapefile (dále SHP) je vektorový formát vyvíjený firmou Environmental Systems Research Institute, Inc (dále ESRI). SHP byl představen na počátku roku 1990 v ArcView 5 2 Někdy se můžeme setkat s příponou dxf. 3 XML extensible Markup Language obecný značkovací jazyk určený především pro výměnu dat mezi aplikacemi a pro publikování dokumentů. 4 Open Geospatial Consortium (OGC) je mezinárodní standardizační organizace, která zahrnuje více než 330 komerčních, vládních, nevýdělečných a vědeckých organizací. Podporuje vývoj, implementaci standardů pro geoprostorová data a služby, GIS, zpracování dat a jejich výměnu. [3] 5 ArcView je produktem firmy ESRI, který tvoří sada aplikací ArcMap, ArcCatalog, ModelBuilder a ArcToolbox. 21

22 3. Grafické formáty verze GIS 2. Tento formát ukládá prostorová a atributová data, topologické vztahy mezi danými prostorovými daty však nikoli. Vytvoření SHP Shapefile může být vytvořen několika způsoby: exportem zdrojových dat do SHP pomocí ARC/INFO, Spatial Database Engine (SDE), ArcView GIS nebo BusinessMAP, digitalizací s použitím ArcView GIS nástrojů, programováním pomocí Avenue 6 (ArcView), MapObjects 7,..., naprogramováním vlastního software na základu podrobné technické specifikace formátu Shapefile, který bude převádět prostorová data do tohoto formátu. Složení Formát Shapefile se skládá z několika souborů. Každý ze souborů musí být v souladu s konvencí MS DOS kvůli zpětné kompatibilitě. Ze stejného důvodu by měly být všechny soubory umístěné v jedné složce. Povinné soubory Mezi povinné soubory patří: soubor.shp, soubor.dbf, soubor.shx. Předpona uvedených souborů (v našem případě soubor) musí být u všech třech souborů shodná. 6 Vývojové prostředí aplikace ArcView. 7 MapObjects jsou produkty firmy ESRI, které jsou určeny pro vývoj aplikací v operačním systému Windows. 8 MS DOS 8.3 je konvence pro pojmenovávání souborů. Podle této konvence musí mít název souboru například nejvýše 8 znaků, následuje. a přípona tvořená třemi znaky. Předpona musí začínat alfanumerickým znakem (a-z, 0-9), který je následován maximálně sedmi znaky (a-z, 0-9,, -). Podrobnější informace lze nalézt např. [3]. 22

23 3. Grafické formáty Soubor s příponou shp Hlavní soubor s příponou shp obsahuje geometrický popis prostorových prvků. Soubor se skládá z jedné pevně dané délky hlavičky (100 bytů), která je následována jedním nebo více záznamy s proměnnou délkou. Hlavička obsahuje 17 oblastí devět 4 bytových celočíselných polí a osm 8 bytových polí s plovoucí desetinnou čárkou. V hlavičče je například uvedena délka souboru, verze nebo minimální ohraničující obdélník (min X, min Y, max X, max Y). Po hlavičce následuje libovolné množství záznamů proměnné délky. Každý záznam je uvozen 8 bytovou hlavičkou. Soubor s příponou dbf Zde jsou zaznamenána atributová data, která se vztahují k prostorovým prvkům z výše uvedené vrstvy. Atributy jsou uloženy ve formátu dbase 9. Tento formát má některá omezení, jako například: neumožňuje ukládat hodnotu null, maximální délka názvů polí je 10 znaků, maximální počet polí je 255. V souboru s příponou dbf musí každému prostorovému prvku ze souboru soubor.shp odpovídat jeden záznam a pořadí záznamů je v obou souborech stejné. Soubor s příponou shx Tento soubor obsahuje uložení indexu nad geometrickým popisem prvků. 100 bytová hlavička (stejná jako u soubor.shp) je následována libovolným počtem 8 bytových záznamů. Volitelné soubory Podle [3] to jsou například: PRJ informace o souřadnicovém systému a o projekci, uloženo ve WKT formátu, SBN a SBX binární soubor prostorových indexů používaný firmou ESRI, FBN a FBX prostorový index shapefile, které jsou pouze pro čtení, shp.xml metadata ve formátu XML. 9 dbase je systém řízení báze dat, který vytvořil vývojář Wayne Ratliff v roce Výchozím formátem pro dbase je dbf 23

24 3. Grafické formáty Geometrie ve formátu Shapefile Všechny tvary v jednom Shapefile (hlavní soubor), které nejsou nulové, musí být stejného typu. Tímto typem může být: Point, Polyline, Polygon, MultiPoint, PointZ, PolyLineZ, PolygonZ, MultiPointZ, PointM, PolyLineM, PolygonM, MultiPointM, MultiPatch. Tedy typy, které použijeme při vytváření vlastního Shapefile, jsou: Point, MultiPoint, Polyline, Polygon. 3.2 Rastrové formáty Obraz je v tomto formátu popsán pomocí barevných bodů, jeden bod se nazývá pixel. Každý bod má svou přesnou polohu a barvu. Mezi rastrové formáty patří například BMP, TIFF, GIF, PNG, JPEG. Výhody rastrového formátu: velmi dobře popisují předlohy reálného světa, které obsahují velké množství barev, snadné získání snímků (fotoaparát, skener), lépe popisují složitější předlohy. Mezi nevýhody patří: špatně pracují s jednotlivými objekty, úpravami dochází k datovým ztrátám, kvalita je dána velikostí pixelu. Formáty rastrových souborů lze rozlišit na: [3] nekomprimované, komprimované: bezeztrátová komprese, ztrátová komprese. 24

25 3. Grafické formáty GIF Graphics Interchange Format (GIF) používá bezeztrátovou kompresi dat. GIF zároveň udržuje velmi ostré okraje čar, můžeme jej tedy využít například pro tvorbu plánků, nápisů, log. GIF umožňuje jednoduché animace. GIF umožňuje současně použít pouze 256 (8 bitů) barev barevné palety, v případě animace odlišné palety 256 barev pro každý obrázek. Je tedy vhodný především pro grafiku, kde je nízká náročnost na barvy. Původní verze tohoto formátu GIF 87a byla roku 1989 rozšířena a vznikl GIF 89a, který přidal například podporu více obrázků (jednoduché animace) nebo možnost uložení dalších metadat. Informace o verzi GIF je ukládána v prvních 6 bytech souboru PNG Portable Network Graphics (PNG) je rovněž formát, který je určený pro bezeztrátovou kompresi rastrové grafiky. PNG podporuje 24 bitové barevné hloubky 10. V jistém smyslu tedy PNG nahrazuje GIF (3.2.1), protože nabízí více barev a lepší kompresi, ale neumožňuje vytváření jednoduchých animací. PNG se stejně jako GIF a JPEG používá pro grafiku na Internetu JPEG Pro formát JPEG File Interchange Format se většinou nepožívá zkratka JFIF, ale zkratka názvu konsorcia Joint Photographic Experts Group (JPEG), které navrhlo tuto metodu ztrátové komprese. Formátu, které jsou založeny na této kompresi dat, je však více (JNG,... ). JPEG je vhodné použít například pro fotografické snímky nebo pro obrázky s mnoha barevnými přechody. Naopak je nevhodné jej použít pro obrázky s výraznými hranami (text). JPEG nepodporuje animace. 10 Barevná hloubka popisuje počet bitů, který je použit pro popis určité barvy nebo pixelu. Čím větší barevná hloubka, tím větší množství barev, ale také větší pamět ová náročnost. 24bitová barva (2 24 = barev) je také označována jako True Color. 25

26 3. Grafické formáty JPEG 2000 JPEG 2000 je novější verzí formátu JPEG. Využívá jiný typ komprimační metody, která má lepší výsledný poměr kvalita/velikost a podporuje i bezeztrátovou kompresi. Je odolnější vůči chybám a umožňuje uložení obrázku ve více měřítkách. 26

27 4. Databáze 4 DATABÁZE Databáze je určitá uspořádaná množina informací uložená na pamět ovém médiu [3]. Systém, který obsahuje softwarové prostředky pro manipulaci s uloženými daty, se nazývá systém řízení báze dat. Existuje mnoho databázových systémů - např. PostgreSQL, MySQL, Oracle, Microsoft SQL Server. Z hlediska uložení dat a jejich vazeb lze dle [3] databáze rozdělit na několik typů: hierarchické - existuje zde hierarchické pořadí (např. učitel žák), jehož vrcholem je kořen, mezi typy entit 1 se vyskytují pouze asociace 1:1 a 1:n, sít ové - mezi typy entit existují navíc asociace m:n, relační - asociace neboli relace (1:1, 1:n a m:n) jsou zde reprezentovány pomocí klíčů (např. primární klíč 2 ), které představují jedinečný atribut (či skupinu atributů), objektové - základním prvkem je objekt, objekty podporují zapouzdření, objektové databáze kombinují možnosti objektově orientovaného programování a možnosti databází, objektově relační - zde se uplatňuje snaha o sjednocení vlastností relačních a objektových databází. 4.1 SQL Aby bylo možné databáze vytvářet a manipulovat s daty, je potřeba definovat databázový jazyk, který by tuto činnost umožňoval. Je-li pomocí tohoto jazyka řečeno, jakým způsobem se má daná věc provést, jedná se o procedurální jazyk. Pokud je řečeno, co se má provést, jedná se o neprocedurální jazyk. Jedním z těchto jazyků je SQL. SQL (Structured Query Language) je dotazovací jazyk, který se používá při práci s daty v relačních databázích (data jsou uspořádána v tabulkách). V 70. letech 20. století vznikl jazyk SEQUEL (Structured English Query Language) pro ovládání relačních databází. Jak název napovídá, cílem bylo vytvořit jazyk, jehož příkazy by byly syntakticky co nejblíže angličtině. Na vývoji se nejvíce podílela firma IBM. Určitá 1 typy entit(ang. entity type) představují třídy podobných objektů 2 primární klíč je jedinečným identifikátorem, je jednoznačný a minimální 27

28 4. Databáze varianta tohoto jazyka se používala i v databázích jiných firem, např. RSI. Jazyk byl později přejmenován na SQL. Jazyk byl roku 1986 standardizován, nejpodporovanějším standardem je SQL3 (ANSI SQL:1999). Posledním ANSI 3 standardem je ANSI SQL:2003. Jazyk můžeme rozdělit do 4 základních skupin: příkazy pro manipulaci s daty (Data Manipulation Language - DML) SELECT, INSERT, UPDATE, DELETE,..., příkazy pro definici dat (Data Definition Language - DDL) CREATE, ALTER, DROP,..., příkazy pro řízení dat (Data Control Language - DCL) GRANT, REVOKE, BEGIN, COMMIT,..., ostatní příkazy (příkazy pro správu databáze). 4.2 Oracle Jak bylo uvedeno v kapitole 4, Oracle je systém řízení báze dat (database management system = DBMS). Poslední verzí je Oracle 11g. Mezi nástroje usnadňující práci s databází Oracle patří: Oracle Enterprise Manager Oracle Enterprise Manager je administrátorský nástroj pro databázový server Oracle. Tento nástroj nám umožňuje správu databázových objektů, uživatelů a jejich práv, zálohování a obnovu dat, atd. SQL PLUS Abychom mohli získávat data z databáze pomocí SQL příkazů, potřebujeme klienta, který bude zprostředkovávat komunikaci mezi námi a databázovým serverem. Jedním z těchto klientů je SQL PLUS. SQL Developer SQL Developer je grafická aplikace, vyvíjená pro OS Windows i Linux. Tato aplikace slouží ke správě databází, je v ní možné vytvářet SQL dotazy a skripty a rovněž je spouštět. SQL Developer je integrované vývojové prostředí pro databáze Oracle a je poskytována firmou Oracle zdarma. 3 ANSI neboli American National Standards Institute je nezisková organizace, která vytváří standardy ve Spojených státech amerických 28

29 4. Databáze Oracle Spatial Oracle Spatial usnadňuje skladování, vyhledávání, aktualizaci a dotazování se na prostorové prvky uložené v databázi Oracle. Skládá se z následujících složek [21]: schématu (MDSYS), které předepisuje skladování, syntaxi a sémantiku podporovaných datových typů, mechanismu prostorového indexování, sady operátorů a funkcí pro provádění dotazů v zájmovém území, nástrojů pro správu dat, topologického datového modelu, sít ového datového modelu, systém lineárního referencování, GeoRasteru. Spatial podporuje objektově-relační reprezentaci geometrie. V Oracle Spatial je geometrická reprezentace prostorových objektů ukládána jako samostatný řádek, v samostatném sloupci, který tvoří prostorový datový typ databáze Oracle SDO GEOMETRY. Tabulka v databázi Oracle může obsahovat jeden či více sloupců tohoto typu. Každá tabulka obsahující datový typ SDO GEOMETRY musí mít další sloupec (či sloupce), který definuje jedinečný primární klíč pro tuto tabulku. Oracle Spatial definuje objekt type SDO GEOMETRY jako: CREATE TYPE sdo geometry AS OBJECT ( SDO GTYPE NUMBER, SDO SRID NUMBER, SDO POINT SDO POINT TYPE, SDO ELEM INFO MDSYS.SDO ELEM INFO ARRAY, SDO ORDINATES MDSYS.SDO ORDINATE ARRAY); Kde atribut: SDO GTYPE uvádí, o jaký typ geometrie jde (point, line polygon, collection, multipoint, multiline, multipolygon), 29

30 4. Databáze SDO SRID upřesňuje ID prostorového referenčního systému (SRID), SDO POINT ukládá souřadnice bodu, pokud je typ geometrie point, SDO ORDINATES ukládá souřadnice všech elementů geometrie, SDO ELEM INFO upřesňuje, kde v SDO ORDINATES začíná nový element, jak je připojen (linie, oblouk) a zda se jedná o bod, linii nebo polygon. Přičemž zmíněné SDO POINT TYPE, SDP ELEM INFO ARRAY a SDO ORDINATE ARRAY jsou definovány následovně: CREATE TYPE sdo point type AS OBJECT ( X NUMBER, Y NUMBER, Z NUMBER ); CREATE TYPE sdo elem info array AS VARRAY ( ) OF NUMBER; CREATE TYPE sdo ordinate array AS VARRAY ( ) OF NUMBER; Příklad použití datového typu SDO GEOMETRY si ukážeme na vytvoření tabulky budovy a následném vložení objektu skola. Tabulka budovy obsahuje 3 sloupce - id, nazev a geometrie a vytvoříme ji následujícím příkazem: CREATE TABLE budovy ( id NUMBER PRIMARY KEY, nazev VARCHAR2(32), geometrie SDO GEOMETRY ); Pokud do výše vytvořené tabulky budeme chtít vložit objekt, uděláme to například tímto způsobem: INSERT INTO budovy VALUES( 1, skola, SDO GEOMETRY( 2003, NULL, 30

31 4. Databáze NULL, SDO ELEM INFO ARRAY(1,1003,1) 4, SDO ORDINATE ARRAY(1,1, 6,7) 5 ) ); Objekt pro lepší ilustraci můžeme vidět na obrázku Obrázek 4.1: Vizualizace SDO GEOMETRY Publikační databáze Publikační databáze katastru nemovitostí je replika grafických ISKN v podobě databáze Oracle s rozšířením Oracle Spatial (viz 4.2.1). Tato databáze vznikla z několika důvodů: umožní častější aktualizaci dat WMS a tedy i aplikaci Nahlížení do katastru nemovitostí (nyní 1x14 dní, bude cca 1x2 hodiny), grafická reprezentace dat bude odpovídat požadavkům INSPIRE 6, 4 Vytvoří jeden obdélník. 5 Obdélník je definován levým dolním a pravým horním bodem. 6 Infrastructure for Spatial Information in Europe (INSPIRE) je směrnice Evropského parlamentu a Rady ze dne 14. března 2007 o zřízení Infrastruktury pro prostorové informace v Evropském společenství [3]. Směrnice ukládá členským státům povinnosti v oblasti prostorových dat a služeb na nich založených. Obecně 31

32 4. Databáze data budou uložena ve dvou systémech ETRS a JTSK, jsou zde uloženy přesnosti linií, které jsou odvozeny z přesnosti bodů a výměr, je menší než ISKN, obsahuje pouze aktuální vybraná data SGI (nikoli historii). Publikační databáze: bude součástí databáze pro aplikaci Nahlížení do katastru nemovitostí, respektive bude jejím rozšířením o grafická data, bude zdrojem grafických dat pro WMS a WFS dle INSPIRE, slouží jako topologická kontrola dat ISKN, umožňuje snadnější sestavování grafických výstupů. V první fázi projektu publikační databáze budou realizovány tabulky katastrálních území, hranic parcel, parcel, dalších prvků mapy, prvků orientační mapy a budov. Další části (bodová pole, BPEJ, věcná břemena) budou realizovány dle požadavků a možností Sekce centrální databáze (SCD) ČÚZK. Přesný algoritmus převodu souřadnic ze systému JTSK do ETRS není známý, možnost poskytování dat v ETRS je však nutná kvůli INSPIRE. Z důvodu neznalosti výpočetní a časové náročnosti algoritmu bude pravděpodobně geometrie ve všech tabulkách ukládána duplicitně v obou souřadnicových systémech (JTSK i ETRS). V našem případě nyní využijeme tabulky hranic parcel (PUB HRANICE PARCEL), parcel (PUB PARCELY KN, PUB PARCELY ZE), budov (PUB BUDOVY ) a dalších prvků mapy (PUB DALSI PRVKY MAPY ). Podrobnější informace k tabulkám a datovým typům viz příloha 9. Pokud tedy shrneme geometrické typy ve výše zmíněných tabulkách (u sloupců, které využijeme): PUB HRANICE PARCEL geometrie: linie, PUB PARCELY KN určuje pravidla pro tvorbu metadat, sit ové služby (služby umožňující vyhledávání, prohlížení, stahování a transformaci dat nebo umožňující spuštění dalších služeb.), sdílení dat a koordinaci [3] 32

33 4. Databáze geometrie: polygon, může obsahovat díry, geometrie def bod: bod, geometrie cislo: bod, multibod, geometrie znacka: bod, multibod, geometrie sipka: bod, kolekce, multibod, PUB PARCELY ZE geometrie def bod: bod, PUB BUDOVY geometrie: polygon, multipolygon, geometrie def bod: bod, geometrie znacka: bod, multibod, PUB DALSI PRVKY MAPY geometrie: není uvedeno, předpokládáme bod, multibod, linie, multilinie, polygon, multipolygon, oblouk, kružnice. 4.3 SQLite SQLite je relační databázový systém, který je reprezentován knihovnou napsanou v jazyku C 7. Systém je vyvíjen D. Richardem Hippem a šířen pod licencí public domain 8. SQLite je malá knihovna, která se přilinkuje k aplikaci a lze ji využívat pomocí jednoduchého rozhraní. Databázi SQLite je možné využít například v programovacích jazycích C, C++, Delphi, Java, Lua, PHP, Python, Perl, Ruby, Tcl. Pro operační systémy Linux, Windows a Mac OS X jsou k dispozici předkompilované binární soubory, které je možné získat například zde [27]. V našem případě byl stažen sqlite zip pro operační systém Windows, který obsahuje program sqlite3.exe. 7 C je programovací jazyk vyvinutý Kenem Thompsonem a Dennisem Richiem. 8 Public domain znamená, že se autor díla rozhodl, že dané dílo je možné volně užívat, bez nároku na další ochranu díla. V českém právním systému není možné se vzdát autorských práv, je možné nabídnout veřejnosti bezúplatnou licenci na libovolné užití díla. Tento termín se používá obzvlášt v oblasti software. [3] 33

34 4. Databáze Program sqlite3.exe se neinstaluje, spuštění s ukázkovou databází hranice.db je vidět na obrázku 4.2. Po spuštění následuje ukázka jednoduchého SQL příkladu zjištění počtu záznamů v tabulce HRANICE PARCEL, která je obsažena v databázi hranice.db. SQL příkaz je následující: SELECT count(*) FROM HRANICE PARCEL; Obrázek 4.2: Ukázka spuštění a použití databáze SQLite Typy uložení dat Každá hodnota, která je uložena v SQLite, je definována jednou z následujících hodnot: NULL hodnota NULL, INTEGER hodnota je číslo, které je uložené v 1, 2, 3, 4, 6 nebo 8 bytech v závislosti na velikosti hodnoty, REAL hodnota je číslo s plovoucí desetinnou čárkou, TEXT hodnota je textový řetězec, BLOB hodnota je blob, uložená přesně tak, jak byla zadána. Příklad vytvoření tabulky HRANICE PARCEL v databázi hranice.db: CREATE TABLE IF NOT EXISTS HRANICE PARCEL( ID INTEGER NOT NULL PRIMARY KEY, 34

35 4. Databáze ); par ID 1 INTEGER NOT NULL, par ID 2 INTEGER, presnost INTEGER NOT NULL, typppd kod INTEGER NOT NULL 35

36 5. SpatiaLite 5 SPATIALITE SpatiaLite je prostorové rozšíření databázového systému SQLite, které umožňuje ukládat prostorová data dle specifikace Open Geospatial Consortium (OGC). 5.1 Model třídy Geometry dle OGC Hierarchie třídy Geometry vypadá následovně: Geometry Point Curve LineString Surface Polygon GeometryCollection MultiPoint MultiCurve MultiLineString MultiSurface MultiPolygon Je možné vytvářet třídy Point, LineString, Polygon, GeometryCollection, MultiPoint, MultiLineString, MultiPolygon. Každý prostorový objekt má tyto obecné vlastnosti: je spojený s prostorovým referenčním systémem, patří k některé z výše uvedených tříd. 5.2 Podporované formáty prostorových dat WKT Well-known text (WKT) je určen pro výměnu prostorových dat ve formě ASCII. 36

37 5. SpatiaLite Příklady WKT reprezentace prostorových objektů: Point: POINT(1 1) LineString: LINESTRING(1 1, 2 4, 3 3) Polygon: POLYGON((1 1,5 1,5 5,1 5,1 1),(2 2, 3 2, 3 3, 2 3,2 2)) MultiPoint: MULTIPOINT( , ) MultiLineString: MULTILINESTRING((1 2, 3 4),(5 6, 7 8, 9 10),(11 12, 13 14)) MultiPolygon: MULTIPOLYGON(((0 0,10 20,30 40,0 0),(1 1,2 2,3 3,1 1)), (( , , , ))) GeometryCollection 1 : GEOMETRYCOLLECTION(POINT(1 1), LINESTRING(4 5, 6 7, 8 9), POINT(30 30)) Výše uvedené typy geometrií můžeme vidět na obrázcích 5.1 a WKB Reprezentace Well-known Binary (WKB) prostorových hodnot je definována specifikací OpenGIS. WKB se používá pro výměnu prostorových dat jako binárních proudů, které jsou zastoupeny hodnotami BLOB. Například hodnota WKB pro geometrii POINT(1 1): F03F F03F Vnitřní BLOB formát Vnitřně ukládá SpatiaLite prostorová data pomocí běžného typu BLOB SQLite ve formátu, který je velmi podobný WKB. 1 Ukázka GeometryCollection skládající se ze dvou bodů a linie. 37

38 5. SpatiaLite Obrázek 5.1: Ukázka geometrie zapsané pomocí WKT Obrázek 5.2: Ukázka geometrie zapsané pomocí WKT Vytvoření prostorových hodnot Vytvoření geometrie pomocí WKT SpatiaLite poskytuje řadu funkcí, které mají jako vstupní hodnoty Well-known text a volitelně identifikátor prostorového referenčního systému (SRID). Výstupem je odpovídající geometrie. GeomFromText (WKT [, srid]) vytvoří geometrii jakéhokoli typu, 38

39 5. SpatiaLite GeomCollFromText (WKT [, srid]) vrátí GEOMETRYCOLLECTION pomocí WKT, LineFromText (WKT [, srid]) vytvoří LINESTRING pomocí WKT, MLineFromText (WKT [, srid]) výsledkem je MULTILINESTRING, MPointFromText (WKT [, srid]) vrací MULTIPOINT, MPolyFromText (WKT [, srid]) návratovou hodnotou je MULTIPOLYGON, PointFromText (WKT [, srid]) výsledkem je POINT, PolyFromText (WKT [, srid]) vytvoří POLYGON ze zadaného WKT. SpatiaLite nepodporuje následující funkce specifikované OpenGIS: BdPolyFromText (WKT, srid) vytvoří hodnotu Polygon z hodnoty MultiLineString ve formátu WKT obsahující libovolnou sbírku uzavřených LineString hodnot. BdMPolyFromText (WKT, srid) vytvoří hodnotu MultiPolygon z hodnoty MultiLineString ve formátu WKT obsahující libovolnou sbírku uzavřených LineString hodnot, Vytvoření geometrie pomocí WKB Stejně jako u WKT SpatiaLite nabízí řadu funkcí, které ze vstupních parametrů, kterými jsou hodnota WKB a případně SRID, vytvoří geometrii. Těmito funkcemi jsou: GeomFromWKB (WKB [, srid]) vytvoří geometrii jakéhokoli typu, PointFromWKB (WKB [, srid]) výsledkem je POINT, MPointFromWKB (WKB [, srid]) vrací MULTIPOINT, LineFromWKB (WKB [, srid]) vytvoří LINESTRING pomocí WKB, MLineFromWKB (WKB [, srid]) výsledkem je MULTILINESTRING, PolyFromWKB (WKB [, srid]) vytvoří POLYGON ze zadaného WKB, MPolyFromWKB (WKB [, srid]) návratovou hodnotou je MULTIPOLYGON, GeomCollFromWKB (WKB [, srid]) vrátí GEOMETRYCOLLECTION pomocí WKB. 39

40 5. SpatiaLite SpatiaLite nepodporuje následující funkce specifikované OpenGIS: BdPolyFromWKB (WKB, srid) vytvoří hodnotu Polygon z hodnoty MultiLineString ve formátu WKB obsahující libovolnou sbírku uzavřených LineString hodnot. BdMPolyFromWKB (WKB, srid) vytvoří hodnotu MultiPolygon z hodnoty MultiLine- String ve formátu WKB obsahující libovolnou sbírku uzavřených LineString hodnot, Vytvoření prostorových sloupců Pro uložení jakékoli geometrie je potřeba definovat standardní sloupec SQLite BLOB. SQLite má velmi volnou kontrolu hodnot sloupců, což znamená, že existuje velmi málo omezení pro ukládání hodnot geometrií. Příkladem vytvoření tabulky HRANICE PARCEL obsahující sloupec, který je určený pro ukládání geometrie může být: CREATE TABLE IF NOT EXISTS HRANICE PARCEL( ID INTEGER NOT NULL PRIMARY KEY, geometrie BLOB NOT NULL, par ID 1 INTEGER NOT NULL, par ID 2 INTEGER, presnost INTEGER NOT NULL, typppd kod INTEGER NOT NULL ); A následným vložením dat: INSERT INTO HRANICE PARCEL (ID,geometrie, par ID 1,par ID 2,presnost,typppd kod) VALUES(1,GeomFromText( POINT(1 1),102067),222,223,3,1) ); Výběr dat provedeme příkazem: SELECT AsText(geometrie) FROM HRANICE PARCEL; 5.4 SpatiaLite GUI Grafické rozhraní pro operační systémy Linux, Windows a Mac OS X si můžeme stáhnout například zde [25]. 40

41 5. SpatiaLite V našem případě bylo staženo GUI spatialite-2.2-win-gui.zip pro OS Windows, ve kterém je obsažen spatialite-gui.exe. Základní ovládání GUI je velmi intuitivní: Připojení existující databáze: Files Connecting an existing SQLite DB. Vytvoření nové databáze: Files Creating a New (empty) SQLite DB. Odpojení databáze: Files Disconnecting current SQLite DB. Spuštění SQL skriptu: Files Execute SQL script. Na následujícím obrázku 5.3 je ukázka spuštěného programu spatialite-gui.exe s připojenou databází hranice.db. V pravé horní části rozhraní je okno, do něhož se zadávají SQL příkazy, v pravé dolní části uvidíme výsledek zadaného příkazu. Obrázek 5.3: Ukázka SpatiaLite GUI 41

42 6. Úvod do programovacího jazyku Java 6 ÚVOD DO PROGRAMOVACÍHO JAZYKU JAVA Firma Sun Microsystems vyvíjela od roku 1991 programovací jazyk na principech jazyka C a C++. Tento jazyk se jmenoval Oak, ale zjistilo se, že programovací jazyk s tímto názvem již existuje, proto byl přejmenován na jazyk Java 1. Java je jedním z nejpoužívanějších programovacích jazyků. 8. května 2007 uvolnil Sun zdrojové kódy Javy a Java je dále vyvíjena jako open source 2. Vývojové nástroje Javy jsou běžně označovány jako Java Development Kit a z praktických důvodů se rozdělily do několika edic: Java SE (Standard Edition) určené pro aplikace provozované na stolních počítačích, Java ME (Micro Edition) pro aplikace provozované na mobilních zařízeních (mobilní telefony, PDA), Java EE (Enterprise Edition) pro aplikace pro podnikové a rozsáhlé informační systémy, JavaCard pro aplikace provozované v rámci tzv. chytrých karet (platební a kreditní karty atp.). Použitou verzí v našem případě je JDK SE Jednou z největších výhod Javy je přenositelnost programů na libovolnou platformu (operační systém). Této přenositelnosti je dosaženo díky speciálním programům, které jsou označovány jako Java platforma. [14] Java platforma se skládá ze dvou hlavních částí: virtuální stroj (Java Virtual Machine JVM) skládá se z částí, které zajišt ují vazbu na hardware a z částí, které interpretují kód (mohou být nahrazeny JIT 3 ), Java Core API (Application Programming Interface) obsahuje standardní veřejné knihovny. 1 V americkém slangu znamená Java kafe. Toto jméno jazyk dostal poté, co vývojová skupina hledající nový název navštívila firemní bufet [14]. 2 Open source je počítačový software s otevřeným zdrojovým kódem, což znamená technickou dostupnost kódu a také legální dostupnost (licenci), která uživatelům umožňuje za jistých podmínek zdrojový kód využívat. 3 Just In Time (JIT) kompilátor přeloží program během zavádění z disku on-line do strojového jazyka daného počítače, čímž z něj v paměti prakticky vyrobí kompilovaný kód. 42

43 6. Úvod do programovacího jazyku Java 6.1 Základy programovacího jazyka V následujících několika řádcích si ukažeme, jak napsat a spustit program v jazyku Java Překlad a spuštění Nejprve stáhneme jednu z výše zmíněných sad vývojových nástrojů například z [28] a nainstalujeme. Pro psaní programů je možné použít některé z vývojových prostředí (podrobněji viz 6.2) nebo použít jakýkoli z textových editorů. Následující řádky slouží pro jednoduché vypsání textu. Musí být uloženy v souboru s názvem Priklad.java. public class Priklad { public static void main(string args[]) { System.out.println("Prvni priklad programu v jazyku Java."); } } Program přeložíme příkazem: javac Priklad.java Překladem se vytvořil soubor s příponou.class, tedy Priklad.class, který již obsahuje přeložený bytecode programu a lze ho spouštět z příkazového řádku: java Priklad Výstupem bude následující: >>> Prvni priklad programu v jazyku Java Základní datové typy Základní datové typy Javy můžeme rozdělit do několika druhů: celočíselné (byte, short, int, long), znakové (char), 43

44 6. Úvod do programovacího jazyku Java logické (boolean), reálné (float, double) Řízení programu příkaz if: if (podmínka) příkaz 1; else příkaz 2; V případě splnění podmínky se vykoná příkaz 1, zatímco při nesplnění se vykoná příkaz 2, uvedený v klauzuli else. while: while (podmínka) příkaz; nebo do příkaz; while (podmínka); Opakuje se část kódu (příkaz), dokud je plněna testovaná podmínka. for: for (inicializace; podmínka ukončení; příkaz) příkaz 1; Cyklus for se používá k opakování bloku kódu (příkaz 1) v zadaném počtu opakování. switch: switch(proměnná) case hodnota: příkaz; break; default: příkaz; Pokud proměnná obsahuje hodnotu, provede se příkaz. Místo jednoho příkazu může být uvedený celý blok ({}). Bez ukončení větve příkazem break dojde ke zpracování příkazů další větve. 6.2 Vývojová prostředí Jak již bylo zmíněno, pro psaní zdrojového kódu je možné použít libovolný textový editor. Abychom si však ušetřili práci, je vhodné použít nějaké vývojové prostředí. Známe například IntelliJ IDEA, NetBeans, Eclipse, JBuilder a další. Příklady vývojových prostředí: IntelliJ IDEA je komerční vývojový nástroj vyvíjený českou společností JetBrains. První verze byla vydána v lednu NetBeans je open source 4 projekt, který sponzoruje firma Sun MicroSystems. Existují 2 hlavní produkty: 4 Jako open source od června

45 6. Úvod do programovacího jazyku Java vývojové prostředí (NetBeans IDE) nástroj, díky němuž je možné psát, překládat, ladit a šířit programy, je použitelný na operačních systémech Windows, Linux, Mac OS X a Solaris, vývojová platforma (The NetBeans Platform) modulární a rozšiřitelný základ pro použití při vytváření rozsáhlých aplikací. Eclipse je open source vývojová platforma. Návrh této platformy je velmi flexibilní, umožňuje rozšířit seznam podporovaných jazyků pomocí pluginů 5 (např. o C++ nebo PHP). Úvodní obrazovku vývojového prostředí Eclipse můžeme vidět na obrázku 6.1. Obrázek 6.1: Vývojové prostředí Eclipse 6.3 Knihovny Počet knihoven (respektive balíků) pro Javu se během vývoje jazyka velmi rychle rozrůstá. Knihovny základních tříd jsou v Javě uloženy v adresáři jre/lib. Samozřejmě můžeme používat vlastní knihovny nebo knihovny vyvinuté někým dalším. Na následujících několika řádcích se zmíníme o knihovnách, které jsou v naší práci použity. 5 Plugin neboli zásuvný model je doplňkový modul jiné aplikace, který rozšiřuje funkčnost. [3] 45

46 6. Úvod do programovacího jazyku Java Swing Swing je knihovna uživatelských prvků na platformě Java pro ovládání počítače pomocí grafického rozhraní. [3] Pomocí této knihovny je možné vytvářet například okna, dialogy, tlačítka, rozbalovací seznamy. Původním nástrojem pro tvorbu grafického prostředí vyvíjeným firmou Sun Microsystems jako součást Javy byl Abstract Window Toolkit (AWT). Vzhledem k chybám v návrhu a dalším problémům však Sun roku 1997 upustil od dalšího vývoje a začal vyvíjet Swing. Swing je součástí Java SE od verze 1.2, do té doby byl dostupný pouze jako samostatná knihovna GeoTools GeoTools je knihovna, poskytovaná pod licencí LGPL, 6 naprogramovaná v Javě, která poskytuje nástroje pro práci s prostorovými daty. GeoTools 1 vznikl roku 1996 v univerzitě v Leedsu. Cílem bylo poskytnout sadu nástrojů, které umožní vytváření geografických vizualizací. Bohužel však neimplementoval všechny normy. Roku 2002 vznikl GeoTools 2, který kompletně přepracoval GeoTools 1. GeoTools 2 využíval nejnovější platformu Javy a dodržoval specifikace OGC. Vzhledem k tomu, že GeoTools 1 se přestal udržovat, je od roku 2007 GeoTools 2 označován jako GeoTools. V současnosti (prosinec 2009) je aktuální verzí Geotools 2.6.0, kterou lze stáhnout například zde [10]. GeoTools podporuje následující formáty: vektorové: ESRI Shapefile, OGC Geography, Markup Language (GML), OGC Web Feature Server (WFS), PostGIS, Oracle Spatial, 6 GNU LEsser General Public Licence (LGPL) je licence svobodného software, která se primárně používá pro softwarové knihovny, někdy však i pro asmostatné aplikace (Mozilla, OpenOffice.org.) 46

47 6. Úvod do programovacího jazyku Java ArcSDE, MySQL. rastrové: OGC Web Mapping Server (WMS), ArcGrid, GeoTIFF, obrázky georeferencované pomocí world souboru. Mezi vlastnosti GeoTools patří například: podpora implementace OGC Grid Coverage, podpora transformace souřadnic a referenčního souřadnicového systému, podpora grafů, Java Topology Suite (JTS) s podporou OGC Simple Features Specification použitým jako model vektorových prvků, vykreslování : LiteRenderer jednoduchý, nízké pamět ové nároky, určený především pro serverové aplikace, J2D komplexní, vhodný pro klientské aplikace. 47

48 7. Převod dat z publikační databáze do ESRI Shapefile 7 PŘEVOD DAT Z PUBLIKAČNÍ DATABÁZE DO ESRI SHAPEFILE Cílem praktické části této diplomové práce je vytvoření dvou programů. První program SDO2SHP.jar převádí grafická data z publikační databáze 1 do formátu ESRI Shapefile 2 s využitím OGC WKT. Druhý program SHP2DB.jar importuje data získaná pomocí programu SDO2SHP.jar do databáze SQLite (resp. SpatiaLite) opět s využitím OGC WKT. Oba programy SDO2SHP.jar, SHP2DB.jar jsou napsány v programovacím jazyku Java (JDK ), pro jejich tvorbu bylo využito vývojové prostředí Eclipse verze Pro program SDO2SHP.jar bylo dále využito: ojdbc6.jar dostupný zde [20], knihovna GeoTools (viz část 6.3.2). A pro program SHP2DB.jar bylo použito: soubory adresáře dll spatialite-2.2-win-libs.zip, který je možné získat například zde [25], libgeos c-1.dll, libgeos dll, libiconv2.dll, libproj-0.dll, libspatialite-2.dll, libsqlite3-1.dll. knihovna GeoTools, sqlite3jni.dll, kterou můžeme nalézt zde [15], sqlite3.jar, který lze získat stažením sqlite3jdbc.zip z [22]. 1 Publikační databáze je ve správě ČÚZK, podrobnější informace můžete nalézt zde ESRI Shapefile není v současné době závazným formátem katastru nemovitostí. Výstupním formátem katastru nemovitostí je NVF (nový výměnný formát). Dle směrnice INSPIRE bude dalším výstupním formátem GML. Grafická data se dále poskytují pomocí WMS a v budoucnu se budou poskytovat dle směrnice INSPIRE pomocí WFS. 48

49 7. Převod dat z publikační databáze do ESRI Shapefile V této kapitole se budeme zabývat prvním programem SDO2SHP.jar, který převádí data z publikační databáze do formátu ESRI Shapefile. Program SDO2SHP.jar se skládá z následujících tříd: Budovy.java, DalsiPrvkyMapy.java, HraniceParcel.java, ParcelyKn.java, ParcelyZe.java, Gui.java, Hlavni.java, Chyba.java, JDBC.java, OknoText.java. Na následujících řádcích si tyto třídy popíšeme a vysvětlíme, jak program SDO2SHP funguje. 7.1 Třída HraniceParcel Třída HraniceParcel slouží pro ukládání dat z tabulky PUB HRANICE PARCEL. Obsahuje následující proměnné: long ID pro ID hraničního úseku, String geometrie pro hraniční úsek, String typg pro typ geometrie (slouží jako informace o typu geometrie při zpracování zda se jedná o bod, multibod,... ), long par ID 1 pro ID parcely, long par ID 2 pro ID parcely, 49

50 7. Převod dat z publikační databáze do ESRI Shapefile int presnost pro přesnost daného hraničního úseku, long typppd kod pro typ prvku prostorových dat, String datum vzniku datum vzniku prvku. Třída dále obsahuje konstruktor a metody get, set výše uvedených proměnných. 7.2 Třída ParcelyKn Tato třída slouží pro ukládání dat z tabulky PUB PARCELY KN. Obsahuje: long ID pro ID parcely, int katuze kod pro kód katastrálního území, long bud id pro ID budovy, která na parcele stojí, String text popis parcely, String text def bod pro popis definičního bodu, String stavebni parcela pro informaci, zda se jedná o stavební parcelu (a) nebo ne (n), String geometrie pro geometrii parcely, String typg pro typ geometrie, String geometrie def bod pro definiční bod parcely, String typgdb typ geometrie definičního bodu, String geometrie cislo určení polohy parcelního čísla, String typgc určení typu geometrie parcelního čísla, String dpggc pro doplňující geometrické informace geometrie čísla, String geometrie znacka určení polohy značky využití pozemku, String typgz určení typu geometrie značky, 50

51 7. Převod dat z publikační databáze do ESRI Shapefile String dpggz pro doplňující geometrické informace geometrie značky, String geometrie sipka poloha šipky, String typgs typ geometrie šipky, long typppd kod znacka typ prvku prostorových dat, String datum vzniku datum vzniku prvku, long vymera parcely výměra parcely, long vypoctena vymera parcely výměra parcely vypočtená z geometrických dat. Třída obsahuje konstruktor a metody get, set výše uvedených proměnných. 7.3 Třída ParcelyZe Do třídy ParcelyZe se ukládají data z tabulky PUB PARCELY ZE. long ID ID parcely, int katuze kod kód katastrálního území, long bud id ID budovy, která stojí na parcele, int zdpaze kod zdroj evidence parcel v ZE, String text def bod popis definičního bodu, short druh cislovani par informuje, zda se jedná o stavební parcelu, nebo ne, String geometrie def bod definiční bod parcely, String typgdb typ definičního bodu parcely, String datum vzniku datum vzniku prvku, long vymera výměra parcely z SPI. Kromě toho třída obsahuje konstruktor a metody get, set výše uvedených proměnných. 51

52 7. Převod dat z publikační databáze do ESRI Shapefile 7.4 Třída Budovy Třída Budovy slouží pro ukládání dat z tabulky PUB BUDOVY. long ID ID budovy, long katuze kod kód katastrálního území, long par id ID parcely, na které budova leží, long caobce kod kód části obce, String text def bod popis definičního bodu, int typbud kod typ stavby, String geometrie budova, String typg typ geometrie, String geometrie def bod pro geometrii definičního bodu, String typgdb typ geometrie definičního bodu, String geometrie znacka pro geometrii značky typu stavby, String typgz typ geometrie značky, String dpggz doplňující geometrické informace geometrie značky, long typppd kod typ prvku prostorových dat, String datum vzniku datum vzniku prvku. Kromě toho třída obsahuje konstruktor a metody get, set výše uvedených proměnných. 7.5 Třída DalsiPrvkyMapy Tato třída slouží pro ukládání dat z tabulky PUB DALSI PRVKY MAPY. long ID ID prvku long katuze kod kód katastrálního území, 52

53 7. Převod dat z publikační databáze do ESRI Shapefile long typppd kod typ prvku prostorových dat, String geometrie geometrie dalšího prvku mapy, String typg typ geometrie dalšího prvku mapy, String dpgg doplňující geometrické informace dalšího prvku mapy, String text popis prvku. Ttřída obsahuje konstruktor a metody get, set výše uvedených proměnných. 7.6 Třída Hlavni Tato třída obsahuje jednu proměnnou, kterou je: String adr pro výstupní adresář. Tato proměnná je protected, což znamená, že k ní lze přistupovat z dané třídy, balíku i podtřídy. Třída Hlavni obsahuje implicitní konstruktor, ve kterém jsou spouštěny třídy Gui, JDBC, Chyba. 7.7 Třída Gui Třída Gui je uživatelským rozhraním, které uživateli umožňuje zadat následující údaje: uživatelské jméno pro přihlášení do databáze, heslo pro přihlášení do databáze, kód katastrálního území, pro který budou data převedena z publikační databáze do formátu Shapefile. U zadaného kódu je kontrolováno, zda se jedná o šestimístné číslo a zda toto číslo v databázi existuje, u uživatelského jména a hesla se zjišt uje, zda je uživatel vyplnil, pokud ne, zobrazí se upozornění. Rozhraní umožňuje vybrat jednu ze dvou databází - PUBL nebo PUBL 2, přičemž první jmenovaná slouží jako testovací. Dále je možné vybrat výstupní adresář, tedy adresář, kde 53

54 7. Převod dat z publikační databáze do ESRI Shapefile budou vytvořeny Shapefile. Pokud uživatel adresář nezadá, je použit implicitně nastavený adresář home/dokumenty. V horní části rozhraní jsou obsaženy informace o programu a nápověda. Podrobněji viz obrázky 7.2 a 7.3. Obrázek 7.2: O programu SDO2- SHP Obrázek 7.1: Grafické uživatelské rozhraní programu SDO2SHP V průběhu běhu programu jsou ve spodní části programu vypisovány informace uživateli viz 7.4. Obrázek 7.3: Nápověda programu SDO2SHP Obrázek 7.4: GUI v běhu programu SDO2SHP Pro napsání Gui byla použita knihovna Swing (podrobněji viz 6.3.1). 7.8 Třída JDBC Pro správné fungování třídy JDBC musí být přidán ojdbc6.jar. Ten, stejně jako jakýkoli archiv jar, můžeme ve vývojovém prostředí Eclipse přidat následujícím způsobem: 54

55 7. Převod dat z publikační databáze do ESRI Shapefile rightclick na projekt (diplomka) Build Path Configure Build Path objeví se podobný obrázek jako 7.5 zvolíme záložku Libraries Add External JARs... najdeme cestu k našemu souboru Otevřít. Obrázek 7.5: Přidání jar do Javy Pokud máme přidaný ojdbc6.jar, bude třída JDBC fungovat. Tato třída má na starosti připojení k databázi, získání všech potřebných dat, vytvoření příslušných Shapefile a výpis dat do vytvořených souborů. Obsahuje proměnné, které jsou protected, a to: hotovo informuje, zda již byla získána a vypsána všechna data, testkodku pro zjištění, zda je daný kód katastrálního území obsažen v publikační databázi. Dále obsahuje jednu konstantní (final) hodnotu typu String Krovak, která je definicí S-JTSK (EN) a vypadá dle [17] následovně: PROJCS["S-JTSK Krovak East North", GEOGCS["GCS S JTSK", DATUM["Jednotne Trigonometricke Site Katastralni", SPHEROID["Bessel 1841", , ]], PRIMEM["Greenwich", 0.0], UNIT["degree", ], 55

56 7. Převod dat z publikační databáze do ESRI Shapefile AXIS["Longitude", EAST], AXIS["Latitude", NORTH]], PROJECTION["Krovak"], PARAMETER["latitude of center", 49.5], PARAMETER["longitude of center", ], PARAMETER["azimuth", ], PARAMETER["pseudo standard parallel 1", 78.5], PARAMETER["scale factor", ], PARAMETER["false easting", 0.0], PARAMETER["false northing", 0.0], PARAMETER["X Scale", -1.0], PARAMETER["Y Scale", 1.0], PARAMETER["XY Plane Rotation", 90.0], UNIT["m", 1.0], AXIS["x", EAST], AXIS["y", NORTH], AUTHORITY["EPSG","102067"]] Pomocí této konstanty jsou data převáděna ze souřadnicového systému S-JTSK (SRID 2065) do S-JTSK EN (SRID ). A dále obsahuje jednu private proměnnou - Connection conn, která zajišt uje připojení do databáze. JDBC obsahuje dva konstruktory, jeden pro získání dat z publikační databáze a pro jejich vypsání do Shapefile a druhý pro ověření existence zadaného katastrálního území provedtestkodku() provedtestkodku je funkce, která zjišt uje, zda zadaný kód katastrálního území existuje. Vstupními hodnotami jsou uživatelské jméno, heslo a dotaz. Tímto dotazem je následující: SELECT distinct( 1 ) FROM PUB KATASTRALNI UZEMI WHERE kod = kod ; Pokud zadaný kód existuje, je vrácena hodnota 1. 56

57 7. Převod dat z publikační databáze do ESRI Shapefile Tabulka PUB KATASTRALNI UZEMI je tabulka, která obsahuje polygony a hraniční úseky aktuálně platných katastrálních území testspojeni() Tato funkce ze zadaných parametrů, kterými jsou uživatelské jméno, heslo a Gui, vrací ten typ spojení (Connection), jaký si uživatel zvolil proveddotazy() V této funkci je nejprve zjišt ován počet záznamů v tabulkách. Pokud tabulka nějaká data obsahuje, zavolá se funkce pro vytvoření Shapefile vytvorshp(), jejímiž vstupními hodnotami jsou název souboru, který bude vytvořen v zadaném výstupním adresáři a příslušný konstantní (final) SimpleFeatureType. Tato konstanta informuje o typu dat, jež budou vkládány do daného Shapefile. final SimpleFeatureType TYP LINIE = DataUtilities.createType( "Hranice", "geometrie:linestring,id:java.lang.long,par ID 1:java.lang.Long, par ID 2:java.lang.Long,presnost:int,typppd:java.lang.Long"); Funkce proveddotazy() obsahuje předdefinované dotazy pro výběr prvků z publikační databáze. Například data z tabulky PUB DALSI PRVKY MAPY získáme pomocí následujícího příkazu: SELECT d.id, d.katuze kod, d.typppd kod, d.geometrie.get gtype(), d.text, SDO UTIL.TO CLOB(smidova get sdo elem info 3(d.geometrie)) FROM pub dalsi prvky mapy d WHERE d.geometrie IS NOT NULL AND d.katuze kod = kod; Funkce SDO UTIL.TO CLOB() slouží pro převod SDO GEOMETRY na jednoduchou textovou reprezentaci. Výstup této funkce vypadá například takto: NULL NULL NULL Funkce smidova get sdo elem info 3() je napsaná v jazyku PL/SQL 3 a slouží pro 3 Procedural Language/Structured Query Language (PL/SQL) je nadstavba jazyka SQL od firmy Oracle. 57

58 7. Převod dat z publikační databáze do ESRI Shapefile zjištění, zda je daná geometrie oblouk nebo kružnice (podrobněji viz 9). Pokud ano, zavolá se funkce pub arc densify(geometrie) 4, která oblouk nebo kružnici převede na jednoduchou geometrii (například linie, polygony). Funkce proveddotazy() dále obsahuje následující kontejnery: List<HraniceParcel> datahranice, List<ParcelyKn> datapkn, List<ParcelyZe> datapze, List<Budovy> databudovy, List<DalsiPrvkyMapy> datadpm. Data jsou z tabulek publikační databáze získávána v určitém množství (např ), dále jsou rozdělována do struktur, ukládána do kontejnerů, zpracovávána a vypisována do příslušného Shapefile. Geometrie z jednotlivých tabulek jsou upravovány pomocí funkce SDO2WKT(), která vrací mimo jiné WKT geometrii. Pokud není kontejner prázdný, je volána příslušná funkce (zpracujhranice(), zpracuj- Pkn(), zpracujpkndb(), zpracujpknpc(), zpracujpknpcm(), zpracujpknz(), zpracuj- PknZM(), zpracujpkns(), zpracujpze(),... ), jejimiž vstupními hodnotami jsou příslušný kontejner a název výstupního souboru, který je vytvořen ve zvoleném výstupním adresáři vytvorshp() Vstupními parametry funkce jsou název souboru s absolutní cestou (soubor) a SimpleFeature- Type (TYP). Pokud chceme vytvořit prostorový index, použijeme DataStoreFactory s parametrem. Protože SimpleFeatureType neobsahuje určení souřadnicového systému, který je potřeba pro vytvoření prj souboru, zavoláme funkci forceschemacrs(). Ukázka části kódu sloužícího k vytvoření Shapefile: Pomocí tohoto jazyka lze vytvářet například uložené procedury a funkce, triggery,... [3] 4 Autorem funkce je Ing. Jiří Bartoš. Funkce byla napsána, protože standardní funkce ORACLE Arc densify() obsahuje bug a dochází k pádu databáze. 58

59 7. Převod dat z publikační databáze do ESRI Shapefile File shranice = new File(soubor); DataStoreFactorySpi factory = new ShapefileDataStoreFactory(); Map<String, Serializable> create = new HashMap<String, Serializable>(); create.put("url", shranice.touri().tourl()); create.put("create spatial index", Boolean.FALSE); ShapefileDataStore newdatastore = (ShapefileDataStore) factory.createnewdatastore(create); newdatastore.createschema(typ); CoordinateReferenceSystem crs = CRS.parseWKT(KROVAK); newdatastore.forceschemacrs(crs); Pro zapsání geometrií do Shapefile se mimo jiné použije následující kód: Transaction transaction = new DefaultTransaction("create"); String typename = newdatastore.gettypenames()[0]; FeatureStore<SimpleFeatureType, SimpleFeature> featurestore; featurestore = (FeatureStore<SimpleFeatureType, SimpleFeature>) newdata- Store.getFeatureSource(typeName); featurestore.settransaction(transaction); transaction.commit(); Vytvořený Shapefile je prázdný, prozatím neobsahuje žádná data SDO2WKT() Jak již bylo zmíněno, vstupem této funkce je geometrie, kterou jsme získali z databáze a typ této geometrie. Výstupní hodnotou je pole typu String, které obsahuje WKT geometrii a další doplňující geometrické informace. Příznak těchto informací je uložen v poli SDO ELEM INFO jako [offset, 0, x]. Doplňujícími geometrickými informacemi může být: poměr zmenšení (zvětšení) v SDO ELEM INFO je x = 10, hodnota poměru zmenšení je uložena v poli SDO ORDINATES, orientace objektu x = 11, hodnota orientace je opět uložena v SDO ORDINATES, 59

60 7. Převod dat z publikační databáze do ESRI Shapefile vztažný bod textu x = 12, hodnota vztažného bodu se nachází v SDO ORDINATES. Ukázka vstupní geometrie této funkce je uvedena v části Funkce SDO2WKT zpracuje tuto geometrii podle typu geometrie 5, který je vstupem funkce. Typ geometrie jsme získali z publikační databáze pomocí funkce GET GTYPE(). Tato funkce vrací hodnoty dle tabulky 7.1: Tabulka 7.1: Tabulka typů geometrií dle GET GTYPE() Hodnota Geometrie 0 neznámá geometrie 1 POINT 2 LINE nebo CURVE 3 POLYGON 4 COLLECTION 5 MULTIPOINT 6 MULTILINE nebo MULTICURVE 7 MULTIPOLYGON Pouze u geometrie geometrie sipka je jako typ pokaždé zadávána hodnota 4 (COLLECTION), protože tento typ se jinde nevyskytuje (viz 4.2.2). Geometrie sipka může být: null, POINT, MULTIPOINT, COLLECTION. U každého bodu mohou být uvedeny doplňující geometrické informace. Jelikož by grafickým výstupem Geometrie sipka byly pouze nicneříkající prvky, a to ještě rozdělené do jednotlivých Shapefile dle typu (každý Shapefile musí obsahovat pouze jeden typ geometrie, nelze kombinovat například linii a bod COLLECTION), byla pro každou hodnotu sloupce geometrie sipka vytvořena šipka. Šipka je typu MULTILINESTRING, k vytvoření byly 5 Pouze u geometrie geometrie sipka z tabulky PUB PARCELY KN je pokaždé vstupem typ geometrie s hodnotou 4, vysvětlení je v části?? 60

61 7. Převod dat z publikační databáze do ESRI Shapefile použity doplňující geometrické informace, pokud jsou obsaženy. Ilustrace je uvedena na obrázku 7.6. Obrázek 7.6: Znázornění tvorby šipky Rozměry šipky jsou definované dle [4] názorněji viz obrázek 7.7. Obrázek 7.7: Rozměry šipky Výpočet rozměrů šipky obsahuje funkce sipka(), jejímiž vstupními parametry jsou souřadnice x (x A ), y (y A ), poměr zmenšení resp. zvětšení (pomer) a orientace (otoc). Vztahy použité pro výpočet jsou následující: σ = (180 α) π 180 (7.1) 61

62 7. Převod dat z publikační databáze do ESRI Shapefile x B = pomer 3 cos σ + x A (7.2) y B = pomer 3 sin σ + y A (7.3) σ C = π σ (7.4) x C = pomer cos σ C + x B (7.5) y C = pomer sin σ C + y B (7.6) σ D = π σ (7.7) x D = pomer cos σ D + x B (7.8) y D = pomer sin σ D + y B (7.9) Takto určená šipka se tedy umístí na poslední bod (resp. body, pokud je u parcely definováno více šipek) geometrie sipka zpracujhranice() Vstupem do této funkce jsou příslušný kontejner List<HraniceParcel> datahranice a absolutní cesta k výstupnímu souboru včetně jeho názvu adr. Nejprve je vytvořeno připojení do již existujícího Shapefile. Poté jsou data z kontejneru datahranice převedena na příslušnou geometrii 6 pomocí WKTReader a FeatureWriter zapíše data do existujícího Shapefile. File file = new File(adr); ShapefileDataStore datastore = = new ShapefileDataStore(file.toURI().toURL()); String[] typenames = datastore.gettypenames(); String typename = typenames[0];. FeatureWriter fw = datastore. getfeaturewriterappend(typename, Transaction.AUTO COMMIT); GeometryFactory geometryfactory = = JTSFactoryFinder.getGeometryFactory(null); WKTReader reader = new WKTReader( geometryfactory ); 6 Geometrie nabývají hodnot Point, MultiPoint, MultiLineString, MultiPolygon, protože Shapefile nerozlišuje LineString a MultiLineString nebo Polygon a MultiPolygon viz

63 7. Převod dat z publikační databáze do ESRI Shapefile. Feature newfeature = fw.next();. Funkce zpracujhranice() je typu void, tedy nevrací žadnou hodnotu, ale doplňuje data do již existujícího Shapefile. Ostatní funkce zpracujpkn(), zpracujpze(), zpracujbudovy(),... jsou napsány obdobným způsobem jako funkce zpracujhranice. 7.9 Třída Chyba Tato třída slouží pro vytvoření grafického okna v případě ukončení programu. Pokud program proběhne úspěšně, zobrazí se okno jako na obrázku 7.8. Vyskytne-li se v průběhu běhu programu nějaká chyba, zobrazí se například výstup jako na obrázku 7.9. Obrázek 7.8: Informace o úspěšném ukončení programu Obrázek 7.9: Informace o neúspěšném ukončení programu Třída Chyba má dva konstruktory, jeden implicitní, který se volá pokaždé, je-li program úspěšně dokončen. Pokud tomu tak není, je volán druhý konstruktor, jehož vstupním parametrem je String s obsahem, který se zobrazí uživateli (viz 7.9) Třída OknoText Třída OknoText slouží pro zobrazení jednoduchého okna, který obsahuje nějaký text. Tato třída je použita pro volby O programu a Nápověda, které se nacházejí v Gui (viz 7.2 a 7.3). Vstupními hodnotami konstruktoru této třídy jsou dvě hodnoty typu String, a to název okna a jeho obsah. 63

64 7. Převod dat z publikační databáze do ESRI Shapefile 7.11 Výsledky programu Výsledné Shapefile byly zobrazeny v programu ArcExplorer verze Java Edition, který lze získat například zde [7]. Následující ukázky vznikly použitím programu SDO2SHP se zadaným katastrálním územím (Krnov) a následně (Zlín). Pokud zobrazíme všechny vygenerované vrstvy, získáme podobný výsledek jako na obrázku Obrázek 7.10: Katastrální území Krnov Na obrázku 7.11 jsou zobrazeny hranice katastrálního území Zlín dle přesnosti. Další obrázek 7.12 zobrazuje hranice obarvené dle přesnosti, budovy, šipky, parcely katastru nemovitostí včetně parcelních čísel a definičních bodů pro katastrální území s kódem (Krnov). Na obrázku 7.13 vidíme parcely KN s rozlišením stavebních a pozemkových parcel, na obrázcích 7.14 a 7.15 jsou navíc přidány budovy. U posledního obrázku 7.16 vidíme detail šipky. Další obrázky výstupu programu SDO2SHP (parcely KN s parcelními čísly a budovami, parcely KN s parcelními čísly a budovami s definičními body detail) jsou uvedeny v příloze. 64

65 7. Převod dat z publikační databáze do ESRI Shapefile Obrázek 7.11: Katastrální území Zlín dle přesnosti hranic Obrázek 7.12: Zobrazení hranic k.ú. Krnov dle přesnosti 65

66 7. Převod dat z publikační databáze do ESRI Shapefile Obrázek 7.13: Detail výstupu programu 1 Obrázek 7.14: Detail výstupu programu 2 66

67 7. Převod dat z publikační databáze do ESRI Shapefile Obrázek 7.15: Detail výstupu programu 3 Obrázek 7.16: Detail výstupu programu 4 67

68 8. Import dat do SQLite 8 IMPORT DAT DO SQLITE Pro import dat do databáze SQLite (resp. SpatiaLite) byl vytvořen program SHP2DB.jar. Nejprve bylo nutné přidat knihovnu GeoTools a sqlite3.jar do CLASSPATH, podrobnější informace viz část 7.8. sqlite3jni.dll je nutné nakopírovat do adresáře Java home (C:/Program Files/Java)/jre6/bin. Při spuštění programu musí být ve stejném adresáři knihovny: libgeos c-1.dll, libgeos dll, libiconv2.dll, libproj-0.dll, libspatialite-2.dll, libsqlite3-1.dll. Program SHP2DB se skládá z těchto tříd: Hlavni2.java, Gui2.java, Ziskej data.java. Dále využívá třídy z programu SDO2SHP, konkrétně Chyba, OknoText. 8.1 Třída Hlavni2 Tato třída obsahuje následující proměnné: String adr adresář vstupních dat, String vystup výstupní adresář, Výše uvedené proměnné jsou protected. Třída Hlavni2 obsahuje implicitni konstruktor, v němž jsou postupně spouštěny třídy Gui2 a Ziskej data. 68

69 8. Import dat do SQLite 8.2 Třída Gui2 Třída Gui2 je opět uživatelským rozhraním (viz obrázek 8.1), v němž je možné vybrat následující: vstupní adresář, který obsahuje výsledná data z programu SDO2SHP, výstupní adresář, do něhož bude nahrána výsledná databáze. U výstupního adresáře je implicitně volen adresář home/dokumenty. Pokud není zadaný vstupní adresář, program informuje uživatele. V horní části rozhraní jsou opět obsaženy nápověda a informace o programu viz obrázky 8.3 a 8.2 Obrázek 8.1: GUI programu SHP2DB Obrázek 8.2: Volba O programu v GUI SHP2DB Obrázek 8.3: Nápověda programu SHP2DB ziskejsoubory() Tato protected funkce umožňuje ze zadaného vstupního adresáře získat všechny Shapefile soubory. Její návratovou hodnotou je List<String>, který obsahuje názvy souborů s absolutní cestou. 69

70 8. Import dat do SQLite 8.3 Třída Ziskej data Tato třída obsahuje private proměnnou Connection conn, která zajišt uje spojení s databází a protected proměnnou konec, která informuje o tom, že data byla načtena do databáze. Vstupními parametry konstruktoru této třídy jsou zvolený výstupní adresář, kontejner s názvy Shapefile souborů a Gui2 ; Pro správné fungování třídy je nutné povolit vkládání rozšíření a poté vložit libspatialite- 2.dll. Toho dosáhneme například pomocí následujícího kódu: conn.enableloadextention(); errmsg = SQLite3.new p p char(); conn.loadextention("libspatialite-2.dll", null, errmsg); Kontejner obsahující názvy vstupních souborů je setříděn dle abecedy (A-Z). Zpracovávané názvy souborů jsou následující: hranice.shp obsahuje hraniční úseky (linie), PKN.shp uloženy parcely KN (polygon), PKN DB.shp definiční body parcel (bod), PKN PC.shp geometrie polohy parcelního čísla (bod), PKN PC MB.shp geometrie polohy parcelního čísla (multibod), PKN znacky.shp geometrie polohy značky využití pozemku (bod), PKN znacky MB.shp geometrie polohy značky využití pozemku (multibod), PKN sipky.shp geometrie šipky (multilinie), PZE.shp geometrie definičního bodu parcely (bod), budovy.shp geometrie budovy (multipolygon), budovy DB.shp definiční body budovy (bod), budovy znacky.shp poloha značky typu stavby (bod), budovy znacky MB.shp poloha značky typu stavby (multibod), 70

71 8. Import dat do SQLite DPM B.shp další prvek mapy (bod), DPM MB.shp další prvek mapy (multibod), DPM ML.shp další prvek mapy (multilinie), DPM MP.shp další prvek mapy (multipolygon). V konstruktoru třídy je při zjištění existence daného souboru vytvořena v databázi, která je umístěna v zadaném výstupním adresáři s názvem publ.sqlite, příslušná tabulka (pokud neexistuje) a poté se zavolá příslušná funkce pro zpracování dat. Vytvořeny jsou následující tabulky: HRANICE PARCEL, PARCELY KN, PARCELY ZE, BUDOVY, DALSI PRVKY MAPY. Je zde také kontrolováno, zda jsou data v systému JTSK Křovák East-North ziskej hranice() Vstupem této funkce jsou Shapefile soubor file, grafické rozhraní a připojení do databáze Connection conn. Nejprve je nutné definovat parametry připojení s využitím ShapefileDataStore. Poté je definován FeatureSource a FeatureCollection, abychom pomocí FeatureIterator mohli přistupovat k datům. Ukázka části zdrojového kódu, který umožňuje čtení Shapefile může vypadat takto: ShapefileDataStore datastore = = new ShapefileDataStore(file.toURI().toURL()); String[] typenames = datastore.gettypenames(); String typename = typenames[0]; FeatureSource<SimpleFeatureType, SimpleFeature> featuresource = 71

72 8. Import dat do SQLite = datastore.getfeaturesource(typename); FeatureCollection<SimpleFeatureType, SimpleFeature> collection = = featuresource.getfeatures(); FeatureIterator<SimpleFeature> iterator = collection.features();. Nejprve je z databáze získán seznam všech existujících prvků pomocí funkce vratid() Dále jsou ve funkci ziskej hranice() předdefinovány dva SQL příkazy první pro vkládání dat (INSERT) a druhý pro jejich aktualizaci (UPDATE). Ukázka předdefinovaného SQL dotazu pro vložení dat v Javě může vypadat následovně: INSERT INTO HRANICE PARCEL (ID,geometrie,par ID 1,par ID 2,presnost, typppd kod,datum) VALUES ( ID,GeomFromText(geometrie,102067),par ID 1,par ID 2,presnost, typppd kod,datum ); To, jaký z těchto dvou příkazů bude použit, závisí na tom, zda daný prvek již v databázi existuje. Pokud ne, je vložen nový, pokud ano (zjišt uje se dle ID), je existující prvek aktualizován načtenými daty. Tento postup je nutný z několika důvodů. Pokud databáze publ.sqlite existuje, není při spuštění programu SHP2DB smazána, ale jsou do ní data přidávána. Existující databáze již může obsahovat data, proto je nutné jejich zjišt ování. Dalším důvodem je to, že data z původních databázových tabulek byly rozděleny do několika Shapefile, přičemž jejich počet je v každém katastrálním území různý, záleží na datech. Je tedy vhodné zpracovávat každý soubor samostatně. Obdobným způsobem fungují i ostatní funkce ziskej Pkn(), ziskej Pze(), Výsledky programu Abychom získali nějakou informaci o datech v databázi, použili jsme SpatiaLite GUI (podrobněji viz 5.4). 72

73 8. Import dat do SQLite Na obrázku 8.4 je znázorněn výsledek dotazu: SELECT count(*) FROM DALSI PRVKY MAPY; Obrázek 8.4: Výsledky programu SHP2DB Abychom ukázali uložení geometrie, použili jsme následující příkaz: SELECT katuze kod, AsText(geometrie) FROM DALSI PRVKY MAPY; Výsledek dotazu je vidět na obrázku

74 8. Import dat do SQLite Obrázek 8.5: Výsledky programu SHP2DB Výsledkem dalšího dotazu je obrázek 8.6. SELECT id, katuze kod, text, vymera, vymera vypoctena, datum, AsText(geometrie sipka) FROM PARCELY KN; 74

75 8. Import dat do SQLite Obrázek 8.6: Výsledky programu SHP2DB Pro spuštění obou programů byly vytvořeny bat soubory spust SDO2SHP.bat a spust SHP2DB.bat, které programy SDO2SHP.jar a SHP2DB.jar spouští pomocí příkazů: java -jar SDO2SHP.jar java -jar SHP2DB.jar spust SDO2SHP.bat i spust SHP2DB.bat vypíší dobu trvání programu. 75

76 9. Závěr 9 ZÁVĚR V diplomové práci jsem se zabývala úvodem do GIS, databázemi a programovacím jazykem Java. Hlavním cílem práce bylo vytvoření dvou programů. První SDO2SHP.jar slouží pro převod grafických dat z publikační databáze ISKN do formátu ESRI Shapefile a druhý SHP2DB.jar pro převod těchto dat z formátu ESRI Shapefile do databáze SQLite (resp. SpatiaLite). Program SHP2DB.jar musí v adresáři, ze kterého je spouštěn, obsahovat ještě knihovny libgeos c-1.dll, libgeos dll, libiconv2.dll, libproj-0.dll, libspatialite-2.dll a libsqlite3-1.dll. SDO2SHP.jar bude využit pro snadnější získávání dat z publikační databáze, konkrétně hranic parcel, parcel KN, parcel ZE, budov a dalších prvků mapy. Tato data jsou získána z databáze Oracle, geometrie jsou převedeny z typu SDO GEOMETRY do pomocné textové reprezentace, která je následně zpracována do formátu WKT a poté jsou data s využitím knihovny GeoTools převedena do formátu Shapefile. Příklad výstupu programu je znázorněn na obrázku 9.1. Obrázek 9.1: Zobrazení výstupu programu SDO2SHP.jar SHP není v současné době závazným formátem ISKN, ale bude sloužit k testovacím účelům v rámci resortu ČÚZK a je možné, že v budoucnu se bude poskytovat i externím zákazníkům. 76

77 9. Závěr Program SHP2DB.jar slouží pro načítání dat získaných z programu SDO2SHP.jar, jejich převod do formátu WKT a následný převod do datových typů databáze SQLite resp. SpatiaLite. Kombinací obou programů je vytvořen nástroj pro přenos grafických dat ISKN do jiné databáze (zde SQLite resp. SpatiaLite), čímž získáváme ideální nástroj pro vytváření pomocných nebo testovacích databází, jež by mohly sloužit pro další studenty, kteří budou při zpracování své bakalářské nebo diplomové práce potřebovat data SGI ISKN. Oba programy byly napsány v programovacím jazyku Java, bylo použito vývojové prostředí Eclipse. K oběma programům bylo vytvořeno grafické uživatelské rozhraní, které uživateli ulehčuje práci. Není tedy nutné, aby se uživatel orientoval ve struktuře publikační databáze nebo v problematice databází či programování obecně. Abych tyto programy mohla vytvořit, bylo nutné se seznámit s publikační databází, s knihovnou GeoTools, knihovnou pro tvorbu grafického uživatelského rozhraní Swing, databází SQLite a její nadstavbou pro práci s prostorovými daty SpatiaLite a jejich knihovnami pro jazyk Java. Dále bylo třeba nastudovat rozšíření Oracle Spatial a datové typy, které se používají v ISKN. V rámci další spolupráce s ČÚZK budu program dále vyvíjet a obohacovat o nové funkce. 77

78 Literatura LITERATURA [1] Bentley Systems ČR s.r.o.. Technologie a produkty platformy MicroStation [online]. c2009 [cit ]. Dostupný z WWW: < microstation+product+line/>. [2] BEZDĚK, Josef. GeoTools (the open source Java GIS toolkit) implementace Delaunayho triangulace., s. Západočeská univerzita v Plzni. Vedoucí bakalářské práce Ing. Jan Ježek. Dostupný z WWW: < Geotools_implementace_Delaunayovy_triangulace.pdf>. [3] Česká Wikipedie : Wikipedie, otevřená encyklopedie [online] [cit ]. Dostupný z WWW: < [4] Český úřad zeměměřický a katastrální. Český úřad zeměměřický a katastrální [online] [cit ]. Dostupný z WWW: < PRARESKOD=998&MENUID=0&AKCE=DOC:10-STARYVF1>. [5] DEMEL, Jiří. Grafy a jejich aplikace. 1. vyd. Praha : Academia, s. ISBN [6] DOLEŽEL, Jan. Datové formáty pro prezentaci map na webu., s. Diplomová práce. Dostupný z WWW: < diplomka.pdf>. [7] ESRI. ArcExplorer [online]. [2009] [cit ]. Dostupný z WWW: < esri.com/software/arcexplorer/download.html>. [8] ESRI Shapefile Technical Description [online] [cit ]. Dostupný z WWW: < [9] GeoTools InfoSheet [online] [cit ]. Dostupný z WWW: < osgeo.org/geotools>. [10] Geeknet, Inc.. Get GeoTools, the java GIS toolkit at SourceForge.net [online]. c2009 [cit ]. Dostupný z WWW: < [11] GIS [online]. [2008] [cit ]. Dostupný z WWW: < ~baranov/sps_kartografie/gis.pdf>. 78

79 Literatura [12] GISLaboratory - Co je GIS [online]. [2002] [cit ]. Dostupný z WWW: < [13] GISoft. Formát DGN [online]. c [cit ]. Dostupný z WWW: < [14] HEROUT, Pavel. Učebnice jazyka Java. České Budějovice : Kopp, s. ISBN [15] Index of /sqlitejdbc/38138 [online]. [2009] [cit ]. Dostupný z WWW: < [16] [17] JANEČKA, Karel, SOUČEK, Petr. Převod prostorových dat katastru nemovitostí do formátu shapefile [online] [cit ]. Dostupný z WWW: < cz/gis_ostrava/gis_ova_2009/sbornik/lists/papers/011.pdf>. KUBÁTOVÁ, Romana. Analýza transformace referenčních souřadnicových systémů S-JTSK a ETRS-89 v GIS. [s.l.], s. Západočeská univerzita v Plzni. Diplomová práce. Dostupný z WWW: < 2009/Kubatova_Analyza_transformace_referencnich_souradnicovych_systemu_ S-JTSK_a_ETRS89_v_GIS_DP.pdf>. [18] LAKE, Ron, et al. Geography Mark-Up Language : Foundation for the Geo-Web., s. [19] Open Geospatial Consortium, Inc.. Geography Markup Language OGC [online]. c [cit ]. Dostupný z WWW: < standards/gml>. [20] Oracle. Oracle JDBC Drivers release Downloads [online]. [2009] [cit ]. Dostupný z WWW: < sqlj_jdbc/htdocs/jdbc_ html>. [21] Oracle. Oracle Spatial : User s Guide and Reference [online] [cit ]. Dostupný z WWW: < >. [22] OSDN Corporation. SQLite JDBC Driver for Mysaifu JVM [online]. [2009] [cit ]. Dostupný z WWW: < releases/?package_id=7196>. 79

80 Literatura [23] KOTHURI, Ravi, GODFRIND, Albert, BEINAT, Euro. Pro Oracle Spatial. : Apress, c s. ISBN [24] RAPANT, Petr. Úvod do geografických informačních systémů : Skripta PGS [online] [cit ]. Dostupný z WWW: <gis.vsb.cz/publikace/ugis>. [25] SpatiaLite download page [online]. [2009] [cit ]. Dostupný z WWW: < [26] SpatiaLite tutorial [online]. [2009] [cit ]. Dostupný z WWW: < gaia-gis.it/spatialite-2.1/spatialite-manual.html#t2.1>. [27] SQLite Download Page [online]. [2009] [cit ]. Dostupný z WWW: < [28] Sun Microsystems, Inc.. Developer Resources for Java Technology [online] [cit ]. Dostupný z WWW: < [29] [30] [31] [32] ŠMÍDOVÁ, Kateřina. Řešení přímého přístupu SQL klientem k prostorovým datům, uloženým pomocí ESRI technologie v RDBMS Oracle. [s.l.], s. Bakalářská práce. TUČEK, Ján. Geografické informační systémy : Principy a praxe. 1. vyd. [s.l.] : Computer Press, s. ISBN X. TIŠNOVSKÝ, Pavel. Vektorový grafický formát DXF [online] [cit ]. Dostupný z WWW: < vektorovy-graficky-format-dxf/>. VÚGTK. Terminologická komise CUZK [online]. c [cit ]. Dostupný z WWW: < 80

81 Přílohy PŘÍLOHY Příloha A Příloha B popis tabulek publikační databáze, které byly použity v této práci, ukázky výstupu programu SDO2SHP, Příloha C zdrojový kód funkce smidova get sdo elem info 3(), Příloha D obsah přiloženého CD. 81

82 Příloha A PŘILOHA A Tabulka 9.1: Tabulka PUB HRANICE PARCEL Název Typ Klíč Null Význam ID number(30) PK N ID hraničního úseku geometrie sdo geometry N hraniční úsek (linie) geometrie o- sdo geometry A originální hraniční úsek riginalni par ID 1 number(30) FK N ID parcely par ID 2 number(30) FK A ID parcely katuze kod number(6) FK N kód katastrálního území parcely č. 1 katuze kod 2 number(6) FK A kód katastrálního území parcely č. 2 presnost number(1) N přesnost hraničního úseku typppd kod number(10) N typ prvku prostorových dat datum vzniku date N datum vzniku prvku Tabulka 9.2: Tabulka PUB PARCELY ZE Název Typ Klíč Null Význam ID number(30) PK N ID parcely katuze kod number(6) FK N kód katastrálního území bud ID number(30) FK A ID budovy stojící na parcele zdpaze kod number(1) N zdroj evidence parcel v ZE text def bod varchar2(255) N popis definičního bodu pro zobrazení v mapě (např. st ) druh cislovani number(1) N příznak stavební parcely (ano/ne) par geometrie sdo geometry N definiční bod parcely (point) def bod datum vzniku date N datum vzniku prvku vymera parcely number(9) N výměra parcely z SPI 82

83 Příloha A Tabulka 9.3: Tabulka PUB PARCELY KN Název Typ Klíč Null Význam ID number(30) PK N ID parcely katuze kod number(6) FK N kód katastrálního území bud ID number(30) FK A ID budovy stojící na parcele text varchar2(255) N popis parcely pro zobrazení v mapě (číslo parcely) text def bod varchar2(255) N popis definičního bodu pro zobrazení v mapě (např. st ) stavebni parce/- varchar2(1) N příznak stavební parcely la ( a =ano/ n =ne) geometrie sdo geometry A parcela (polygon) geometrie def bod sdo geometry N definiční bod parcely (point) geometrie cislo sdo geometry N poloha parcelního čísla (point/multipoint) nerozlišuje se typ čísla (pozemkové, stavební atd.) geometrie znacka sdo geometry A poloha značky využití pozemku (point/multipoint) geometrie sipka sdo geometry A vodící čára k popisnému parcelnímu číslu (linie, volitelně) + poloha šipky (bod, může mít uvedenou orientaci); celá skupina se může vyskytovat vícekrát hranice varray of number(30) FK N hranice parcely typppd kodznacka number(10) N typ prvku prostorových dat (pro určení značky druhu pozemku) datum vzniku date N datum vzniku prvku vymera parcely number(9) N výměra parcely z SPI vypoctena vymera number(9) N výměra parcely vypočtená z parcely geometrických dat 83

84 Příloha A Tabulka 9.4: Tabulka PUB BUDOVY Název Typ Klíč Null Význam ID number(30) PK N ID budovy katuze kod number(6) FK N kód katastrálního území par ID number(30) FK N ID parcely, na které budova stojí caobce kod number(6) A kód části obce text def bod varchar2(255) N popis definičního bodu (číslo domu v rámci části obce, např. č.p. 746 nebo bez č.p./č.e ) typbud kod number(1) N typ stavby geometrie sdo geometry A budova (polygon/multipolygon) geometrie sdo geometry N definiční bod budovy (point) def bod geometrie znacka sdo geometry A poloha značky typu stavby, může být natočena (point/multipoint) typppd kod number(10) A typ prvku prostorových dat (značky) datum vzniku date N datum vzniku prvku Tabulka 9.5: Tabulka PUB DALSI PRVKY MAPY Název Typ Klíč Null Význam ID number(30) PK N ID dalšího prvku mapy katuze kod number(6) FK N kód katastrálního území typppd kod number(10) N typ prvku prostorových dat geometrie sdo geometry N geometrie dalšího prvku mapy (může být natočen) zmena geometrie char(1) A příznak použití transformované geometrie ( A oblouk, C kružnice, S křivka) text varchar2(255) A popis prvku 84

85 Příloha B PŘILOHA B Obrázek 9.2: Detail výstupu programu SDO2SHP 1 Obrázek 9.3: Detail výstupu programu SDO2SHP 2 85

86 Příloha B Obrázek 9.4: Detail výstupu programu SDO2SHP 3 Obrázek 9.5: Detail výstupu programu SDO2SHP 4 86

87 Příloha C PŘILOHA C create or replace FUNCTION SMIDOVA GET SDO ELEM INFO 3(geom mdsys.sdo geometry) RETURN MDSYS.SDO GEOMETRY AS elem info INTEGER := -1; BEGIN IF (geom is not null) THEN elem info := geom.sdo elem info(3); ELSE RETURN NULL; END IF; IF (elem info = 2) THEN RETURN pub arc densify(geom); ELSIF (elem info = 4) THEN RETURN pub arc densify(geom); ELSE RETURN geom; END IF; END SMIDOVA GET SDO ELEM INFO 3; 87

88 Příloha D PŘILOHA D Obrázek 9.6: Obsah přiloženého CD 88

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

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

Shapefile. Dalibor Tvrdý GIS 2010/11

Shapefile. Dalibor Tvrdý GIS 2010/11 Shapefile Dalibor Tvrdý GIS 2010/11 Co je to shapefile? Shapefile je jednoduchý datový formát pro ukládání prostorových dat Vyvinut společností ESRI (Economic and Social Research Institute) začátkem 90.

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

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

Manipulace a restrukturalizace dat

Manipulace a restrukturalizace dat Manipulace a restrukturalizace dat Atributová data Editace Polohová data Konverze mezi softwarově specifickými formáty Editování Spojování a členění prostorových reprezentací Změna mapové projekce Transformace

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

Publikování map na webu - WMS

Publikování map na webu - WMS Semestrální práce z předmětu Kartografická polygrafie a reprografie Publikování map na webu - WMS Autor: Ondřej Dohnal, Martina Černohorská Editor: Filip Dvořáček Praha, duben 2010 Katedra mapování a kartografie

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

Desktopový GIS a Grafický editor. Technický profil

Desktopový GIS a Grafický editor. Technický profil Desktopový GIS a Grafický editor Technický profil Úvodní informace GeoStore V6 je moderní GIS systém vyvinutý v technologii Microsoft.NET. Spojuje v sobě nejdůležitější funkce pro tvorbu, aktualizaci a

Více

Alena Malovaná, MAL305

Alena Malovaná, MAL305 Alena Malovaná, MAL305 GML WFS WMF Geografický značkovací jazyk (Geographic Markup Language - GML) Jedná se o velmi rozšířený standard pro popis geodat umožňující sdílení i integraci dat. Jeho základem

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 GIS

Geografické informační systémy GIS Geografické informační systémy GIS Prohloubení nabídky dalšího vzdělávání v oblasti zeměměřictví a katastru nemovitostí ve Středočeském kraji CZ.1.07/3.2.11/03.0115 Projekt je finančně podpořen Evropským

Více

Manipulace a restrukturalizace dat

Manipulace a restrukturalizace dat Manipulace a restrukturalizace dat Atributová data Editace Polohová data Konverze mezi softwarově specifickými formáty Editování Spojování a členění prostorových reprezentací Změna mapové projekce Transformace

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

Konverze grafických rastrových formátů

Konverze grafických rastrových formátů ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE FAKULTA STAVEBNÍ OBOR GEODÉZIE A KARTOGRAFIE KATEDRA MAPOVÁNÍ A KARTOGRAFIE Konverze grafických rastrových formátů semestrální práce Jakub Hořejší Ondřej Šalanda V

Více

Převod prostorových dat katastru nemovitostí do formátu shapefile

Převod prostorových dat katastru nemovitostí do formátu shapefile GIS Ostrava 2009 25. - 28. 1. 2009, Ostrava Převod prostorových dat katastru nemovitostí do formátu shapefile Karel Janečka1, Petr Souček2 1Katedra matematiky, Fakulta aplikovaných věd, ZČU v Plzni, Univerzitní

Více

Význam a způsoby sdílení geodat. Ing. Petr Seidl, CSc. ARCDATA PRAHA, s.r.o.

Význam a způsoby sdílení geodat. Ing. Petr Seidl, CSc. ARCDATA PRAHA, s.r.o. Význam a způsoby sdílení geodat Ing. Petr Seidl, CSc. ARCDATA PRAHA, s.r.o. Geodata data s implicitním nebo explicitním vztahem k místu na Zemi data identifikující geografickou polohu a charakteristiky

Více

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

2. přednáška z předmětu GIS1 Data a datové modely 2. přednáška z předmětu GIS1 Data a datové modely Vyučující: Ing. Jan Pacina, Ph.D. e-mail: jan.pacina@ujep.cz Pro přednášku byly použity texty a obrázky z www.gis.zcu.cz Předmět KMA/UGI, autor Ing. K.

Více

Rastrová reprezentace

Rastrová reprezentace Rastrová reprezentace Zaměřuje se na lokalitu jako na celek Používá se pro reprezentaci jevů, které plošně pokrývají celou oblast, případně se i spojitě mění. Používá se i pro rasterizované vektorové vrstvy,

Více

Databázové a informační systémy

Databázové a informační systémy Databázové a informační systémy doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Obsah Jak ukládat a efektivně zpracovávat

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

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

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

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

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

Sdílení a poskytování dat KN. Jiří Poláček

Sdílení a poskytování dat KN. Jiří Poláček Sdílení a poskytování dat KN Jiří Poláček Přehled služeb Datové služby Výměnný formát (SPI, SGI) Skenované katastrální mapy Aplikace a webové služby Dálkový přístup do KN (včetně webových služeb) Nahlížení

Více

Škola: Gymnázium, Brno, Slovanské náměstí 7 III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Název projektu: Inovace výuky na GSN

Škola: Gymnázium, Brno, Slovanské náměstí 7 III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Název projektu: Inovace výuky na GSN Škola: Gymnázium, Brno, Slovanské náměstí 7 Šablona: III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Název projektu: Inovace výuky na GSN prostřednictvím ICT Číslo projektu: CZ.1.07/1.5.00/34.0940

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

DTM DMVS Plzeňského kraje

DTM DMVS Plzeňského kraje Směrnice DTM DMVS Plzeňského kraje Verze 3.1 DTM DMVS Plzeňského kraje Zpracoval Datum 1. 3. 2015 Popis Vydavatel URL Platnost Práva Zpracováno ve spolupráci partnerů DTM DMVS Plzeňského kraje: - Plzeňský

Více

ArcGIS Desktop 10. Nástroje pro správu, editaci a analýzu prostorových dat

ArcGIS Desktop 10. Nástroje pro správu, editaci a analýzu prostorových dat ArcGIS Desktop 10 Nástroje pro správu, editaci a analýzu prostorových dat ArcGIS Desktop 10 Software ArcGIS Desktop 10 nabízí širokou paletu nástrojů pro všechny, kdo pracují s informacemi se vztahem k

Více

Obsah. Co je to Field-Map? Field-Map software Popis technologie Field-Map Zdroje

Obsah. Co je to Field-Map? Field-Map software Popis technologie Field-Map Zdroje Michal Zigo, ZIG012 Obsah Co je to Field-Map? Field-Map software Zdroje Co je to Field-Map? Field-Map je technologie, která vzniká spojením jedinečného software s vhodným hardwarem, takže umožňuje terénní

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

Služby katastru nemovitostí. JiříPoláček

Služby katastru nemovitostí. JiříPoláček Služby katastru nemovitostí JiříPoláček Obsah prezentace 1. Současné formy poskytování údajů KN 2. RÚIAN a jeho datové zdroje 3. Další kroky při implementaci směrnice INSPIRE 4. Novela vyhlášky 162/2001

Více

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007 Úvod do programovacích jazyků (Java) Michal Krátký 1 Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků

Více

Lubomír Dobrovolský, DOB113

Lubomír Dobrovolský, DOB113 Lubomír Dobrovolský, DOB113 Co je to SharpMap Verze Zdroje dat Vektorové formáty Rastrové formáty WMS servery Typy objektů, projekcí Práce se SharpMap Načtení geodat Ukázky kódu pro základní mapové operace

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

GEOGRAFICKÉ INFORMAČNÍ SYSTÉMY 4

GEOGRAFICKÉ INFORMAČNÍ SYSTÉMY 4 UNIVERZITA TOMÁŠE BATI VE ZLÍNĚ FAKULTA APLIKOVANÉ INFORMATIKY GEOGRAFICKÉ INFORMAČNÍ SYSTÉMY 4 Lubomír Vašek Zlín 2013 Tento studijní materiál vznikl za finanční podpory Evropského sociálního fondu (ESF)

Více

Rastrová grafika. Grafický objekt je zaznamenán jednotlivými souřadnicemi bodů v mřížce. pixel ( picture element ) s definovanou barvou

Rastrová grafika. Grafický objekt je zaznamenán jednotlivými souřadnicemi bodů v mřížce. pixel ( picture element ) s definovanou barvou Rastrová grafika Grafický objekt je zaznamenán jednotlivými souřadnicemi bodů v mřížce. pixel ( picture element ) s definovanou barvou Kvalita je určena rozlišením mřížky a barevnou hloubkou (počet bitů

Více

Úvod do programování v jazyce Java

Úvod do programování v jazyce Java Úvod do programování v jazyce Java Petr Krajča Katedra informatiky Univerzita Palackého v Olomouci 5. říjen, 2011 Petr Krajča (UP) KMI/UP3J: Seminář I. 5.10.2011 1 / 17 Organizační informace email: petr.krajca@upol.cz

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

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

Pravidla pro tvorbu ÚKM Jihočeského kraje

Pravidla pro tvorbu ÚKM Jihočeského kraje Pravidla pro tvorbu ÚKM Jihočeského kraje Pravidla pro tvorbu ÚKM Jihočeského kraje stanovují způsob tvorby ÚKM Jihočeského kraje a její aktualizace do doby než dojde ke zprovoznění RUIAN, poté přechází

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

DTM DMVS Plzeňského kraje

DTM DMVS Plzeňského kraje Směrnice DTM DMVS Plzeňského kraje Verze 2.1 DTM DMVS Plzeňského kraje Zpracoval Datum 18. 7. 2013 Popis Vydavatel URL GEOREAL spol. s r.o., Hálkova 12, 301 00 Plzeň Směrnice obsahuje základní údaje o

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

Otevřený katastr (OK)

Otevřený katastr (OK) Otevřený katastr (OK) Karel Jedlička, Jan Ježek, Jiří Petrák smrcek@kma.zcu.cz, h.jezek@centrum.cz, jiripetrak@seznam.cz Západočeská univerzita v Plzni, Fakulta aplikovaných věd, katedra matematiky oddělení

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

Grafické editory. Ing. Jan Steringa 2008

Grafické editory. Ing. Jan Steringa 2008 Grafické editory Ing. Jan Steringa 2008 Grafický editor aplikace určená pro tvorbu nebo úpravu grafických dat (obrázky, výkresy) rozdělení grafických editorů vektorové rastrové jednoúčelové komplexní pro

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

Michal Krátký, Miroslav Beneš

Michal Krátký, Miroslav Beneš Databázové a informační systémy Michal Krátký, Miroslav Beneš Katedra informatiky VŠB Technická univerzita Ostrava 5.12.2005 2005 Michal Krátký, Miroslav Beneš Databázové a informační systémy 1/24 Obsah

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

ČÚZK a INSPIRE. Jiří Poláček. Konference Inspirujme se..., Průhonice,

ČÚZK a INSPIRE. Jiří Poláček. Konference Inspirujme se..., Průhonice, ČÚZK a INSPIRE Jiří Poláček Konference Inspirujme se..., Obsah prezentace 1. Průběh prací při implementaci směrnice INSPIRE 2. Základní registr územní identifikace, adres a nemovitostí (RUIAN) a INSPIRE

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

SA Služby IS DMVS LK

SA Služby IS DMVS LK Příloha A Směrnice IS DMVS LK Služby IS DMVS LK Verze 1.1 DMVS Libereckého kraje Zpracoval Datum 30. 10. 2015 Označení ŘD Popis Vydavatel URL Platnost Práva Liberecký kraj a aktivní partneři SA Služby

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

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

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

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

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

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

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

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

Přístup povolen. AutoCAD. Map 3D. AutoCAD. AutoCAD. Civil 3D

Přístup povolen. AutoCAD. Map 3D. AutoCAD. AutoCAD. Civil 3D Přístup povolen. Map 3D Civil 3D Map 3D 2008 Zcela nová produktivita FDO (Feature Data Objects) je technologie přístupu k datům, která aplikacím Autodesku pro práci s geoprostorovými daty, kterými jsou

Více

Vyvinuté programové vybavení (projekt čís. TA02030806)

Vyvinuté programové vybavení (projekt čís. TA02030806) Vyvinuté programové vybavení (projekt čís. TA02030806) 1.část programů Předzpracování dat Program sloužící k vytvoření Digitálního modelu reliéfu, povrchu a bezpečnostní hladiny, do formátu grid, s konstantním

Více

Vektorové grafické formáty

Vektorové grafické formáty Vektorové grafické formáty Semestrální práce na předmět KAPR Fakulta stavební ČVUT 28.5.2009 Vypracovali: Petr Vejvoda, Ivan Pleskač Obsah Co je to vektorová grafika Typy vektorových formátů Souborový

Více

PROSTOROVÁ DATA Z GEOPORTÁLU ČÚZK A INSPIRE

PROSTOROVÁ DATA Z GEOPORTÁLU ČÚZK A INSPIRE PROSTOROVÁ DATA Z GEOPORTÁLU ČÚZK A INSPIRE Petr Dvořáček Zeměměřický úřad Obsah prezentace Obsah prezentace 1. Geoportál ČÚZK úvod, historie rozvoje 2. Správa metadat 3. Nový vzhled Geoportálu ČÚZK 4.

Více

Možnosti a podmínky využití prostorových dat Zeměměřického úřadu

Možnosti a podmínky využití prostorových dat Zeměměřického úřadu Možnosti a podmínky využití prostorových dat Zeměměřického úřadu Ing. Petr Dvořáček Konference Praha 19. listopadu 2008 internet interní síť databázové úložiště ZABAGED Geoportál ZÚ migrace GEONAMES SM-5

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

ArcGIS Server 10. Řešení pro sdílení geodat

ArcGIS Server 10. Řešení pro sdílení geodat ArcGIS Server 10 Řešení pro sdílení geodat ArcGIS Server 10 ArcGIS Server je komplexní nástroj, který představuje platformu pro poskytování služeb GIS umožňujících pořizování, správu a analýzu prostorových

Více

Rastrová reprezentace geoprvků model polí Porovnání rastrové a vektorové reprezentace geoprvků Digitální model terénu GIS 1 153GS01 / 153GIS1

Rastrová reprezentace geoprvků model polí Porovnání rastrové a vektorové reprezentace geoprvků Digitální model terénu GIS 1 153GS01 / 153GIS1 GIS 1 153GS01 / 153GIS1 Martin Landa Katedra geomatiky ČVUT v Praze, Fakulta stavební 14.11.2013 Copyright c 2013 Martin Landa Permission is granted to copy, distribute and/or modify this document under

Více

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

Strategie ochrany před negativními dopady povodní a erozními jevy přírodě blízkými opatřeními v České republice Strategie ochrany před negativními dopady povodní a erozními jevy přírodě blízkými opatřeními v České republice Návod k prezentačnímu mapovému portálu Obsah: 1. Úvod... 3 2. Obecná část mapového portálu...

Více

Matematika v programovacích

Matematika v programovacích Matematika v programovacích jazycích Pavla Kabelíková am.vsb.cz/kabelikova pavla.kabelikova@vsb.cz Úvodní diskuze Otázky: Jaké programovací jazyky znáte? S jakými programovacími jazyky jste již pracovali?

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

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

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

Ú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

FORMÁTY UKLÁDÁNÍ OBRAZOVÝCH INFORMACÍ VÝMĚNA DAT MEZI CAD SYSTÉMY

FORMÁTY UKLÁDÁNÍ OBRAZOVÝCH INFORMACÍ VÝMĚNA DAT MEZI CAD SYSTÉMY FORMÁTY UKLÁDÁNÍ OBRAZOVÝCH INFORMACÍ VÝMĚNA DAT MEZI CAD SYSTÉMY FORMÁTY UKLÁDÁNÍ OBRAZOVÝCH INFORMACÍ VEKTOROVÁ GRAFIKA Obraz reprezentován pomocí geometrických objektů (body, přímky, křivky, polygony).

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

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

Kartografická webová aplikace. Přednáška z předmětu Počítačová kartografie (KMA/POK) Otakar Čerba Západočeská univerzita

Kartografická webová aplikace. Přednáška z předmětu Počítačová kartografie (KMA/POK) Otakar Čerba Západočeská univerzita Kartografická webová aplikace Přednáška z předmětu Počítačová kartografie (KMA/POK) Otakar Čerba Západočeská univerzita Datum vzniku dokumentu: 3. 11. 2011 Datum poslední aktualizace: 10. 12. 2011 Cíl

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

RELAČNÍ DATABÁZOVÉ SYSTÉMY

RELAČNÍ DATABÁZOVÉ SYSTÉMY RELAČNÍ DATABÁZOVÉ SYSTÉMY VÝPIS KONTROLNÍCH OTÁZEK S ODPOVĚDMI: Základní pojmy databázové technologie: 1. Uveďte základní aspekty pro vymezení jednotlivých přístupů ke zpracování hromadných dat: Pro vymezení

Více

Technická dokumentace

Technická dokumentace Příloha č. 1 výzvy k podání nabídky na veřejnou zakázku malého rozsahu s názvem Doplnění účelové mapy povrchové situace Digitální technické mapy Plzeňského kraje 2015" Technická dokumentace 1/11 Úvod Tento

Více

GIS1-7. cvičení. listopad 2008. ČVUT v Praze, Fakulta stavební, katedra mapování a kartografie. Obsah. Založení nového souboru s vektorovými daty

GIS1-7. cvičení. listopad 2008. ČVUT v Praze, Fakulta stavební, katedra mapování a kartografie. Obsah. Založení nového souboru s vektorovými daty ČVUT v Praze, Fakulta stavební, katedra mapování a kartografie listopad 2008 Obsah prezentace 1 2 3 4 5 6 Měli bychom umět pracovat s rastrovými daty rozumět problematice vektorových dat u obou typů dat

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

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

Vektorová a bitmapová grafika

Vektorová a bitmapová grafika Vektorová a bitmapová grafika Obsah prezentace Vektorová a bitmapová grafika Grafické formáty Grafické programy Programový Balík Corel Draw a program AutoCAD Typy grafiky Vektorová Jednotlivé prvky tvořící

Více

O Apache Derby detailněji. Hynek Mlnařík

O Apache Derby detailněji. Hynek Mlnařík O Apache Derby detailněji Hynek Mlnařík Agenda Historie Vlastnosti Architektura Budoucnost Historie 1997 Cloudscape Inc. - JBMS 1999 Informix Software, Inc. odkoupila Cloudscape, Inc. 2001 IBM odkoupila

Více

GIS a nemapové služby

GIS a nemapové služby GIS a nemapové služby Radek Kuttelwascher ARCDATA PRAHA, s.r.o. GIS služby lze využít t z různých r klientů PopFly.NET Java Virtual Earth Yahoo Pipes JavaScript SAP Google Maps Flex/Flash Microsoft Silverlight

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

14.4.2010. Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod.

14.4.2010. Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod. Základy programování (IZAPR) Přednáška 7 Ing. Michael Bažant, Ph.D. Katedra softwarových technologií Kancelář č. 229, Náměstí Čs. legií Michael.Bazant@upce.cz Obsah přednášky 7 Parametry metod, předávání

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

Analýza dat a modelování. Speciální struktury

Analýza dat a modelování. Speciální struktury Analýza dat a modelování Speciální struktury XML extensible Markup Language jazyk pro popis struktury dat (zejména se používá pro dokumenty) výrazná podobnost s HTML proč? protože má stejný původ v jazyce

Více

Přehled kartografické tvorby Zeměměřického úřadu

Přehled kartografické tvorby Zeměměřického úřadu Přehled kartografické tvorby Zeměměřického úřadu Ing. Danuše Svobodová 6. září 2013, Plzeň Obsah prezentace O státním mapovém díle Státní mapové dílo = tisíce mapových listů Klady mapových listů Obsah

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