+ All Categories
Home > Documents > DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou:...

DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou:...

Date post: 24-Jun-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
88
ˇ CESK ´ E VYSOK ´ EU ˇ CEN ´ I TECHNICK ´ E Fakulta stavebn´ ı Katedramapov´an´ ı a kartografie DIPLOMOV ´ A PR ´ ACE 2009 Kateˇ rina ˇ Sm´ ıdov´ a
Transcript
Page 1: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CESKE VYSOKE UCENI TECHNICKE

Fakulta stavebnı

Katedra mapovanı a kartografie

DIPLOMOVA PRACE

2009 Katerina Smıdova

Page 2: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CESKE VYSOKE UCENI TECHNICKE

Fakulta stavebnı

Katedra mapovanı a kartografie

Export dat SGI ISKN do formatu ESRI shapefile a

jejich import do RDBMS za pomoci WKT/WKB.

Jmeno diplomanta: Katerina Smıdova

Vedoucı diplomove prace: Ing. Petr Soucek, Ph.D.

Page 3: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

3

Page 4: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

Prohlasenı

Prohlasuji, ze jsem diplomovou praci vypracovala samostatne s pouzitım literatury uvedene

v seznamu.

V Praze dne 18.12.2009

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

podpis

Page 5: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

Podekovanı

Na tomto mıste bych chtela podekovat svemu vedoucımu Ing. Petrovi Soucekovi, Ph.D. za

vstrıcnost, ochotu, rady a pripomınky a sve rodine za podporu, trpelivost a toleranci po celou

dobu meho studia na vysoke skole. Dale bych rada vyjadrila podekovanı panu prof. Ing. Alesi

Cepkovi, CSc. a panu Ing. Jirımu Bartosovi za ochotu, rady a pripomınky.

Page 6: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

ABSTRAKT

Tato prace se zabyva uvodem do geografickych informacnıch systemu (GIS), grafickymi

formaty dat, strucnym uvodem do databazı a programovacıho jazyku Java. Cılem prace je

vytvorenı programu pro prevod grafickych dat z publikacnı databaze ISKN do formatu ESRI

Shapefile a jejich nasledne prevedenı do databaze SQLite s vyuzitım OGC WKT - resenı

praktickeho ukolu z prostredı Ceskeho uradu zememerickeho a katastralnıho (CUZK).

Klıcova slova

GIS, prostorova data, geodata, geoobjekty, datove modely v GIS, graficke formaty, Shapefile,

databaze, SQL, Oracle, SQLite, SpatiaLite, ulozenı grafickych dat v publikacnı databazi

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, data-

bases, SQL, Oracle, SQLite, SpatiaLite, SGI graphic data storage, Java

Page 7: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT OBSAH

OBSAH

1 Uvod 13

2 GIS 14

2.1 Definice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.2 Prostorova data, geodata a geoobjekty . . . . . . . . . . . . . . . . . . . . . 15

2.2.1 Prostorova data a geodata . . . . . . . . . . . . . . . . . . . . . . . . 15

2.2.2 Geoobjekty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2.3 Datove modely v GIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2.3.1 Rastrove datove modely . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.3.2 Vektorove datove modely . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.3.3 Hybridnı datove modely . . . . . . . . . . . . . . . . . . . . . . . . . 18

3 Graficke formaty 19

3.1 Vektorove formaty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3.1.1 Format DGN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3.1.2 Format DWG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3.1.3 Format Geography Mark-Up Language . . . . . . . . . . . . . . . . . 21

3.1.4 Format Shapefile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3.2 Rastrove formaty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3.2.1 GIF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

3.2.2 PNG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

3.2.3 JPEG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

4 Databaze 27

4.1 SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

4.2 Oracle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

4.2.1 Oracle Spatial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

4.2.2 Publikacnı databaze . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

4.3 SQLite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

4.3.1 Typy ulozenı dat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

5 SpatiaLite 36

5.1 Model trıdy Geometry dle OGC . . . . . . . . . . . . . . . . . . . . . . . . . 36

7

Page 8: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT OBSAH

5.2 Podporovane formaty prostorovych dat . . . . . . . . . . . . . . . . . . . . . 36

5.2.1 WKT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

5.2.2 WKB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

5.2.3 Vnitrnı BLOB format . . . . . . . . . . . . . . . . . . . . . . . . . . 37

5.3 Vytvorenı prostorovych hodnot . . . . . . . . . . . . . . . . . . . . . . . . . 38

5.3.1 Vytvorenı geometrie pomocı WKT . . . . . . . . . . . . . . . . . . . 38

5.3.2 Vytvorenı geometrie pomocı WKB . . . . . . . . . . . . . . . . . . . 39

5.3.3 Vytvorenı prostorovych sloupcu . . . . . . . . . . . . . . . . . . . . . 40

5.4 SpatiaLite GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

6 Uvod do programovacıho jazyku Java 42

6.1 Zaklady programovacıho jazyka . . . . . . . . . . . . . . . . . . . . . . . . . 43

6.1.1 Preklad a spustenı . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

6.1.2 Zakladnı datove typy . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

6.1.3 Rızenı programu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

6.2 Vyvojova prostredı . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

6.3 Knihovny . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

6.3.1 Swing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

6.3.2 GeoTools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

7 Prevod dat z publikacnı databaze do ESRI Shapefile 48

7.1 Trıda HraniceParcel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

7.2 Trıda ParcelyKn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

7.3 Trıda ParcelyZe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

7.4 Trıda Budovy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

7.5 Trıda DalsiPrvkyMapy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

7.6 Trıda Hlavni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

7.7 Trıda Gui . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

7.8 Trıda JDBC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

7.8.1 provedTestKodKu() . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

7.8.2 testSpojeni() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

7.8.3 provedDotazy() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

7.8.4 vytvorSHP() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

7.8.5 SDO2WKT() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

8

Page 9: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT OBSAH

7.8.6 zpracujHranice() . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

7.9 Trıda Chyba . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

7.10 Trıda OknoText . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

7.11 Vysledky programu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

8 Import dat do SQLite 68

8.1 Trıda Hlavni2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

8.2 Trıda Gui2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

8.2.1 ziskejSoubory() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

8.3 Trıda Ziskej data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

8.3.1 ziskej hranice() . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

8.4 Vysledky programu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

9 Zaver 76

Literatura 78

Prılohy 81

Prıloha A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

Prıloha B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

Prıloha C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

Prıloha D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

9

Page 10: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT SEZNAM OBRAZKU

SEZNAM OBRAZKU

2.1 Ukazka spagetoveho modelu . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2.2 Ukazka topologickeho modelu . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2.3 Ukazka hierarchickeho modelu . . . . . . . . . . . . . . . . . . . . . . . . . . 18

4.1 Vizualizace SDO GEOMETRY . . . . . . . . . . . . . . . . . . . . . . . . . 31

4.2 Ukazka spustenı a pouzitı databaze SQLite . . . . . . . . . . . . . . . . . . . 34

5.1 Ukazka geometrie zapsane pomocı WKT . . . . . . . . . . . . . . . . . . . . 38

5.2 Ukazka geometrie zapsane pomocı WKT 2 . . . . . . . . . . . . . . . . . . . 38

5.3 Ukazka SpatiaLite GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

6.1 Vyvojove prostredı Eclipse . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

7.1 Graficke uzivatelske rozhranı programu SDO2SHP . . . . . . . . . . . . . . . 54

7.2 O programu SDO2SHP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

7.3 Napoveda programu SDO2SHP . . . . . . . . . . . . . . . . . . . . . . . . . 54

7.4 GUI v behu programu SDO2SHP . . . . . . . . . . . . . . . . . . . . . . . . 54

7.5 Pridanı jar do Javy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

7.6 Znazornenı tvorby sipky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

7.7 Rozmery sipky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

7.8 Informace o uspesnem ukoncenı programu . . . . . . . . . . . . . . . . . . . 63

7.9 Informace o neuspesnem ukoncenı programu . . . . . . . . . . . . . . . . . . 63

7.10 Katastralnı uzemı Krnov . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

7.11 Katastralnı uzemı Zlın dle presnosti hranic . . . . . . . . . . . . . . . . . . . 65

7.12 Zobrazenı hranic k.u. Krnov dle presnosti . . . . . . . . . . . . . . . . . . . . 65

7.13 Detail vystupu programu 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

7.14 Detail vystupu programu 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

7.15 Detail vystupu programu 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

7.16 Detail vystupu programu 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

8.1 GUI programu SHP2DB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

8.2 Volba O programu v GUI SHP2DB . . . . . . . . . . . . . . . . . . . . . . . 69

8.3 Napoveda programu SHP2DB . . . . . . . . . . . . . . . . . . . . . . . . . . 69

8.4 Vysledky programu SHP2DB . . . . . . . . . . . . . . . . . . . . . . . . . . 73

8.5 Vysledky programu SHP2DB . . . . . . . . . . . . . . . . . . . . . . . . . . 74

8.6 Vysledky programu SHP2DB . . . . . . . . . . . . . . . . . . . . . . . . . . 75

10

Page 11: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT SEZNAM OBRAZKU

9.1 Zobrazenı vystupu programu SDO2SHP.jar . . . . . . . . . . . . . . . . . . 76

9.2 Detail vystupu programu SDO2SHP 1 . . . . . . . . . . . . . . . . . . . . . 85

9.3 Detail vystupu programu SDO2SHP 2 . . . . . . . . . . . . . . . . . . . . . 85

9.4 Detail vystupu programu SDO2SHP 3 . . . . . . . . . . . . . . . . . . . . . 86

9.5 Detail vystupu programu SDO2SHP 4 . . . . . . . . . . . . . . . . . . . . . 86

9.6 Obsah prilozeneho CD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

11

Page 12: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT SEZNAM TABULEK

SEZNAM TABULEK

7.1 Tabulka typu geometriı dle GET GTYPE() . . . . . . . . . . . . . . . . . . . . 60

9.1 Tabulka PUB HRANICE PARCEL . . . . . . . . . . . . . . . . . . . . . . . 82

9.2 Tabulka PUB PARCELY ZE . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

9.3 Tabulka PUB PARCELY KN . . . . . . . . . . . . . . . . . . . . . . . . . . 83

9.4 Tabulka PUB BUDOVY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

9.5 Tabulka PUB DALSI PRVKY MAPY . . . . . . . . . . . . . . . . . . . . . 84

12

Page 13: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT 1. Uvod

1 UVOD

Geograficke informacnı systemy (GIS) majı v dnesnı dobe siroke uplatnenı. Pouzıvajı se

naprıklad v oblastech zivotnıho prostredı (modelovanı, sledovanı stavu zivotnıho prostredı),

dopravy (optimalizace dopravy, navigace), statnı spravy (mapy mesta, katastralnı mapy),

zachranne sluzby, archeologie a v mnohych dalsıch. Vyuzıvame je tedy predevsım v prıpade,

ze mame k dispozici prostorova data [2.2.1]. Prostorova data mohou byt ulozena ruznymi

zpusoby.

Tato diplomova prace se zabyva uvodem do GIS, druhy grafickych formatu, snazı se

priblızit praci s databazovymi systemy a programovacım jazykem Java.

Cılem prace je vytvorenı softwarovych nastroju pro prevod grafickych dat z publikacnı

databaze ISKN do formatu ESRI Shapefile a jejich nasledny import do RDBMS.

Struktura prace je nasledujıcı:

2. kapitola seznamuje s geografickymi informacnımi systemy. Vysvetluje nektere ze zakladnıch

pojmu, ktere jsou dulezite pro pochopenı problematiky.

3. kapitola popisuje vyhody a nevyhody vektorovych a rastrovych grafickych formatu. Take

se venuje nekolika ukazkam jednotlivych grafickych formatu.

4. kapitola se venuje databazım. Nejprve vysvetluje obecne pojmy a pote seznamuje

s konkretnımi databazemi, a to Oracle a SQLite.

5. kapitola seznamuje s prostorovym rozsırenım SQLite. Popisuje formaty prostorovych dat,

ktere podporuje, ukazuje, jak vytvorit prostorove hodnoty.

6. kapitola uvadı programovacı jazyk Java, jednoduche zaklady tohoto jazyka. Seznamuje

s nekolika vyvojovymi prostredımi, ktera lze pouzıt pro programovanı v jazyce Java.

7. a 8. kapitola ukazujı resenı konkretnıho ukolu.

Tuto praci bylo mozne vyhotovit dıky spolupraci s Ceskym uradem zememerickym a

katastralnım v Praze.

Diplomova prace je vyhotovena v sazecım systemu LATEX.

13

Page 14: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT 2. GIS

2 GIS

Geograficky informacnı system (dale GIS) je dle [24] mozne vnımat nekolika zpusoby:

Jako software - napr. prohlasenı:”Produkt X firmy Y je/nenı GIS.“

Jako konkretnı aplikaci - existuje mnoho definic.

Jako informacnı technologii - celkove prostredı, v nemz aplikace GIS vznikajı (system

standardu, narodnı digitalnı data, pravidelny vyzkum, system prıpravy odbornıku . . . ).

2.1 Definice

Jelikoz je mozne na GIS nahlızet z mnoha ruznych pohledu, existuje mnoho definic. GIS

je/jsou:

• databazovy system, ve kterem je vetsina udaju prostorove definovana a na jejız zpra-

covanı lze pouzıt procedury dotazu na prostorove entity v databazi, [30]

• na pocıtacıch zalozeny informacnı system pro zıskavanı, obhospodarovavanı, analyzu,

modelovanı a vizualizaci geoinformacı. Geodata, ktera vyuzıva, popisujı geometrii,

topologii, tematiku (atributy) a dynamiku (zmeny v case) geoobjektu, [30]

• informacnı system zabyvajıcı se informacemi, ktere se tykajı jevu pridruzenych k mıstu

vztazenemu k Zemi, [32]

• funkcnı celek vytvoreny integracı technickych a programovych prostredku, dat, pra-

covnıch postupu, obsluhy, uzivatelu a organizacnıho kontextu, zamereny na sber,

ukladanı, spravu, analyzu, syntezu a prezentaci prostorovych dat pro potreby popisu,

analyzy, modelovanı a simulace okolnıho sveta s cılem zıskat nove informace potrebne

pro racionalnı spravu a vyuzıvanı tohoto sveta, [32]

• pocıtacove systemy, ktere umı pracovat s prostorovymi daty. [12]

Kazda z uvedenych definic je svym zpusobem vystizna. Uvedeme-li jich vsak vıce, je snazsı

vytvorit si pomerne jasnou predstavu, co GIS ve skutecnosti znamena.

14

Page 15: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT 2. GIS

2.2 Prostorova data, geodata a geoobjekty

V definicıch pojmu GIS (kapitola 2) se mimo jine vyskytly pojmy prostorova data, geodata a

geoobjekt. Uvedeme si jejich vyznam.

2.2.1 Prostorova data a geodata

Prostorova data jsou data o poloze, tvaru a vztazıch mezi jevy realneho sveta, vyjadrena

zpravidla ve forme souradnic a topologie. [32]

Geodata predstavujı data identifikujıcı geografickou polohu a charakteristiky prırodnıch a

antropogennıch jevu a hranic mezi nimi. [32]

Rovnez lze geodata popsat jako pocıtacove zpracovatelnou formu informace tykajıcı se

jevu prımo nebo neprımo pridruzenych k mıstu na Zemi. [32]

Termıny prostorova data a geodata jsou casto uzıvana ve smyslu synonym.

2.2.2 Geoobjekty

Geoobjekt je cast modelovane reality, kterou je mozne na dane urovni generalizace v GIS

modelovat jako jeden objekt. Jednotlive geoobjekty lze dle [30] odlisit pomocı:

topologie - polohovym vztahem k jinym geoobjektum,

geometrie - prostorove polohy,

atributu - tematiky,

dynamiky - zmen.

Geoobjekty, ktere popisujı stejne tema, jsou ukladany do mapovych vrstev. Tyto mapove

vrstvy lze rovnez nazvat tematicke. Tema muze byt ruzne, napr. vodstvo, sıdla, . . . Mapove

vrstvy mohou byt vektorove nebo rastrove.

2.3 Datove modely v GIS

Model je zjednodusene zobrazenı reality, vetsinou jejı casti. V GIS lze dle [24] datove modely

rozdelit na:

• klasicke - vysledek transformace mapa → GIS,

15

Page 16: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT 2. GIS

• objektove orientovane - vysledek transformace”vnitrnı“ (pozorovatelem vnımany)

model → GIS, jeho koncepce odpovıda geoobjektu.

Klasicke datove modely mohou byt:

• rastrove,

• vektorove,

• hybridnı - kombinovane.

2.3.1 Rastrove datove modely

Rastrovy model vznikne, pokud plochu rozdelıme pravidelnou sıtı a kazde bunce priradıme

hodnotu. Touto bunkou (cell), predstavujıcı nejmensı jednotku, byva nejcasteji ctverec nebo

obdelnık (prıp. trojuhelnık ci sestiuhelnık). Nejpouzıvanejsı je ctvercova mrızka1.

Tento model se pouzıva predevsım pro spojite se menıcı jevy (napr. digitalnı model

reliefu).

Zakladnı typy rastrovych datovych modelu jsou dle [11]:

• pravidelna reprezentace - vsechny bunky majı stejnou velikost a tvar. Vyhodou u tohoto

typu je jednoduche zpracovanı a ukladanı dat. Nevyhodou je, ze zabırajı mnoho mısta

na disku,

• nepravidelna reprezentace - krome Triangulated Irregular Network (TIN2) se temer

nepouzıva.

2.3.2 Vektorove datove modely

Mezi zakladnı geometricke prvky, kterymi mohou byt vektorova data znazornena, patrı bod,

linie a plocha. Prostorove vztahy mezi prvky jsou definovany v topologii. Graf je slozen

z vrcholu a hran3.

Vektorova data mohou byt ulozena dle ruznych druhu vektorovych modelu:

1Nejmensı jednotka digitalne rastrove techniky se nazyva pixel [3]2TIN reprezentuje povrch jako soubor trojuhelnıku. Kazdy trojuhelnık je definovan tremi body umıstenymi

v prostoru.3Dle [5] spojuje hrana vzdy dva vrcholy a muze byt bud’ orientovana, nebo neorientovana. U orientovanych

hran je rozlisen pocatecnı a koncovy vrchol. Pokud hrana spojuje nejaky vrchol se sebou samym, nazyvame ji

smyckou.

16

Page 17: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT 2. GIS

spagetovy - soubor retezcu souradnic je ulozen v jedinem seznamu, neexistujı zadne prosto-

rove vztahy s okolnımi prvky, viz obrazek 2.1,

Obrazek 2.1: Ukazka spagetoveho modelu

topologicky - v topologickem smyslu je zakladnım prvkem hrana4, hrana zacına a koncı

v prusecıku s jinou hranou - v uzlovem bode, zaznamy vsak nejsou usporadany (stejne

jako ve spagetovem modelu), objekty jsou ukladany bez duplicit. Ukazku tohoto modelu

muzeme videt na obrazku 2.2

Obrazek 2.2: Ukazka topologickeho modelu

hierarchicky - jak je videt na obrazku 2.3, udaje jsou ukladany v logicke hierarchicke

strukture5. Ukladanı dat probıha zpusobem blızkym realnemu svetu.

4zakladnım logickym prvkem je zde linie5oznacovana tez jako stromova, na nejvyssı urovni stojı koren

17

Page 18: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT 2. GIS

Obrazek 2.3: Ukazka hierarchickeho modelu

2.3.3 Hybridnı datove modely

Tento model je kombinacı obou predchozıch modelu 2.3.1 a 2.3.2. Je vhodny pro ukladanı

rastrovych i vektorovych dat.

18

Page 19: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT 3. Graficke formaty

3 GRAFICKE FORMATY

Graficke formaty definujı zpusob ulozenı grafickych dat.

Muzeme je rozdelit do dvou skupin:

• vektorove,

• rastrove.

3.1 Vektorove formaty

Jsou-li prostorova data [2.2.1] v digitalnı podobe, mohou byt ulozena bud’ v databazıch nebo

ve specialnıch formatech pro ukladanı prostorovych dat. Vektorovymi formaty mohou byt

naprıklad DGN, SHP a dalsı.

Mezi vyhody vektoroveho formatu patrı:

• relativnı pamet’ova uspornost,

• je mozne pracovat s jednotlivymi objekty (napr. otocenı, posun, . . . ),

• jednoduchy prevod do rastroveho formatu.

Nevyhodami jsou naprıklad:

• vetsinou slozitejsı zıskanı obrazku oproti rastrove (fotoaparat, skener),

• nenı vhodny pro slozitejsı predlohy, v nichz dominujı barvy (fotograficke snımky).

3.1.1 Format DGN

Design, zkracene DGN, je formatem firmy Bentley Systems. V soucasne dobe se pouzıvajı

dve verze tohoto formatu, a to DGN V7 a DGN V8. Tento datovy format umoznuje mimo

jine ulozenı vykresu, map, schemat, 3D modelu. Jedna se predevsım o vektorovy format, ale

je mozne v nem ukladat i rastrova nebo popisna data. Standardnı prıponou je dgn, dale je

mozne se setkat s prıponou rdl, ktera je pouzıvana pro poznamkove vykresy v prohlızecıch

produktech s moznostı pripomınkovanı (napr. Bentley Redline).

19

Page 20: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT 3. Graficke formaty

DGN V7

Format DGN V7 vznikl v polovine osmdesatych let minuleho stoletı. V minulosti byl oznacovan

pouze jako DGN, nove oznacenı zıskal az s prıchodem MicroStation1 V8 a noveho formatu

DGN V8.

DGN V7 byl vyvinut na zaklade formatu ISFF (Intergraph Standard File Format) systemu

IGDS (Intergraph´s Interactive Graphics Design System) firmy Intergraph. Po dobu vıce

nez 15 let zustala zakladnı struktura formatu DGN v podstate beze zmeny. Pokud doslo ke

zmenam, zustala zachovana zpetna kompatibilita dat.

DGN V8

V roce 2001 byl spolu s novou verzı MicroStation V8 uveden i novy format DGN V8. Doslo

napr. k nasledujıcım zmenam:

• byla odstranena omezenı formatu DGN V7, napr. maximalnı pocet vrstev, maximalnı

velikost souboru, . . . ,

• format je snaze rozsiritelny, flexibilnejsı v moznostech ukladanı (napr. popisna data ve

formatu XML),

• format umoznuje sledovat historii zmen ve vykresu, . . .

Porovnanı formatu DGN V7 a DGN V8 lze nalezt napr. [13].

Tento format jiz nenı zpetne kompatibilnı se starsımi verzemi MicroStationu.

3.1.2 Format DWG

Format DWG je neverejnym formatem firmy AutoDesk. Primarne je tento format formatem

souboru programu AutoCad. Umoznuje ukladat 2D i 3D data a spolu se svou vymennou

variantou – formatem DXF je povazovan za standard v oblasti vymeny 2D CAD dat.

AutoCad pri ukladanı DWG souboru zalohuje puvodnı soubor pod stejnym jmenem

s prıponou bak. Dojde-li k poskozenı souboru DWG, je mozne prepsanım koncovky BAK na

DWG zıskat puvodnı soubor.

1MicroStation je CAD (Computer-Aided Design neboli pocıtacem podporovane projektovanı) produkt,

ktery obsahuje naprıklad 2D nastroje pro kreslenı, sestavovanı vykresu, 3D nastroje pro modelovanı, kon-

struovanı a vizualizaci.

20

Page 21: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT 3. Graficke formaty

DXF

Vektorovy format Drawing Interchange File Format (dale DXF) je formatem firmy AutoDesk

a umoznuje ukladat informace o klasickych 2D vykresech, ale i popisy trojrozmernych scen.

Vektorova data mohou byt v tomto formatu ulozena bud’ v textove forme (casteji) nebo

v binarnı. Soubory v binarnı podobe jsou mensı a nacıtajı se rychleji. Majı vetsinou2 prıponu

dxb (Drawing Binary Interchange File Format).

Velkou vyhodou tohoto formatu je jeho rozsırenost a jednoducha internı struktura.

Podrobnejsı popis tohoto formatu lze zıskat napr. [31].

3.1.3 Format Geography Mark-Up Language

Format Geography Markup Language (dale GML) byl vytvoren na zakladech jazyka XML3

konsorciem OGC4. GML umoznuje ukladat vektorova geodata a pouzıva se naprıklad jako

vymenny format mezi GIS aplikacemi nebo pro prenos dat webovych sluzeb.

Na GML zacal pracoval v roce 1998 Ron Lake, za mezinarodnı normu byl prijat roku

2007.

GML dokument je popsan pomocı aplikacnıho GML schematu, coz je schema XML.

Schema popisuje strukturu dat a definuje elementy a atributy. GML dokument se sklada

z GML prvku. GML prvek je analogiı objektu realneho sveta.

Ukazka definice bodu ve formatu 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>

3.1.4 Format Shapefile

ESRI Shapefile (dale SHP) je vektorovy format vyvıjeny firmou Environmental Systems

Research Institute, Inc (dale ESRI). SHP byl predstaven na pocatku roku 1990 v ArcView5

2Nekdy se muzeme setkat s prıponou dxf.3XML – eXtensible Markup Language – obecny znackovacı jazyk urceny predevsım pro vymenu dat mezi

aplikacemi a pro publikovanı dokumentu.4Open Geospatial Consortium (OGC) je mezinarodnı standardizacnı organizace, ktera zahrnuje vıce nez

330 komercnıch, vladnıch, nevydelecnych a vedeckych organizacı. Podporuje vyvoj, implementaci standardu

pro geoprostorova data a sluzby, GIS, zpracovanı dat a jejich vymenu. [3]5ArcView je produktem firmy ESRI, ktery tvorı sada aplikacı ArcMap, ArcCatalog, ModelBuilder a

ArcToolbox.

21

Page 22: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT 3. Graficke formaty

verze GIS 2. Tento format uklada prostorova a atributova data, topologicke vztahy mezi

danymi prostorovymi daty vsak nikoli.

Vytvorenı SHP

Shapefile muze byt vytvoren nekolika zpusoby:

• exportem zdrojovych dat do SHP pomocı ARC/INFO, Spatial Database Engine (SDE),

ArcView GIS nebo BusinessMAP,

• digitalizacı s pouzitım ArcView GIS nastroju,

• programovanım pomocı Avenue6 (ArcView), MapObjects7, . . . ,

• naprogramovanım vlastnıho software na zakladu podrobne technicke specifikace formatu

Shapefile, ktery bude prevadet prostorova data do tohoto formatu.

Slozenı

Format Shapefile se sklada z nekolika souboru. Kazdy ze souboru musı byt v souladu s konvencı

MS DOS 8.38 kvuli zpetne kompatibilite. Ze stejneho duvodu by mely byt vsechny soubory

umıstene v jedne slozce.

Povinne soubory Mezi povinne soubory patrı:

• soubor.shp,

• soubor.dbf ,

• soubor.shx .

Predpona uvedenych souboru (v nasem prıpade soubor) musı byt u vsech trech souboru

shodna.

6Vyvojove prostredı aplikace ArcView.7MapObjects jsou produkty firmy ESRI, ktere jsou urceny pro vyvoj aplikacı v operacnım systemu

Windows.8MS DOS 8.3 je konvence pro pojmenovavanı souboru. Podle teto konvence musı mıt nazev souboru

naprıklad nejvyse 8 znaku, nasleduje ”.”a prıpona tvorena tremi znaky. Predpona musı zacınat alfanumerickym

znakem (a-Z, 0-9), ktery je nasledovan maximalne sedmi znaky (a-Z, 0-9, , -). Podrobnejsı informace lze

nalezt napr. [3].

22

Page 23: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT 3. Graficke formaty

Soubor s prıponou shp Hlavnı soubor s prıponou shp obsahuje geometricky popis

prostorovych prvku. Soubor se sklada z jedne pevne dane delky hlavicky (100 bytu), ktera je

nasledovana jednım nebo vıce zaznamy s promennou delkou.

Hlavicka obsahuje 17 oblastı – devet 4 bytovych celocıselnych polı a osm 8 bytovych polı

s plovoucı desetinnou carkou. V hlavicce je naprıklad uvedena delka souboru, verze nebo

minimalnı ohranicujıcı obdelnık (min X, min Y, max X, max Y).

Po hlavicce nasleduje libovolne mnozstvı zaznamu promenne delky. Kazdy zaznam je

uvozen 8 bytovou hlavickou.

Soubor s prıponou dbf Zde jsou zaznamenana atributova data, ktera se vztahujı

k prostorovym prvkum z vyse uvedene vrstvy. Atributy jsou ulozeny ve formatu dBase9.

Tento format ma nektera omezenı, jako naprıklad:

• neumoznuje ukladat hodnotu null,

• maximalnı delka nazvu polı je 10 znaku,

• maximalnı pocet polı je 255.

V souboru s prıponou dbf musı kazdemu prostorovemu prvku ze souboru soubor.shp

odpovıdat jeden zaznam a poradı zaznamu je v obou souborech stejne.

Soubor s prıponou shx Tento soubor obsahuje ulozenı indexu nad geometrickym

popisem prvku. 100 bytova hlavicka (stejna jako u soubor.shp) je nasledovana libovolnym

poctem 8 bytovych zaznamu.

Volitelne soubory Podle [3] to jsou naprıklad:

• PRJ – informace o souradnicovem systemu a o projekci, ulozeno ve WKT formatu,

• SBN a SBX – binarnı soubor prostorovych indexu pouzıvany firmou ESRI,

• FBN a FBX – prostorovy index shapefile, ktere jsou pouze pro ctenı,

• shp.xml – metadata ve formatu XML.

9dBase je system rızenı baze dat, ktery vytvoril vyvojar Wayne Ratliff v roce 1978. Vychozım formatem

pro dBase je dbf

23

Page 24: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT 3. Graficke formaty

Geometrie ve formatu Shapefile Vsechny tvary v jednom Shapefile (hlavnı soubor),

ktere nejsou nulove, musı byt stejneho typu. Tımto typem muze byt: Point, Polyline, Polygon,

MultiPoint, PointZ, PolyLineZ, PolygonZ, MultiPointZ, PointM, PolyLineM, PolygonM,

MultiPointM, MultiPatch.

Tedy typy, ktere pouzijeme pri vytvarenı vlastnıho Shapefile, jsou:

• Point,

• MultiPoint,

• Polyline,

• Polygon.

3.2 Rastrove formaty

Obraz je v tomto formatu popsan pomocı barevnych bodu, jeden bod se nazyva pixel. Kazdy

bod ma svou presnou polohu a barvu.

Mezi rastrove formaty patrı naprıklad BMP, TIFF, GIF, PNG, JPEG.

Vyhody rastroveho formatu:

• velmi dobre popisujı predlohy realneho sveta, ktere obsahujı velke mnozstvı barev,

• snadne zıskanı snımku (fotoaparat, skener),

• lepe popisujı slozitejsı predlohy.

Mezi nevyhody patrı:

• spatne pracujı s jednotlivymi objekty,

• upravami dochazı k datovym ztratam,

• kvalita je dana velikostı pixelu.

Formaty rastrovych souboru lze rozlisit na: [3]

• nekomprimovane,

• komprimovane:

– bezeztratova komprese,

– ztratova komprese.

24

Page 25: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT 3. Graficke formaty

3.2.1 GIF

Graphics Interchange Format (GIF) pouzıva bezeztratovou kompresi dat. GIF zaroven udrzuje

velmi ostre okraje car, muzeme jej tedy vyuzıt naprıklad pro tvorbu planku, napisu, log. GIF

umoznuje jednoduche animace.

GIF umoznuje soucasne pouzıt pouze 256 (8 bitu) barev barevne palety, v prıpade animace

odlisne palety 256 barev pro kazdy obrazek. Je tedy vhodny predevsım pro grafiku, kde je

nızka narocnost na barvy.

Puvodnı verze tohoto formatu GIF 87a byla roku 1989 rozsırena a vznikl GIF 89a,

ktery pridal naprıklad podporu vıce obrazku (jednoduche animace) nebo moznost ulozenı

dalsıch metadat. Informace o verzi GIF je ukladana v prvnıch 6 bytech souboru.

3.2.2 PNG

Portable Network Graphics (PNG) je rovnez format, ktery je urceny pro bezeztratovou

kompresi rastrove grafiky.

PNG podporuje 24 bitove barevne hloubky10. V jistem smyslu tedy PNG nahrazuje GIF

(3.2.1), protoze nabızı vıce barev a lepsı kompresi, ale neumoznuje vytvarenı jednoduchych

animacı.

PNG se stejne jako GIF a JPEG pouzıva pro grafiku na Internetu.

3.2.3 JPEG

Pro format JPEG File Interchange Format se vetsinou nepozıva zkratka JFIF, ale zkratka

nazvu konsorcia Joint Photographic Experts Group (JPEG), ktere navrhlo tuto metodu

ztratove komprese. Formatu, ktere jsou zalozeny na teto kompresi dat, je vsak vıce (JNG,. . . ).

JPEG je vhodne pouzıt naprıklad pro fotograficke snımky nebo pro obrazky s mnoha

barevnymi prechody. Naopak je nevhodne jej pouzıt pro obrazky s vyraznymi hranami (text).

JPEG nepodporuje animace.

10Barevna hloubka popisuje pocet bitu, ktery je pouzit pro popis urcite barvy nebo pixelu. Cım vetsı

barevna hloubka, tım vetsı mnozstvı barev, ale take vetsı pamet’ova narocnost.

24bitova barva (224 = 16 777 216 barev) je take oznacovana jako True Color.

25

Page 26: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT 3. Graficke formaty

JPEG 2000

JPEG 2000 je novejsı verzı formatu JPEG. Vyuzıva jiny typ komprimacnı metody, ktera ma

lepsı vysledny pomer kvalita/velikost a podporuje i bezeztratovou kompresi. Je odolnejsı vuci

chybam a umoznuje ulozenı obrazku ve vıce merıtkach.

26

Page 27: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT 4. Databaze

4 DATABAZE

Databaze je urcita usporadana mnozina informacı ulozena na pamet’ovem mediu [3]. System,

ktery obsahuje softwarove prostredky pro manipulaci s ulozenymi daty, se nazyva system

rızenı baze dat. Existuje mnoho databazovych systemu - napr. PostgreSQL, MySQL, Oracle,

Microsoft SQL Server. Z hlediska ulozenı dat a jejich vazeb lze dle [3] databaze rozdelit na

nekolik typu:

• hierarchicke - existuje zde hierarchicke poradı (napr. ucitel → zak), jehoz vrcholem je

koren, mezi typy entit1 se vyskytujı pouze asociace 1:1 a 1:n,

• sıt’ove - mezi typy entit existujı navıc asociace m:n,

• relacnı - asociace neboli relace (1:1, 1:n a m:n) jsou zde reprezentovany pomocı klıcu

(napr. primarnı klıc2 ), ktere predstavujı jedinecny atribut (ci skupinu atributu),

• objektove - zakladnım prvkem je objekt, objekty podporujı zapouzdrenı, objektove

databaze kombinujı moznosti objektove orientovaneho programovanı a moznosti da-

tabazı,

• objektove relacnı - zde se uplatnuje snaha o sjednocenı vlastnostı relacnıch a objek-

tovych databazı.

4.1 SQL

Aby bylo mozne databaze vytvaret a manipulovat s daty, je potreba definovat databazovy

jazyk, ktery by tuto cinnost umoznoval. Je-li pomocı tohoto jazyka receno, jakym zpusobem

se ma dana vec provest, jedna se o proceduralnı jazyk. Pokud je receno, co se ma provest,

jedna se o neproceduralnı jazyk. Jednım z techto jazyku je SQL.

SQL (Structured Query Language) je dotazovacı jazyk, ktery se pouzıva pri praci s daty

v relacnıch databazıch (data jsou usporadana v tabulkach).

V 70. letech 20. stoletı vznikl jazyk SEQUEL (Structured English Query Language) pro

ovladanı relacnıch databazı. Jak nazev napovıda, cılem bylo vytvorit jazyk, jehoz prıkazy

by byly syntakticky co nejblıze anglictine. Na vyvoji se nejvıce podılela firma IBM. Urcita

1typy entit(ang. entity type) predstavujı trıdy podobnych objektu2primarnı klıc je jedinecnym identifikatorem, je jednoznacny a minimalnı

27

Page 28: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT 4. Databaze

varianta tohoto jazyka se pouzıvala i v databazıch jinych firem, napr. RSI. Jazyk byl pozdeji

prejmenovan na SQL.

Jazyk byl roku 1986 standardizovan, nejpodporovanejsım standardem je SQL3 (ANSI

SQL:1999). Poslednım ANSI3 standardem je ANSI SQL:2003.

Jazyk muzeme rozdelit do 4 zakladnıch skupin:

• prıkazy pro manipulaci s daty (Data Manipulation Language - DML) SELECT, INSERT,

UPDATE, DELETE,...,

• prıkazy pro definici dat (Data Definition Language - DDL) CREATE, ALTER, DROP,

. . . ,

• prıkazy pro rızenı dat (Data Control Language - DCL) GRANT, REVOKE, BEGIN, COMMIT,

. . . ,

• ostatnı prıkazy (prıkazy pro spravu databaze).

4.2 Oracle

Jak bylo uvedeno v kapitole 4, Oracle je system rızenı baze dat (database management

system = DBMS). Poslednı verzı je Oracle 11g.

Mezi nastroje usnadnujıcı praci s databazı Oracle patrı:

Oracle Enterprise Manager Oracle Enterprise Manager je administratorsky nastroj pro

databazovy server Oracle. Tento nastroj nam umoznuje spravu databazovych objektu,

uzivatelu a jejich prav, zalohovanı a obnovu dat, atd.

SQL∗PLUS Abychom mohli zıskavat data z databaze pomocı SQL prıkazu, potrebujeme

klienta, ktery bude zprostredkovavat komunikaci mezi nami a databazovym serverem.

Jednım z techto klientu je SQL∗PLUS.

SQL Developer SQL Developer je graficka aplikace, vyvıjena pro OS Windows i Linux.

Tato aplikace slouzı ke sprave databazı, je v nı mozne vytvaret SQL dotazy a skripty

a rovnez je spoustet. SQL Developer je integrovane vyvojove prostredı pro databaze

Oracle a je poskytovana firmou Oracle zdarma.

3ANSI neboli American National Standards Institute je neziskova organizace, ktera vytvarı standardy ve

Spojenych statech americkych

28

Page 29: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT 4. Databaze

4.2.1 Oracle Spatial

Oracle Spatial usnadnuje skladovanı, vyhledavanı, aktualizaci a dotazovanı se na prostorove

prvky ulozene v databazi Oracle. Sklada se z nasledujıcıch slozek [21]:

• schematu (MDSYS), ktere predepisuje skladovanı, syntaxi a semantiku podporovanych

datovych typu,

• mechanismu prostoroveho indexovanı,

• sady operatoru a funkcı pro provadenı dotazu v zajmovem uzemı,

• nastroju pro spravu dat,

• topologickeho datoveho modelu,

• sıt’oveho datoveho modelu,

• system linearnıho referencovanı,

• GeoRasteru.

Spatial podporuje objektove-relacnı reprezentaci geometrie. V Oracle Spatial je geomet-

ricka reprezentace prostorovych objektu ukladana jako samostatny radek, v samostatnem

sloupci, ktery tvorı prostorovy datovy typ databaze Oracle SDO GEOMETRY. Tabulka v databazi

Oracle muze obsahovat jeden ci vıce sloupcu tohoto typu. Kazda tabulka obsahujıcı datovy

typ SDO GEOMETRY musı mıt dalsı sloupec (ci sloupce), ktery definuje jedinecny primarnı klıc

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 uvadı, o jaky typ geometrie jde (point, line polygon, collection, multipoint,

multiline, multipolygon),

29

Page 30: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT 4. Databaze

SDO SRID upresnuje ID prostoroveho referencnıho systemu (SRID),

SDO POINT uklada souradnice bodu, pokud je typ geometrie point,

SDO ORDINATES uklada souradnice vsech elementu geometrie,

SDO ELEM INFO upresnuje, kde v SDO ORDINATES zacına novy element, jak je

pripojen (linie, oblouk) a zda se jedna o bod, linii nebo polygon.

Pricemz zmınene SDO POINT TYPE, SDP ELEM INFO ARRAY a SDO ORDINATE ARRAY jsou

definovany nasledovne:

CREATE TYPE sdo point type AS OBJECT (

X NUMBER,

Y NUMBER,

Z NUMBER

);

CREATE TYPE sdo elem info array AS VARRAY (1048576) OF NUMBER;

CREATE TYPE sdo ordinate array AS VARRAY (1048576) OF NUMBER;

Prıklad pouzitı datoveho typu SDO GEOMETRY si ukazeme na vytvorenı tabulky budovy a

naslednem vlozenı objektu skola. Tabulka budovy obsahuje 3 sloupce - id, nazev a geometrie

a vytvorıme ji nasledujıcım prıkazem:

CREATE TABLE budovy (

id NUMBER PRIMARY KEY,

nazev VARCHAR2(32),

geometrie SDO GEOMETRY

);

Pokud do vyse vytvorene tabulky budeme chtıt vlozit objekt, udelame to naprıklad tımto

zpusobem:

INSERT INTO budovy VALUES(

1,

’skola’,

SDO GEOMETRY(

2003,

NULL,

30

Page 31: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT 4. Databaze

NULL,

SDO ELEM INFO ARRAY(1,1003,1)4,

SDO ORDINATE ARRAY(1,1, 6,7)5

)

);

Objekt pro lepsı ilustraci muzeme videt na obrazku

Obrazek 4.1: Vizualizace SDO GEOMETRY

4.2.2 Publikacnı databaze

Publikacnı databaze katastru nemovitostı je replika grafickych ISKN v podobe databaze

Oracle s rozsırenım Oracle Spatial (viz 4.2.1).

Tato databaze vznikla z nekolika duvodu:

• umoznı castejsı aktualizaci dat WMS a tedy i aplikaci Nahlızenı do katastru nemovitostı

(nynı 1x14 dnı, bude cca 1x2 hodiny),

• graficka reprezentace dat bude odpovıdat pozadavkum INSPIRE6,

4Vytvorı jeden obdelnık.5Obdelnık je definovan levym dolnım a pravym hornım bodem.6Infrastructure for Spatial Information in Europe (INSPIRE) je smernice Evropskeho parlamentu a Rady

ze dne 14. brezna 2007 o zrızenı Infrastruktury pro prostorove informace v Evropskem spolecenstvı [3].

Smernice uklada clenskym statum povinnosti v oblasti prostorovych dat a sluzeb na nich zalozenych. Obecne

31

Page 32: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT 4. Databaze

• data budou ulozena ve dvou systemech – ETRS a JTSK,

• jsou zde ulozeny presnosti liniı, ktere jsou odvozeny z presnosti bodu a vymer,

• je mensı nez ISKN, obsahuje pouze aktualnı vybrana data SGI (nikoli historii).

Publikacnı databaze:

• bude soucastı databaze pro aplikaci Nahlızenı do katastru nemovitostı, respektive bude

jejım rozsırenım o graficka data,

• bude zdrojem grafickych dat pro WMS a WFS dle INSPIRE,

• slouzı jako topologicka kontrola dat ISKN,

• umoznuje snadnejsı sestavovanı grafickych vystupu.

V prvnı fazi projektu publikacnı databaze budou realizovany tabulky katastralnıch uzemı,

hranic parcel, parcel, dalsıch prvku mapy, prvku orientacnı mapy a budov. Dalsı casti (bodova

pole, BPEJ, vecna bremena) budou realizovany dle pozadavku a moznostı Sekce centralnı

databaze (SCD) CUZK.

Presny algoritmus prevodu souradnic ze systemu JTSK do ETRS nenı znamy, moznost

poskytovanı dat v ETRS je vsak nutna kvuli INSPIRE. Z duvodu neznalosti vypocetnı a

casove narocnosti algoritmu bude pravdepodobne geometrie ve vsech tabulkach ukladana

duplicitne v obou souradnicovych systemech (JTSK i ETRS).

V nasem prıpade nynı vyuzijeme tabulky hranic parcel (PUB HRANICE PARCEL),

parcel (PUB PARCELY KN, PUB PARCELY ZE ), budov (PUB BUDOVY ) a dalsıch prvku

mapy (PUB DALSI PRVKY MAPY ). Podrobnejsı informace k tabulkam a datovym typum

viz prıloha 9.

Pokud tedy shrneme geometricke typy ve vyse zmınenych tabulkach (u sloupcu, ktere

vyuzijeme):

• PUB HRANICE PARCEL

geometrie: linie,

• PUB PARCELY KN

urcuje pravidla pro tvorbu metadat, sit’ove sluzby (sluzby umoznujıcı vyhledavanı, prohlızenı, stahovanı a

transformaci dat nebo umoznujıcı spustenı dalsıch sluzeb.), sdılenı dat a koordinaci [3]

32

Page 33: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT 4. Databaze

geometrie: polygon, muze 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, predpokladame bod, multibod, linie, multilinie, polygon,

multipolygon, oblouk, kruznice.

4.3 SQLite

SQLite je relacnı databazovy system, ktery je reprezentovan knihovnou napsanou v jazyku

C7. System je vyvıjen D. Richardem Hippem a sıren pod licencı public domain8.

SQLite je mala knihovna, ktera se prilinkuje k aplikaci a lze ji vyuzıvat pomocı jedno-

ducheho rozhranı. Databazi SQLite je mozne vyuzıt naprıklad v programovacıch jazycıch C,

C++, Delphi, Java, Lua, PHP, Python, Perl, Ruby, Tcl.

Pro operacnı systemy Linux, Windows a Mac OS X jsou k dispozici predkompilovane

binarnı soubory, ktere je mozne zıskat naprıklad zde [27].

V nasem prıpade byl stazen sqlite-3 6 21.zip pro operacnı system Windows, ktery obsahuje

program sqlite3.exe.

7C je programovacı jazyk vyvinuty Kenem Thompsonem a Dennisem Richiem.8Public domain znamena, ze se autor dıla rozhodl, ze dane dılo je mozne volne uzıvat, bez naroku na

dalsı ochranu dıla. V ceskem pravnım systemu nenı mozne se vzdat autorskych prav, je mozne nabıdnout

verejnosti bezuplatnou licenci na libovolne uzitı dıla. Tento termın se pouzıva obzvlast’ v oblasti software. [3]

33

Page 34: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT 4. Databaze

Program sqlite3.exe se neinstaluje, spustenı s ukazkovou databazı hranice.db je videt

na obrazku 4.2. Po spustenı nasleduje ukazka jednoducheho SQL prıkladu zjistenı poctu

zaznamu v tabulce HRANICE PARCEL, ktera je obsazena v databazi hranice.db. SQL prıkaz

je nasledujıcı:

SELECT count(*) FROM HRANICE PARCEL;

Obrazek 4.2: Ukazka spustenı a pouzitı databaze SQLite

4.3.1 Typy ulozenı dat

Kazda hodnota, ktera je ulozena v SQLite, je definovana jednou z nasledujıcıch hodnot:

NULL hodnota NULL,

INTEGER hodnota je cıslo, ktere je ulozene v 1, 2, 3, 4, 6 nebo 8 bytech v zavislosti na

velikosti hodnoty,

REAL hodnota je cıslo s plovoucı desetinnou carkou,

TEXT hodnota je textovy retezec,

BLOB hodnota je blob, ulozena presne tak, jak byla zadana.

Prıklad vytvorenı tabulky HRANICE PARCEL v databazi hranice.db: CREATE TABLE IF

NOT EXISTS HRANICE PARCEL(

ID INTEGER NOT NULL PRIMARY KEY,

34

Page 35: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT 4. Databaze

par ID 1 INTEGER NOT NULL,

par ID 2 INTEGER,

presnost INTEGER NOT NULL,

typppd kod INTEGER NOT NULL

);

35

Page 36: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT 5. SpatiaLite

5 SPATIALITE

SpatiaLite je prostorove rozsırenı databazoveho systemu SQLite, ktere umoznuje ukladat

prostorova data dle specifikace Open Geospatial Consortium (OGC).

5.1 Model trıdy Geometry dle OGC

Hierarchie trıdy Geometry vypada nasledovne:

• Geometry

– Point

– Curve

∗ LineString

– Surface

∗ Polygon

– GeometryCollection

∗ MultiPoint

∗ MultiCurve

· MultiLineString

∗ MultiSurface

· MultiPolygon

Je mozne vytvaret trıdy Point, LineString, Polygon, GeometryCollection, MultiPoint,

MultiLineString, MultiPolygon.

Kazdy prostorovy objekt ma tyto obecne vlastnosti:

• je spojeny s prostorovym referencnım systemem,

• patrı k nektere z vyse uvedenych trıd.

5.2 Podporovane formaty prostorovych dat

5.2.1 WKT

Well-known text (WKT) je urcen pro vymenu prostorovych dat ve forme ASCII.

36

Page 37: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT 5. SpatiaLite

Prıklady WKT reprezentace prostorovych objektu:

• 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(3.5 5.6,4.8 10.5)

• 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)),

((100 100,110 110,120 120,100 100)))

• GeometryCollection1:

GEOMETRYCOLLECTION(POINT(1 1), LINESTRING(4 5, 6 7, 8 9),

POINT(30 30))

Vyse uvedene typy geometriı muzeme videt na obrazcıch 5.1 a 5.2.

5.2.2 WKB

Reprezentace Well-known Binary (WKB) prostorovych hodnot je definovana specifikacı

OpenGIS.

WKB se pouzıva pro vymenu prostorovych dat jako binarnıch proudu, ktere jsou zastou-

peny hodnotami BLOB. Naprıklad hodnota WKB pro geometrii POINT(1 1):

0101000000000000000000F03F000000000000F03F

5.2.3 Vnitrnı BLOB format

Vnitrne uklada SpatiaLite prostorova data pomocı bezneho typu BLOB SQLite ve formatu,

ktery je velmi podobny WKB.

1Ukazka GeometryCollection skladajıcı se ze dvou bodu a linie.

37

Page 38: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT 5. SpatiaLite

Obrazek 5.1: Ukazka geometrie zapsane pomocı WKT

Obrazek 5.2: Ukazka geometrie zapsane pomocı WKT 2

5.3 Vytvorenı prostorovych hodnot

5.3.1 Vytvorenı geometrie pomocı WKT

SpatiaLite poskytuje radu funkcı, ktere majı jako vstupnı hodnoty Well-known text a volitelne

identifikator prostoroveho referencnıho systemu (SRID). Vystupem je odpovıdajıcı geometrie.

GeomFromText (WKT [, srid]) – vytvorı geometrii jakehokoli typu,

38

Page 39: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT 5. SpatiaLite

GeomCollFromText (WKT [, srid]) – vratı GEOMETRYCOLLECTION pomocı WKT,

LineFromText (WKT [, srid]) – vytvorı LINESTRING pomocı WKT,

MLineFromText (WKT [, srid]) – vysledkem je MULTILINESTRING,

MPointFromText (WKT [, srid]) – vracı MULTIPOINT,

MPolyFromText (WKT [, srid]) – navratovou hodnotou je MULTIPOLYGON,

PointFromText (WKT [, srid]) – vysledkem je POINT,

PolyFromText (WKT [, srid]) – vytvorı POLYGON ze zadaneho WKT.

SpatiaLite nepodporuje nasledujıcı funkce specifikovane OpenGIS:

• BdPolyFromText (WKT, srid) – vytvorı hodnotu Polygon z hodnoty MultiLineString

ve formatu WKT obsahujıcı libovolnou sbırku uzavrenych LineString hodnot.

• BdMPolyFromText (WKT, srid) – vytvorı hodnotu MultiPolygon z hodnoty MultiLi-

neString ve formatu WKT obsahujıcı libovolnou sbırku uzavrenych LineString hodnot,

5.3.2 Vytvorenı geometrie pomocı WKB

Stejne jako u WKT SpatiaLite nabızı radu funkcı, ktere ze vstupnıch parametru, kterymi

jsou hodnota WKB a prıpadne SRID, vytvorı geometrii.

Temito funkcemi jsou:

GeomFromWKB (WKB [, srid]) – vytvorı geometrii jakehokoli typu,

PointFromWKB (WKB [, srid]) – vysledkem je POINT,

MPointFromWKB (WKB [, srid]) – vracı MULTIPOINT,

LineFromWKB (WKB [, srid]) – vytvorı LINESTRING pomocı WKB,

MLineFromWKB (WKB [, srid]) – vysledkem je MULTILINESTRING,

PolyFromWKB (WKB [, srid]) – vytvorı POLYGON ze zadaneho WKB,

MPolyFromWKB (WKB [, srid]) – navratovou hodnotou je MULTIPOLYGON,

GeomCollFromWKB (WKB [, srid]) – vratı GEOMETRYCOLLECTION pomocı WKB.

39

Page 40: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT 5. SpatiaLite

SpatiaLite nepodporuje nasledujıcı funkce specifikovane OpenGIS:

• BdPolyFromWKB (WKB, srid) – vytvorı hodnotu Polygon z hodnoty MultiLineString

ve formatu WKB obsahujıcı libovolnou sbırku uzavrenych LineString hodnot.

• BdMPolyFromWKB (WKB, srid) – vytvorı hodnotu MultiPolygon z hodnoty MultiLine-

String ve formatu WKB obsahujıcı libovolnou sbırku uzavrenych LineString hodnot,

5.3.3 Vytvorenı prostorovych sloupcu

Pro ulozenı jakekoli geometrie je potreba definovat standardnı sloupec SQLite BLOB. SQLite

ma velmi volnou kontrolu hodnot sloupcu, coz znamena, ze existuje velmi malo omezenı pro

ukladanı hodnot geometriı.

Prıkladem vytvorenı tabulky HRANICE PARCEL obsahujıcı sloupec, ktery je urceny pro

ukladanı geometrie muze byt:

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 naslednym vlozenı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)

);

Vyber dat provedeme prıkazem:

SELECT AsText(geometrie) FROM HRANICE PARCEL;

5.4 SpatiaLite GUI

Graficke rozhranı pro operacnı systemy Linux, Windows a Mac OS X si muzeme stahnout

naprıklad zde [25].

40

Page 41: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT 5. SpatiaLite

V nasem prıpade bylo stazeno GUI spatialite-2.2-win-gui.zip pro OS Windows, ve kterem

je obsazen spatialite-gui.exe.

Zakladnı ovladanı GUI je velmi intuitivnı:

• Pripojenı existujıcı databaze: Files → Connecting an existing SQLite DB.

• Vytvorenı nove databaze: Files → Creating a New (empty) SQLite DB.

• Odpojenı databaze: Files → Disconnecting current SQLite DB.

• Spustenı SQL skriptu: Files → Execute SQL script.

Na nasledujıcım obrazku 5.3 je ukazka spusteneho programu spatialite-gui.exe s pripojenou

databazı hranice.db. V prave hornı casti rozhranı je okno, do nehoz se zadavajı SQL prıkazy,

v prave dolnı casti uvidıme vysledek zadaneho prıkazu.

Obrazek 5.3: Ukazka SpatiaLite GUI

41

Page 42: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT 6. Uvod do programovacıho jazyku Java

6 UVOD DO PROGRAMOVACIHO 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, ze programovacı jazyk s tımto nazvem jiz

existuje, proto byl prejmenovan na jazyk Java1.

Java je jednım z nejpouzıvanejsıch programovacıch jazyku. 8. kvetna 2007 uvolnil Sun

zdrojove kody Javy a Java je dale vyvıjena jako open source2.

Vyvojove nastroje Javy jsou bezne oznacovany jako Java Development Kit a z praktickych

duvodu se rozdelily do nekolika edic:

• Java SE (Standard Edition) – urcene pro aplikace provozovane na stolnıch pocıtacıch,

• Java ME (Micro Edition) – pro aplikace provozovane na mobilnıch zarızenıch

(mobilnı telefony, PDA),

• Java EE (Enterprise Edition) – pro aplikace pro podnikove a rozsahle informacnı

systemy,

• JavaCard – pro aplikace provozovane v ramci tzv.”chytrych“ karet (platebnı a kreditnı

karty atp.).

Pouzitou verzı v nasem prıpade je JDK SE 1.6.12

Jednou z nejvetsıch vyhod Javy je prenositelnost programu na libovolnou platformu

(operacnı system). Teto prenositelnosti je dosazeno dıky specialnım programum, ktere jsou

oznacovany jako Java platforma. [14]

Java platforma se sklada ze dvou hlavnıch castı:

• virtualnı stroj (Java Virtual Machine JVM) – sklada se z castı, ktere zajist’ujı vazbu

na hardware a z castı, ktere interpretujı kod (mohou byt nahrazeny JIT3),

• Java Core API (Application Programming Interface) – obsahuje standardnı verejne

knihovny.

1V americkem slangu znamena Java ”kafe“. Toto jmeno jazyk dostal pote, co vyvojova skupina hledajıcı

novy nazev navstıvila firemnı bufet [14].2Open source je pocıtacovy software s otevrenym zdrojovym kodem, coz znamena technickou dostupnost

kodu a take legalnı dostupnost (licenci), ktera uzivatelum umoznuje za jistych podmınek zdrojovy kod

vyuzıvat.3Just In Time (JIT) kompilator prelozı program behem zavadenı z disku on-line do strojoveho jazyka

daneho pocıtace, cımz z nej v pameti prakticky vyrobı kompilovany kod.

42

Page 43: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT 6. Uvod do programovacıho jazyku Java

6.1 Zaklady programovacıho jazyka

V nasledujıcıch nekolika radcıch si ukazeme, jak napsat a spustit program v jazyku Java.

6.1.1 Preklad a spustenı

Nejprve stahneme jednu z vyse zmınenych sad vyvojovych nastroju naprıklad z [28] a

nainstalujeme. Pro psanı programu je mozne pouzıt nektere z vyvojovych prostredı (podrobneji

viz 6.2) nebo pouzıt jakykoli z textovych editoru.

Nasledujıcı radky slouzı pro jednoduche vypsanı textu. Musı byt ulozeny v souboru

s nazvem Priklad.java.

public class Priklad

{

public static void main(String args[])

{

System.out.println("Prvni priklad programu v jazyku Java.");

}

}

Program prelozıme prıkazem:

javac Priklad.java

Prekladem se vytvoril soubor s prıponou .class, tedy Priklad.class, ktery jiz obsahuje

prelozeny bytecode programu a lze ho spoustet z prıkazoveho radku:

java Priklad

Vystupem bude nasledujıcı:

>>> Prvni priklad programu v jazyku Java.

6.1.2 Zakladnı datove typy

Zakladnı datove typy Javy muzeme rozdelit do nekolika druhu:

• celocıselne (byte, short, int, long),

• znakove (char),

43

Page 44: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT 6. Uvod do programovacıho jazyku Java

• logicke (boolean),

• realne (float, double).

6.1.3 Rızenı programu

prıkaz if: if (podmınka) prıkaz 1; else prıkaz 2;

V prıpade splnenı podmınky se vykona prıkaz 1, zatımco pri nesplnenı se vykona prıkaz 2,

uvedeny v klauzuli else.

while: while (podmınka) prıkaz; nebo do prıkaz; while (podmınka);

Opakuje se cast kodu (prıkaz), dokud je plnena testovana podmınka.

for: for (inicializace; podmınka ukoncenı; prıkaz) prıkaz 1;

Cyklus for se pouzıva k opakovanı bloku kodu (prıkaz 1) v zadanem poctu opakovanı.

switch: switch(promenna)

case hodnota: prıkaz; break;

default: prıkaz;

Pokud promenna obsahuje hodnotu, provede se prıkaz. Mısto jednoho prıkazu muze

byt uvedeny cely blok ({}). Bez ukoncenı vetve prıkazem break dojde ke zpracovanı

prıkazu dalsı vetve.

6.2 Vyvojova prostredı

Jak jiz bylo zmıneno, pro psanı zdrojoveho kodu je mozne pouzıt libovolny textovy editor.

Abychom si vsak usetrili praci, je vhodne pouzıt nejake vyvojove prostredı. Zname naprıklad

IntelliJ IDEA, NetBeans, Eclipse, JBuilder a dalsı.

Prıklady vyvojovych prostredı:

IntelliJ IDEA – je komercnı vyvojovy nastroj vyvıjeny ceskou spolecnostı JetBrains. Prvnı

verze byla vydana v lednu 2001.

NetBeans – je open source4 projekt, ktery sponzoruje firma Sun MicroSystems. Existujı 2

hlavnı produkty:

4Jako open source od cervna 2000.

44

Page 45: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT 6. Uvod do programovacıho jazyku Java

vyvojove prostredı (NetBeans IDE) – nastroj, dıky nemuz je mozne psat, prekladat,

ladit a sırit programy, je pouzitelny na operacnıch systemech Windows, Linux,

Mac OS X a Solaris,

vyvojova platforma (The NetBeans Platform) – modularnı a rozsiritelny zaklad

pro pouzitı pri vytvarenı rozsahlych aplikacı.

Eclipse – je open source vyvojova platforma. Navrh teto platformy je velmi flexibilnı,

umoznuje rozsırit seznam podporovanych jazyku pomocı pluginu5 (napr. o C++ nebo

PHP).

Uvodnı obrazovku vyvojoveho prostredı Eclipse muzeme videt na obrazku 6.1.

Obrazek 6.1: Vyvojove prostredı Eclipse

6.3 Knihovny

Pocet knihoven (respektive balıku) pro Javu se behem vyvoje jazyka velmi rychle rozrusta.

Knihovny zakladnıch trıd jsou v Jave ulozeny v adresari jre/lib. Samozrejme muzeme pouzıvat

vlastnı knihovny nebo knihovny vyvinute nekym dalsım. Na nasledujıcıch nekolika radcıch se

zmınıme o knihovnach, ktere jsou v nası praci pouzity.

5Plugin neboli zasuvny model je doplnkovy modul jine aplikace, ktery rozsiruje funkcnost. [3]

45

Page 46: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT 6. Uvod do programovacıho jazyku Java

6.3.1 Swing

Swing je knihovna uzivatelskych prvku na platforme Java pro ovladanı pocıtace pomocı

grafickeho rozhranı. [3] Pomocı teto knihovny je mozne vytvaret naprıklad okna, dialogy,

tlacıtka, rozbalovacı seznamy.

Puvodnım nastrojem pro tvorbu grafickeho prostredı vyvıjenym firmou Sun Microsystems

jako soucast Javy byl Abstract Window Toolkit (AWT). Vzhledem k chybam v navrhu a

dalsım problemum vsak Sun roku 1997 upustil od dalsıho vyvoje a zacal vyvıjet Swing.

Swing je soucastı Java SE od verze 1.2, do te doby byl dostupny pouze jako samostatna

knihovna.

6.3.2 GeoTools

GeoTools je knihovna, poskytovana pod licencı LGPL,6 naprogramovana v Jave, ktera

poskytuje nastroje pro praci s prostorovymi daty.

GeoTools 1 vznikl roku 1996 v univerzite v Leedsu. Cılem bylo poskytnout sadu nastroju,

ktere umoznı vytvarenı geografickych vizualizacı. Bohuzel vsak neimplementoval vsechny

normy. Roku 2002 vznikl GeoTools 2, ktery kompletne prepracoval GeoTools 1. GeoTools

2 vyuzıval nejnovejsı platformu Javy a dodrzoval specifikace OGC. Vzhledem k tomu, ze

GeoTools 1 se prestal udrzovat, je od roku 2007 GeoTools 2 oznacovan jako GeoTools.

V soucasnosti (prosinec 2009) je aktualnı verzı Geotools 2.6.0, kterou lze stahnout naprıklad

zde [10].

GeoTools podporuje nasledujıcı formaty:

vektorove:

• ESRI Shapefile,

• OGC Geography,

• Markup Language (GML),

• OGC Web Feature Server (WFS),

• PostGIS,

• Oracle Spatial,

6GNU LEsser General Public Licence (LGPL) je licence svobodneho software, ktera se primarne pouzıva

pro softwarove knihovny, nekdy vsak i pro asmostatne aplikace (Mozilla, OpenOffice.org.)

46

Page 47: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT 6. Uvod do programovacıho jazyku Java

• ArcSDE,

• MySQL.

rastrove:

• OGC Web Mapping Server (WMS),

• ArcGrid,

• GeoTIFF,

• obrazky georeferencovane pomocı world souboru.

Mezi vlastnosti GeoTools patrı naprıklad:

• podpora implementace OGC Grid Coverage,

• podpora transformace souradnic a referencnıho souradnicoveho systemu,

• podpora grafu,

• Java Topology Suite (JTS) – s podporou OGC Simple Features Specification pouzitym

jako model vektorovych prvku,

• vykreslovanı :

– LiteRenderer – jednoduchy, nızke pamet’ove naroky, urceny predevsım pro serverove

aplikace,

– J2D – komplexnı, vhodny pro klientske aplikace.

47

Page 48: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT 7. Prevod dat z publikacnı databaze do ESRI Shapefile

7 PREVOD DAT Z PUBLIKACNI DATABAZE DO

ESRI SHAPEFILE

Cılem prakticke casti teto diplomove prace je vytvorenı dvou programu. Prvnı program

SDO2SHP.jar prevadı graficka data z publikacnı databaze1 do formatu ESRI Shapefile2

s vyuzitım OGC WKT. Druhy program SHP2DB.jar importuje data zıskana pomocı programu

SDO2SHP.jar do databaze SQLite (resp. SpatiaLite) opet s vyuzitım OGC WKT.

Oba programy SDO2SHP.jar, SHP2DB.jar jsou napsany v programovacım jazyku Java

(JDK 1.6.12), pro jejich tvorbu bylo vyuzito vyvojove prostredı Eclipse verze 3.4.2

Pro program SDO2SHP.jar bylo dale vyuzito:

• ojdbc6.jar dostupny zde [20],

• knihovna GeoTools (viz cast 6.3.2).

A pro program SHP2DB.jar bylo pouzito:

• soubory adresare dll spatialite-2.2-win-libs.zip, ktery je mozne zıskat naprıklad zde [25],

– libgeos c-1.dll,

– libgeos-3-0-0.dll,

– libiconv2.dll,

– libproj-0.dll,

– libspatialite-2.dll,

– libsqlite3-1.dll.

• knihovna GeoTools,

• sqlite3jni.dll, kterou muzeme nalezt zde [15],

• sqlite3.jar, ktery lze zıskat stazenım sqlite3JDBC.zip z [22].

1Publikacnı databaze je ve sprave CUZK, podrobnejsı informace muzete nalezt zde 4.2.2.2ESRI Shapefile nenı v soucasne dobe zavaznym formatem katastru nemovitostı. Vystupnım formatem

katastru nemovitostı je NVF (novy vymenny format). Dle smernice INSPIRE bude dalsım vystupnım

formatem GML. Graficka data se dale poskytujı pomocı WMS a v budoucnu se budou poskytovat dle smernice

INSPIRE pomocı WFS.

48

Page 49: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT 7. Prevod dat z publikacnı databaze do ESRI Shapefile

V teto kapitole se budeme zabyvat prvnım programem SDO2SHP.jar, ktery prevadı data

z publikacnı databaze do formatu ESRI Shapefile.

Program SDO2SHP.jar se sklada z nasledujıcıch trıd:

• Budovy.java,

• DalsiPrvkyMapy.java,

• HraniceParcel.java,

• ParcelyKn.java,

• ParcelyZe.java,

• Gui.java,

• Hlavni.java,

• Chyba.java,

• JDBC.java,

• OknoText.java.

Na nasledujıcıch radcıch si tyto trıdy popıseme a vysvetlıme, jak program SDO2SHP

funguje.

7.1 Trıda HraniceParcel

Trıda HraniceParcel slouzı pro ukladanı dat z tabulky PUB HRANICE PARCEL.

Obsahuje nasledujıcı promenne:

• long ID – pro ID hranicnıho useku,

• String geometrie – pro hranicnı usek,

• String typG – pro typ geometrie (slouzı jako informace o typu geometrie pri zpracovanı

– zda se jedna o bod, multibod, . . . ),

• long par ID 1 – pro ID parcely,

• long par ID 2 – pro ID parcely,

49

Page 50: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT 7. Prevod dat z publikacnı databaze do ESRI Shapefile

• int presnost – pro presnost daneho hranicnıho useku,

• long typppd kod – pro typ prvku prostorovych dat,

• String datum vzniku – datum vzniku prvku.

Trıda dale obsahuje konstruktor a metody get, set vyse uvedenych promennych.

7.2 Trıda ParcelyKn

Tato trıda slouzı pro ukladanı dat z tabulky PUB PARCELY KN.

Obsahuje:

• long ID – pro ID parcely,

• int katuze kod – pro kod katastralnıho uzemı,

• long bud id – pro ID budovy, ktera na parcele stojı,

• String text – popis parcely,

• String text def bod – pro popis definicnıho bodu,

• String stavebni parcela – pro informaci, zda se jedna o stavebnı parcelu (a) nebo ne

(n),

• String geometrie – pro geometrii parcely,

• String typG – pro typ geometrie,

• String geometrie def bod – pro definicnı bod parcely,

• String typGDB – typ geometrie definicnıho bodu,

• String geometrie cislo – urcenı polohy parcelnıho cısla,

• String typGC – urcenı typu geometrie parcelnıho cısla,

• String dpgGC – pro doplnujıcı geometricke informace geometrie cısla,

• String geometrie znacka – urcenı polohy znacky vyuzitı pozemku,

• String typGZ – urcenı typu geometrie znacky,

50

Page 51: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT 7. Prevod dat z publikacnı databaze do ESRI Shapefile

• String dpgGZ – pro doplnujıcı geometricke informace geometrie znacky,

• String geometrie sipka – poloha sipky,

• String typGS – typ geometrie sipky,

• long typppd kod znacka – typ prvku prostorovych dat,

• String datum vzniku – datum vzniku prvku,

• long vymera parcely – vymera parcely,

• long vypoctena vymera parcely – vymera parcely vypoctena z geometrickych dat.

Trıda obsahuje konstruktor a metody get, set vyse uvedenych promennych.

7.3 Trıda ParcelyZe

Do trıdy ParcelyZe se ukladajı data z tabulky PUB PARCELY ZE.

• long ID – ID parcely,

• int katuze kod – kod katastralnıho uzemı,

• long bud id – ID budovy, ktera stojı na parcele,

• int zdpaze kod – zdroj evidence parcel v ZE,

• String text def bod – popis definicnıho bodu,

• short druh cislovani par – informuje, zda se jedna o stavebnı parcelu, nebo ne,

• String geometrie def bod – definicnı bod parcely,

• String typGDB – typ definicnıho bodu parcely,

• String datum vzniku – datum vzniku prvku,

• long vymera – vymera parcely z SPI.

Krome toho trıda obsahuje konstruktor a metody get, set vyse uvedenych promennych.

51

Page 52: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT 7. Prevod dat z publikacnı databaze do ESRI Shapefile

7.4 Trıda Budovy

Trıda Budovy slouzı pro ukladanı dat z tabulky PUB BUDOVY.

• long ID – ID budovy,

• long katuze kod – kod katastralnıho uzemı,

• long par id – ID parcely, na ktere budova lezı,

• long caobce kod – kod casti obce,

• String text def bod – popis definicnıho bodu,

• int typbud kod – typ stavby,

• String geometrie – budova,

• String typG – typ geometrie,

• String geometrie def bod – pro geometrii definicnıho bodu,

• String typGDB – typ geometrie definicnıho bodu,

• String geometrie znacka – pro geometrii znacky typu stavby,

• String typGZ – typ geometrie znacky,

• String dpgGZ – doplnujıcı geometricke informace geometrie znacky,

• long typppd kod – typ prvku prostorovych dat,

• String datum vzniku – datum vzniku prvku.

Krome toho trıda obsahuje konstruktor a metody get, set vyse uvedenych promennych.

7.5 Trıda DalsiPrvkyMapy

Tato trıda slouzı pro ukladanı dat z tabulky PUB DALSI PRVKY MAPY.

• long ID – ID prvku

• long katuze kod – kod katastralnıho uzemı,

52

Page 53: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT 7. Prevod dat z publikacnı databaze do ESRI Shapefile

• long typppd kod – typ prvku prostorovych dat,

• String geometrie – geometrie dalsıho prvku mapy,

• String typG – typ geometrie dalsıho prvku mapy,

• String dpgG – doplnujıcı geometricke informace dalsıho prvku mapy,

• String text – popis prvku.

Ttrıda obsahuje konstruktor a metody get, set vyse uvedenych promennych.

7.6 Trıda Hlavni

Tato trıda obsahuje jednu promennou, kterou je:

• String adr – pro vystupnı adresar.

Tato promenna je protected, coz znamena, ze k nı lze pristupovat z dane trıdy, balıku i

podtrıdy.

Trıda Hlavni obsahuje implicitnı konstruktor, ve kterem jsou spousteny trıdy Gui, JDBC,

Chyba.

7.7 Trıda Gui

Trıda Gui je uzivatelskym rozhranım, ktere uzivateli umoznuje zadat nasledujıcı udaje:

• uzivatelske jmeno pro prihlasenı do databaze,

• heslo pro prihlasenı do databaze,

• kod katastralnıho uzemı, pro ktery budou data prevedena z publikacnı databaze do

formatu Shapefile.

U zadaneho kodu je kontrolovano, zda se jedna o sestimıstne cıslo a zda toto cıslo

v databazi existuje, u uzivatelskeho jmena a hesla se zjist’uje, zda je uzivatel vyplnil, pokud

ne, zobrazı se upozornenı.

Rozhranı umoznuje vybrat jednu ze dvou databazı - PUBL nebo PUBL 2, pricemz prvnı

jmenovana slouzı jako testovacı. Dale je mozne vybrat vystupnı adresar, tedy adresar, kde

53

Page 54: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT 7. Prevod dat z publikacnı databaze do ESRI Shapefile

budou vytvoreny Shapefile. Pokud uzivatel adresar nezada, je pouzit implicitne nastaveny

adresar home/Dokumenty.

V hornı casti rozhranı jsou obsazeny informace o programu a napoveda. Podrobneji viz

obrazky 7.2 a 7.3.

Obrazek 7.1: Graficke uzivatelske

rozhranı programu SDO2SHP

Obrazek 7.2: O programu SDO2-

SHP

V prubehu behu programu jsou ve spodnı casti programu vypisovany informace uzivateli

viz 7.4.

Obrazek 7.3: Napoveda programu

SDO2SHP

Obrazek 7.4: GUI v behu pro-

gramu SDO2SHP

Pro napsanı Gui byla pouzita knihovna Swing (podrobneji viz 6.3.1).

7.8 Trıda JDBC

Pro spravne fungovanı trıdy JDBC musı byt pridan ojdbc6.jar. Ten, stejne jako jakykoli

archiv jar, muzeme ve vyvojovem prostredı Eclipse pridat nasledujıcım zpusobem:

54

Page 55: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT 7. Prevod dat z publikacnı databaze do ESRI Shapefile

• rightclick na projekt (diplomka) → Build Path → Configure Build Path

• objevı se podobny obrazek jako 7.5 → zvolıme zalozku Libraries → Add External

JARs... → najdeme cestu k nasemu souboru → Otevrıt.

Obrazek 7.5: Pridanı jar do Javy

Pokud mame pridany ojdbc6.jar, bude trıda JDBC fungovat.

Tato trıda ma na starosti pripojenı k databazi, zıskanı vsech potrebnych dat, vytvorenı

prıslusnych Shapefile a vypis dat do vytvorenych souboru. Obsahuje promenne, ktere jsou

protected, a to:

• hotovo – informuje, zda jiz byla zıskana a vypsana vsechna data,

• testKodKu – pro zjistenı, zda je dany kod katastralnıho uzemı obsazen v publikacnı

databazi.

Dale obsahuje jednu konstantnı (final) hodnotu typu String Krovak, ktera je definicı

S-JTSK (EN) a vypada dle [17] nasledovne:

PROJCS["S-JTSK Krovak East North",

GEOGCS["GCS S JTSK",

DATUM["Jednotne Trigonometricke Site Katastralni",

SPHEROID["Bessel 1841", 6377397.155, 299.1528128]],

PRIMEM["Greenwich", 0.0],

UNIT["degree", 0.017453292519943295],

55

Page 56: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT 7. Prevod dat z publikacnı databaze do ESRI Shapefile

AXIS["Longitude", EAST],

AXIS["Latitude", NORTH]],

PROJECTION["Krovak"],

PARAMETER["latitude of center", 49.5],

PARAMETER["longitude of center", 24.833333333333332],

PARAMETER["azimuth", 30.28813975277778],

PARAMETER["pseudo standard parallel 1", 78.5],

PARAMETER["scale factor", 0.9999],

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ı teto konstanty jsou data prevadena ze souradnicoveho systemu S-JTSK (SRID

2065) do S-JTSK EN (SRID 102067).

A dale obsahuje jednu private promennou - Connection conn, ktera zajist’uje pripojenı

do databaze.

JDBC obsahuje dva konstruktory, jeden pro zıskanı dat z publikacnı databaze a pro jejich

vypsanı do Shapefile a druhy pro overenı existence zadaneho katastralnıho uzemı.

7.8.1 provedTestKodKu()

provedTestKodKu je funkce, ktera zjist’uje, zda zadany kod katastralnıho uzemı existuje.

Vstupnımi hodnotami jsou uzivatelske jmeno, heslo a dotaz. Tımto dotazem je nasledujıcı:

SELECT distinct(’1’) FROM PUB KATASTRALNI UZEMI WHERE kod = kod ;

Pokud zadany kod existuje, je vracena hodnota 1.

56

Page 57: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT 7. Prevod dat z publikacnı databaze do ESRI Shapefile

Tabulka PUB KATASTRALNI UZEMI je tabulka, ktera obsahuje polygony a hranicnı

useky aktualne platnych katastralnıch uzemı.

7.8.2 testSpojeni()

Tato funkce ze zadanych parametru, kterymi jsou uzivatelske jmeno, heslo a Gui, vracı ten

typ spojenı (Connection), jaky si uzivatel zvolil.

7.8.3 provedDotazy()

V teto funkci je nejprve zjist’ovan pocet zaznamu v tabulkach. Pokud tabulka nejaka data

obsahuje, zavola se funkce pro vytvorenı Shapefile vytvorSHP(), jejımiz vstupnımi hodnotami

jsou nazev souboru, ktery bude vytvoren v zadanem vystupnım adresari a prıslusny konstantnı

(final) SimpleFeatureType. Tato konstanta informuje o typu dat, jez budou vkladany do

daneho 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 preddefinovane dotazy pro vyber prvku z publikacnı da-

tabaze. Naprıklad data z tabulky PUB DALSI PRVKY MAPY zıskame pomocı nasledujıcıho

prı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() slouzı pro prevod SDO GEOMETRY na jednoduchou texto-

vou reprezentaci. Vystup teto funkce vypada naprıklad takto:

2001||2065||NULL|NULL|NULL||1|1|1||547320.9|1121189.41||

Funkce smidova get sdo elem info 3() je napsana v jazyku PL/SQL3 a slouzı pro

3Procedural Language/Structured Query Language (PL/SQL) je nadstavba jazyka SQL od firmy Oracle.

57

Page 58: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT 7. Prevod dat z publikacnı databaze do ESRI Shapefile

zjistenı, zda je dana geometrie oblouk nebo kruznice (podrobneji viz 9). Pokud ano, zavola se

funkce pub arc densify(geometrie)4, ktera oblouk nebo kruznici prevede na jednoduchou

geometrii (naprıklad linie, polygony).

Funkce provedDotazy() dale obsahuje nasledujıcı kontejnery:

• List<HraniceParcel> dataHranice,

• List<ParcelyKn> dataPKN,

• List<ParcelyZe> dataPZE,

• List<Budovy> dataBudovy,

• List<DalsiPrvkyMapy> dataDPM.

Data jsou z tabulek publikacnı databaze zıskavana v urcitem mnozstvı (napr. 10 000),

dale jsou rozdelovana do struktur, ukladana do kontejneru, zpracovavana a vypisovana do

prıslusneho Shapefile.

Geometrie z jednotlivych tabulek jsou upravovany pomocı funkce SDO2WKT(), ktera vracı

mimo jine WKT geometrii.

Pokud nenı kontejner prazdny, je volana prıslusna funkce (zpracujHranice(), zpracuj-

Pkn(), zpracujPknDb(), zpracujPknPc(), zpracujPknPcM(), zpracujPknZ(), zpracuj-

PknZM(), zpracujPknS(), zpracujPze(), . . . ), jejimiz vstupnımi hodnotami jsou prıslusny

kontejner a nazev vystupnıho souboru, ktery je vytvoren ve zvolenem vystupnım adresari.

7.8.4 vytvorSHP()

Vstupnımi parametry funkce jsou nazev souboru s absolutnı cestou (soubor) a SimpleFeature-

Type (TYP).

Pokud chceme vytvorit prostorovy index, pouzijeme DataStoreFactory s parametrem.

Protoze SimpleFeatureType neobsahuje urcenı souradnicoveho systemu, ktery je potreba

pro vytvorenı prj souboru, zavolame funkci forceSchemaCRS().

Ukazka casti kodu slouzıcıho k vytvorenı Shapefile:

Pomocı tohoto jazyka lze vytvaret naprıklad ulozene procedury a funkce, triggery, . . . [3]4Autorem funkce je Ing. Jirı Bartos. Funkce byla napsana, protoze standardnı funkce ORACLE

Arc densify() obsahuje bug a dochazı k padu databaze.

58

Page 59: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT 7. Prevod dat z publikacnı databaze 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 zapsanı geometriı do Shapefile se mimo jine pouzije nasledujıcı kod:

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();

Vytvoreny Shapefile je prazdny, prozatım neobsahuje zadna data.

7.8.5 SDO2WKT()

Jak jiz bylo zmıneno, vstupem teto funkce je geometrie, kterou jsme zıskali z databaze a typ

teto geometrie.

Vystupnı hodnotou je pole typu String, ktere obsahuje WKT geometrii a dalsı doplnujıcı

geometricke informace. Prıznak techto informacı je ulozen v poli SDO ELEM INFO jako

[offset, 0, x ]. Doplnujıcımi geometrickymi informacemi muze byt:

• pomer zmensenı (zvetsenı) – v SDO ELEM INFO je x = 10, hodnota pomeru zmensenı

je ulozena v poli SDO ORDINATES,

• orientace objektu – x = 11, hodnota orientace je opet ulozena v SDO ORDINATES,

59

Page 60: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT 7. Prevod dat z publikacnı databaze do ESRI Shapefile

• vztazny bod textu – x = 12, hodnota vztazneho bodu se nachazı v SDO ORDINATES.

Ukazka vstupnı geometrie teto funkce je uvedena v casti 7.8.3. Funkce SDO2WKT zpracuje

tuto geometrii podle typu geometrie5, ktery je vstupem funkce. Typ geometrie jsme zıskali

z publikacnı databaze pomocı funkce GET GTYPE(). Tato funkce vracı hodnoty dle tabulky

7.1:

Tabulka 7.1: Tabulka typu geometriı dle GET GTYPE()

Hodnota Geometrie

0 neznama 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 pokazde zadavana hodnota 4 (COLLECTION),

protoze tento typ se jinde nevyskytuje (viz 4.2.2). Geometrie sipka muze byt:

• null,

• POINT,

• MULTIPOINT,

• COLLECTION.

U kazdeho bodu mohou byt uvedeny doplnujıcı geometricke informace.

Jelikoz by grafickym vystupem Geometrie sipka byly pouze nicnerıkajıcı prvky, a to jeste

rozdelene do jednotlivych Shapefile dle typu (kazdy Shapefile musı obsahovat pouze jeden typ

geometrie, nelze kombinovat naprıklad linii a bod – COLLECTION), byla pro kazdou hodnotu

sloupce geometrie sipka vytvorena sipka. Sipka je typu MULTILINESTRING, k vytvorenı byly

5Pouze u geometrie geometrie sipka z tabulky PUB PARCELY KN je pokazde vstupem typ geometrie

s hodnotou 4, vysvetlenı je v casti ??

60

Page 61: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT 7. Prevod dat z publikacnı databaze do ESRI Shapefile

pouzity doplnujıcı geometricke informace, pokud jsou obsazeny. Ilustrace je uvedena na

obrazku 7.6.

Obrazek 7.6: Znazornenı tvorby sipky

Rozmery sipky jsou definovane dle [4] nazorneji viz obrazek 7.7.

Obrazek 7.7: Rozmery sipky

Vypocet rozmeru sipky obsahuje funkce sipka(), jejımiz vstupnımi parametry jsou

souradnice x (xA), y (yA), pomer zmensenı resp. zvetsenı (pomer) a orientace (otoc). Vztahy

pouzite pro vypocet jsou nasledujıcı:

σ = (180− α) · π180

(7.1)

61

Page 62: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT 7. Prevod dat z publikacnı databaze do ESRI Shapefile

xB = pomer · 3 · cosσ + xA (7.2)

yB = pomer · 3 · sinσ + yA (7.3)

σC = σ + 153.4349 · π180

(7.4)

xC = pomer · 1.118 · cosσC + xB (7.5)

yC = pomer · 1.117 · sinσC + yB (7.6)

σD = σ − 153.4349 · π180

(7.7)

xD = pomer · 1.118 · cosσD + xB (7.8)

yD = pomer · 1.118 · sinσD + yB (7.9)

Takto urcena sipka se tedy umıstı na poslednı bod (resp. body, pokud je u parcely

definovano vıce sipek) geometrie sipka.

7.8.6 zpracujHranice()

Vstupem do teto funkce jsou prıslusny kontejner List<HraniceParcel> dataHranice a

absolutnı cesta k vystupnımu souboru vcetne jeho nazvu adr.

Nejprve je vytvoreno pripojenı do jiz existujıcıho Shapefile. Pote jsou data z kontejneru

dataHranice prevedena na prıslusnou geometrii6 pomocı WKTReader a FeatureWriter zapıse

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 );

6Geometrie nabyvajı hodnot Point, MultiPoint, MultiLineString, MultiPolygon, protoze Shapefile ne-

rozlisuje LineString a MultiLineString nebo Polygon a MultiPolygon viz 3.1.4.

62

Page 63: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT 7. Prevod dat z publikacnı databaze do ESRI Shapefile

...

Feature newFeature = fw.next();...

Funkce zpracujHranice() je typu void, tedy nevracı zadnou hodnotu, ale doplnuje data

do jiz existujıcıho Shapefile.

Ostatnı funkce zpracujPkn(), zpracujPze(), zpracujBudovy(), . . . jsou napsany ob-

dobnym zpusobem jako funkce zpracujHranice.

7.9 Trıda Chyba

Tato trıda slouzı pro vytvorenı grafickeho okna v prıpade ukoncenı programu. Pokud program

probehne uspesne, zobrazı se okno jako na obrazku 7.8. Vyskytne-li se v prubehu behu

programu nejaka chyba, zobrazı se naprıklad vystup jako na obrazku 7.9.

Obrazek 7.8: Informace o uspes-

nem ukoncenı programu

Obrazek 7.9: Informace o neuspes-

nem ukoncenı programu

Trıda Chyba ma dva konstruktory, jeden implicitnı, ktery se vola pokazde, je-li pro-

gram uspesne dokoncen. Pokud tomu tak nenı, je volan druhy konstruktor, jehoz vstupnım

parametrem je String s obsahem, ktery se zobrazı uzivateli (viz 7.9).

7.10 Trıda OknoText

Trıda OknoText slouzı pro zobrazenı jednoducheho okna, ktery obsahuje nejaky text. Tato

trıda je pouzita pro volby O programu a Napoveda, ktere se nachazejı v Gui (viz 7.2 a 7.3).

Vstupnımi hodnotami konstruktoru teto trıdy jsou dve hodnoty typu String, a to nazev

okna a jeho obsah.

63

Page 64: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT 7. Prevod dat z publikacnı databaze do ESRI Shapefile

7.11 Vysledky programu

Vysledne Shapefile byly zobrazeny v programu ArcExplorer verze 9.3.1 – Java Edition, ktery

lze zıskat naprıklad zde [7]. Nasledujıcı ukazky vznikly pouzitım programu SDO2SHP se

zadanym katastralnım uzemım 683264 (Krnov) a nasledne 635561 (Zlın).

Pokud zobrazıme vsechny vygenerovane vrstvy, zıskame podobny vysledek jako na obrazku

7.10.

Obrazek 7.10: Katastralnı uzemı Krnov

Na obrazku 7.11 jsou zobrazeny hranice katastralnıho uzemı Zlın dle presnosti.

Dalsı obrazek 7.12 zobrazuje hranice obarvene dle presnosti, budovy, sipky, parcely katastru

nemovitostı vcetne parcelnıch cısel a definicnıch bodu pro katastralnı uzemı s kodem 683264

(Krnov).

Na obrazku 7.13 vidıme parcely KN s rozlisenım stavebnıch a pozemkovych parcel, na

obrazcıch 7.14 a 7.15 jsou navıc pridany budovy.

U poslednıho obrazku 7.16 vidıme detail sipky.

Dalsı obrazky vystupu programu SDO2SHP (parcely KN s parcelnımi cısly a budovami,

parcely KN s parcelnımi cısly a budovami s definicnımi body – detail) jsou uvedeny v prıloze.

64

Page 65: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT 7. Prevod dat z publikacnı databaze do ESRI Shapefile

Obrazek 7.11: Katastralnı uzemı Zlın dle presnosti hranic

Obrazek 7.12: Zobrazenı hranic k.u. Krnov dle presnosti

65

Page 66: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT 7. Prevod dat z publikacnı databaze do ESRI Shapefile

Obrazek 7.13: Detail vystupu programu 1

Obrazek 7.14: Detail vystupu programu 2

66

Page 67: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT 7. Prevod dat z publikacnı databaze do ESRI Shapefile

Obrazek 7.15: Detail vystupu programu 3

Obrazek 7.16: Detail vystupu programu 4

67

Page 68: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT 8. Import dat do SQLite

8 IMPORT DAT DO SQLITE

Pro import dat do databaze SQLite (resp. SpatiaLite) byl vytvoren program SHP2DB.jar.

Nejprve bylo nutne pridat knihovnu GeoTools a sqlite3.jar do CLASSPATH, podrobnejsı

informace viz cast 7.8.

sqlite3jni.dll je nutne nakopırovat do adresare Java home (C:/Program Files/Java)/jre6/bin.

Pri spustenı programu musı byt ve stejnem adresari knihovny:

• libgeos c-1.dll,

• libgeos-3-0-0.dll,

• libiconv2.dll,

• libproj-0.dll,

• libspatialite-2.dll,

• libsqlite3-1.dll.

Program SHP2DB se sklada z techto trıd:

• Hlavni2.java,

• Gui2.java,

• Ziskej data.java.

Dale vyuzıva trıdy z programu SDO2SHP, konkretne Chyba, OknoText.

8.1 Trıda Hlavni2

Tato trıda obsahuje nasledujıcı promenne:

• String adr – adresar vstupnıch dat,

• String vystup – vystupnı adresar,

Vyse uvedene promenne jsou protected.

Trıda Hlavni2 obsahuje implicitni konstruktor, v nemz jsou postupne spousteny trıdy

Gui2 a Ziskej data.

68

Page 69: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT 8. Import dat do SQLite

8.2 Trıda Gui2

Trıda Gui2 je opet uzivatelskym rozhranım (viz obrazek 8.1), v nemz je mozne vybrat

nasledujıcı:

• vstupnı adresar, ktery obsahuje vysledna data z programu SDO2SHP,

• vystupnı adresar, do nehoz bude nahrana vysledna databaze.

U vystupnıho adresare je implicitne volen adresar home/Dokumenty. Pokud nenı zadany

vstupnı adresar, program informuje uzivatele.

V hornı casti rozhranı jsou opet obsazeny napoveda a informace o programu viz obrazky

8.3 a 8.2

Obrazek 8.1: GUI programu SHP2DB

Obrazek 8.2: Volba O programu

v GUI SHP2DBObrazek 8.3: Napoveda programu

SHP2DB

8.2.1 ziskejSoubory()

Tato protected funkce umoznuje ze zadaneho vstupnıho adresare zıskat vsechny Shapefile

soubory. Jejı navratovou hodnotou je List<String>, ktery obsahuje nazvy souboru s absolutnı

cestou.

69

Page 70: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT 8. Import dat do SQLite

8.3 Trıda Ziskej data

Tato trıda obsahuje private promennou Connection conn, ktera zajist’uje spojenı s databazı

a protected promennou konec, ktera informuje o tom, ze data byla nactena do databaze.

Vstupnımi parametry konstruktoru teto trıdy jsou zvoleny vystupnı adresar, kontejner

s nazvy Shapefile souboru a Gui2 ;

Pro spravne fungovanı trıdy je nutne povolit vkladanı rozsırenı a pote vlozit libspatialite-

2.dll. Toho dosahneme naprıklad pomocı nasledujıcıho kodu:

conn.enableLoadExtention();

errmsg = SQLite3.new p p char();

conn.loadExtention("libspatialite-2.dll", null, errmsg);

Kontejner obsahujıcı nazvy vstupnıch souboru je setrıden dle abecedy (A-Z).

Zpracovavane nazvy souboru jsou nasledujıcı:

• hranice.shp – obsahuje hranicnı useky (linie),

• PKN.shp – ulozeny parcely KN (polygon),

• PKN DB.shp – definicnı body parcel (bod),

• PKN PC.shp – geometrie polohy parcelnıho cısla (bod),

• PKN PC MB.shp – geometrie polohy parcelnıho cısla (multibod),

• PKN znacky.shp – geometrie polohy znacky vyuzitı pozemku (bod),

• PKN znacky MB.shp – geometrie polohy znacky vyuzitı pozemku (multibod),

• PKN sipky.shp – geometrie sipky (multilinie),

• PZE.shp – geometrie definicnıho bodu parcely (bod),

• budovy.shp – geometrie budovy (multipolygon),

• budovy DB.shp – definicnı body budovy (bod),

• budovy znacky.shp – poloha znacky typu stavby (bod),

• budovy znacky MB.shp – poloha znacky typu stavby (multibod),

70

Page 71: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT 8. Import dat do SQLite

• DPM B.shp – dalsı prvek mapy (bod),

• DPM MB.shp – dalsı prvek mapy (multibod),

• DPM ML.shp – dalsı prvek mapy (multilinie),

• DPM MP.shp – dalsı prvek mapy (multipolygon).

V konstruktoru trıdy je pri zjistenı existence daneho souboru vytvorena v databazi, ktera

je umıstena v zadanem vystupnım adresari s nazvem publ.sqlite, prıslusna tabulka (pokud

neexistuje) a pote se zavola prıslusna funkce pro zpracovanı dat.

Vytvoreny jsou nasledujıcı tabulky:

• HRANICE PARCEL,

• PARCELY KN,

• PARCELY ZE,

• BUDOVY,

• DALSI PRVKY MAPY.

Je zde take kontrolovano, zda jsou data v systemu JTSK Krovak East-North.

8.3.1 ziskej hranice()

Vstupem teto funkce jsou Shapefile soubor file, graficke rozhranı a pripojenı do databaze

Connection conn.

Nejprve je nutne definovat parametry pripojenı s vyuzitım ShapefileDataStore.

Pote je definovan FeatureSource a FeatureCollection, abychom pomocı FeatureIte-

rator mohli pristupovat k datum.

Ukazka casti zdrojoveho kodu, ktery umoznuje ctenı Shapefile muze vypadat takto:

ShapefileDataStore dataStore =

= new ShapefileDataStore(file.toURI().toURL());

String[] typeNames = dataStore.getTypeNames();

String typeName = typeNames[0];

FeatureSource<SimpleFeatureType, SimpleFeature> featureSource =

71

Page 72: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT 8. Import dat do SQLite

= dataStore.getFeatureSource(typeName);

FeatureCollection<SimpleFeatureType, SimpleFeature> collection =

= featureSource.getFeatures();

FeatureIterator<SimpleFeature> iterator

= collection.features();...

Nejprve je z databaze zıskan seznam vsech existujıcıch prvku pomocı funkce vratID()

Dale jsou ve funkci ziskej hranice() preddefinovany dva SQL prıkazy – prvnı pro

vkladanı dat (INSERT) a druhy pro jejich aktualizaci (UPDATE). Ukazka preddefinovaneho

SQL dotazu pro vlozenı dat v Jave muze vypadat nasledovne:

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, jaky z techto dvou prıkazu bude pouzit, zavisı na tom, zda dany prvek jiz v databazi

existuje. Pokud ne, je vlozen novy, pokud ano (zjist’uje se dle ID), je existujıcı prvek

aktualizovan nactenymi daty.

Tento postup je nutny z nekolika duvodu. Pokud databaze publ.sqlite existuje, nenı pri

spustenı programu SHP2DB smazana, ale jsou do nı data pridavana. Existujıcı databaze jiz

muze obsahovat data, proto je nutne jejich zjist’ovanı.

Dalsım duvodem je to, ze data z puvodnıch databazovych tabulek byly rozdeleny do

nekolika Shapefile, pricemz jejich pocet je v kazdem katastralnım uzemı ruzny, zalezı na

datech. Je tedy vhodne zpracovavat kazdy soubor samostatne.

Obdobnym zpusobem fungujı i ostatnı funkce ziskej Pkn(), ziskej Pze(), ...

8.4 Vysledky programu

Abychom zıskali nejakou informaci o datech v databazi, pouzili jsme SpatiaLite GUI (po-

drobneji viz 5.4).

72

Page 73: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT 8. Import dat do SQLite

Na obrazku 8.4 je znazornen vysledek dotazu:

SELECT count(*) FROM DALSI PRVKY MAPY;

Obrazek 8.4: Vysledky programu SHP2DB

Abychom ukazali ulozenı geometrie, pouzili jsme nasledujıcı prıkaz:

SELECT katuze kod, AsText(geometrie) FROM DALSI PRVKY MAPY;

Vysledek dotazu je videt na obrazku 8.5

73

Page 74: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT 8. Import dat do SQLite

Obrazek 8.5: Vysledky programu SHP2DB

Vysledkem dalsıho dotazu je obrazek 8.6.

SELECT id, katuze kod, text, vymera,

vymera vypoctena, datum, AsText(geometrie sipka)

FROM PARCELY KN;

74

Page 75: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT 8. Import dat do SQLite

Obrazek 8.6: Vysledky programu SHP2DB

Pro spustenı obou programu byly vytvoreny bat soubory spust SDO2SHP.bat a

spust SHP2DB.bat, ktere programy SDO2SHP.jar a SHP2DB.jar spoustı pomocı prıkazu:

java -jar SDO2SHP.jar

java -jar SHP2DB.jar

spust SDO2SHP.bat i spust SHP2DB.bat vypısı dobu trvanı programu.

75

Page 76: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT 9. Zaver

9 ZAVER

V diplomove praci jsem se zabyvala uvodem do GIS, databazemi a programovacım jazykem

Java.

Hlavnım cılem prace bylo vytvorenı dvou programu. Prvnı SDO2SHP.jar slouzı pro prevod

grafickych dat z publikacnı databaze ISKN do formatu ESRI Shapefile a druhy SHP2DB.jar

pro prevod techto dat z formatu ESRI Shapefile do databaze SQLite (resp. SpatiaLite).

Program SHP2DB.jar musı v adresari, ze ktereho je spousten, obsahovat jeste knihovny

libgeos c-1.dll, libgeos-3-0-0.dll, libiconv2.dll, libproj-0.dll, libspatialite-2.dll a libsqlite3-1.dll.

SDO2SHP.jar bude vyuzit pro snadnejsı zıskavanı dat z publikacnı databaze, konkretne

hranic parcel, parcel KN, parcel ZE, budov a dalsıch prvku mapy. Tato data jsou zıskana

z databaze Oracle, geometrie jsou prevedeny z typu SDO GEOMETRY do pomocne textove

reprezentace, ktera je nasledne zpracovana do formatu WKT a pote jsou data s vyuzitım

knihovny GeoTools prevedena do formatu Shapefile. Prıklad vystupu programu je znazornen

na obrazku 9.1.

Obrazek 9.1: Zobrazenı vystupu programu SDO2SHP.jar

SHP nenı v soucasne dobe zavaznym formatem ISKN, ale bude slouzit k testovacım

ucelum v ramci resortu CUZK a je mozne, ze v budoucnu se bude poskytovat i externım

zakaznıkum.

76

Page 77: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT 9. Zaver

Program SHP2DB.jar slouzı pro nacıtanı dat zıskanych z programu SDO2SHP.jar,

jejich prevod do formatu WKT a nasledny prevod do datovych typu databaze SQLite resp.

SpatiaLite.

Kombinacı obou programu je vytvoren nastroj pro prenos grafickych dat ISKN do

jine databaze (zde SQLite resp. SpatiaLite), cımz zıskavame idealnı nastroj pro vytvarenı

pomocnych nebo testovacıch databazı, jez by mohly slouzit pro dalsı studenty, kterı budou

pri zpracovanı sve bakalarske nebo diplomove prace potrebovat data SGI ISKN.

Oba programy byly napsany v programovacım jazyku Java, bylo pouzito vyvojove prostredı

Eclipse. K obema programum bylo vytvoreno graficke uzivatelske rozhranı, ktere uzivateli

ulehcuje praci. Nenı tedy nutne, aby se uzivatel orientoval ve strukture publikacnı databaze

nebo v problematice databazı ci programovanı obecne.

Abych tyto programy mohla vytvorit, bylo nutne se seznamit s publikacnı databazı,

s knihovnou GeoTools, knihovnou pro tvorbu grafickeho uzivatelskeho rozhranı Swing, databazı

SQLite a jejı nadstavbou pro praci s prostorovymi daty SpatiaLite a jejich knihovnami pro

jazyk Java. Dale bylo treba nastudovat rozsırenı Oracle Spatial a datove typy, ktere se

pouzıvajı v ISKN.

V ramci dalsı spoluprace s CUZK budu program dale vyvıjet a obohacovat o nove funkce.

77

Page 78: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT Literatura

LITERATURA

[1] Bentley Systems CR s.r.o.. Technologie a produkty platformy MicroStation [online]. c2009

[cit. 2009-10-09]. Dostupny z WWW: <http://www.bentley.com/cs-CZ/Products/

microstation+product+line/>.

[2] BEZDEK, Josef. GeoTools (the open source Java GIS toolkit) implementace Delaunayho

triangulace. , 2007. 44 s. Zapadoceska univerzita v Plzni. Vedoucı bakalarske prace Ing.

Jan Jezek. Dostupny z WWW: <http://www.gis.zcu.cz/studium/dp/2007/Bezdek_

Geotools_implementace_Delaunayovy_triangulace.pdf>.

[3] Ceska Wikipedie : Wikipedie, otevrena encyklopedie [online]. 2002 [cit. 2007-10-27].

Dostupny z WWW: <http://cs.wikipedia.org/wiki>.

[4] Cesky urad zememericky a katastralnı. Cesky urad zememericky a katastralnı [on-

line]. 1999 [cit. 2009-12-16]. Dostupny z WWW: <http://www.cuzk.cz/Dokument.aspx?

PRARESKOD=998&MENUID=0&AKCE=DOC:10-STARYVF1>.

[5] DEMEL, Jirı. Grafy a jejich aplikace. 1. vyd. Praha : Academia, 2002. 257 s. ISBN

80-200-0990-6.

[6] DOLEZEL, Jan. Datove formaty pro prezentaci map na webu. , 2005. 63 s. Diplo-

mova prace. Dostupny z WWW: <http://geo2.fsv.cvut.cz/~soukup/dip/dolezel/

diplomka.pdf>.

[7] ESRI. ArcExplorer [online]. [2009] [cit. 2009-12-15]. Dostupny z WWW: <http://www.

esri.com/software/arcexplorer/download.html>.

[8] ESRI Shapefile Technical Description [online]. 1998 [cit. 2009-10-26]. Dostupny z WWW:

<http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf>.

[9] GeoTools InfoSheet [online]. 2009 [cit. 2009-12-12]. Dostupny z WWW: <http://www.

osgeo.org/geotools>.

[10] Geeknet, Inc.. Get GeoTools, the java GIS toolkit at SourceForge.net [online]. c2009 [cit.

2009-12-12]. Dostupny z WWW: <http://sourceforge.net/projects/geotools/>.

[11] GIS [online]. [2008] [cit. 2009-10-09]. Dostupny z WWW: <http://home.zcu.cz/

~baranov/SPS_Kartografie/GIS.pdf>.

78

Page 79: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT Literatura

[12] GISLaboratory - Co je GIS [online]. [2002] [cit. 2009-10-09]. Dostupny z WWW:

<http://cit.osu.cz/gis/pages/coJeToGis.php>.

[13] GISoft. Format DGN [online]. c1995-2009 [cit. 2009-10-09]. Dostupny z WWW:

<http://www.gisoft.cz/Bentley/DGN>.

[14] HEROUT, Pavel. Ucebnice jazyka Java. Ceske Budejovice : Kopp, 2008. 381 s. ISBN

978-80-7232-355-5.

[15] Index of /sqlitejdbc/38138 [online]. [2009] [cit. 2009-12-14]. Dostupny z WWW:

<http://jaist.dl.sourceforge.jp/sqlitejdbc/38138/>.

[16] JANECKA, Karel, SOUCEK, Petr. Prevod prostorovych dat katastru nemovitostı do

formatu shapefile [online]. 2009 [cit. 2009-10-26]. Dostupny z WWW: <http://gis.vsb.

cz/GIS_Ostrava/GIS_Ova_2009/sbornik/Lists/Papers/011.pdf>.

[17] KUBATOVA, Romana. Analyza transformace referencnıch souradnicovych systemu

S-JTSK a ETRS-89 v GIS. [s.l.], 2009. 67 s. Zapadoceska univerzita v Plzni. Diplo-

mova prace. Dostupny z WWW: <http://www.kma.zcu.cz/DATA/zaverecne_prace/

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. , 2006.

388 s.

[19] Open Geospatial Consortium, Inc.. Geography Markup Language — OGC [online].

c1994-2009 [cit. 2009-10-16]. Dostupny z WWW: <http://www.opengeospatial.org/

standards/gml>.

[20] Oracle. Oracle JDBC Drivers release 11.1.0.6.0 Downloads [online]. [2009] [cit. 2009-12-

14]. Dostupny z WWW: <http://www.oracle.com/technology/software/tech/java/

sqlj_jdbc/htdocs/jdbc_111060.html>.

[21] Oracle. Oracle Spatial : User´s Guide and Reference [online]. 2005 [cit. 2009-11-02].

Dostupny z WWW: <http://download.oracle.com/docs/pdf/B14255_01.pdf >.

[22] OSDN Corporation. SQLite JDBC Driver for Mysaifu JVM [online]. [2009] [cit.

2009-12-14]. Dostupny z WWW: <http://fr.sourceforge.jp/projects/sqlitejdbc/

releases/?package_id=7196>.

79

Page 80: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT Literatura

[23] KOTHURI, Ravi, GODFRIND, Albert, BEINAT, Euro. Pro Oracle Spatial. : Apress,

c2004. 677 s. ISBN 1-59059-383-9.

[24] RAPANT, Petr. Uvod do geografickych informacnıch systemu : Skripta PGS [online].

2002 [cit. 2008-05-02]. Dostupny z WWW: <gis.vsb.cz/publikace/ugis>.

[25] SpatiaLite download page [online]. [2009] [cit. 2009-12-09]. Dostupny z WWW:

<http://www.gaia-gis.it/spatialite-2.2/index.html>.

[26] SpatiaLite tutorial [online]. [2009] [cit. 2009-12-10]. Dostupny z WWW: <http://www.

gaia-gis.it/spatialite-2.1/SpatiaLite-manual.html#t2.1>.

[27] SQLite Download Page [online]. [2009] [cit. 2009-12-09]. Dostupny z WWW:

<http://www.sqlite.org/download.html>.

[28] Sun Microsystems, Inc.. Developer Resources for Java Technology [online]. 1994-2009

[cit. 2009-12-10]. Dostupny z WWW: <http://java.sun.com>.

[29] SMIDOVA, Katerina. Resenı prımeho prıstupu SQL klientem k prostorovym datum,

ulozenym pomocı ESRI technologie v RDBMS Oracle. [s.l.], 2008. 66 s. Bakalarska prace.

[30] TUCEK, Jan. Geograficke informacnı systemy : Principy a praxe. 1. vyd. [s.l.] : Computer

Press, 1998. 424 s. ISBN 80-7226-091-X.

[31] TISNOVSKY, Pavel. Vektorovy graficky format DXF [online]. 2007

[cit. 2009-10-09]. Dostupny z WWW: <http://www.root.cz/clanky/

vektorovy-graficky-format-dxf/>.

[32] VUGTK. Terminologicka komise CUZK [online]. c1997-2003 [cit. 2008-04-04]. Dostupny

z WWW: <http://www.vugtk.cz/termkom/indtk.html> .

80

Page 81: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT Prılohy

PRILOHY

Prıloha A – popis tabulek publikacnı databaze, ktere byly pouzity v teto praci,

Prıloha B – ukazky vystupu programu SDO2SHP,

Prıloha C – zdrojovy kod funkce smidova get sdo elem info 3(),

Prıloha D – obsah prilozeneho CD.

81

Page 82: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT Prıloha A

PRILOHA A

Tabulka 9.1: Tabulka PUB HRANICE PARCEL

Nazev Typ Klıc Null Vyznam

ID number(30) PK N ID hranicnıho useku

geometrie sdo geometry N hranicnı usek (linie)

geometrie o-

riginalni

sdo geometry A originalnı hranicnı usek

par ID 1 number(30) FK N ID parcely

par ID 2 number(30) FK A ID parcely

katuze kod number(6) FK N kod katastralnıho uzemı parcely c. 1

katuze kod 2 number(6) FK A kod katastralnıho uzemı parcely c. 2

presnost number(1) N presnost hranicnıho useku

typppd kod number(10) N typ prvku prostorovych dat

datum vzniku date N datum vzniku prvku

Tabulka 9.2: Tabulka PUB PARCELY ZE

Nazev Typ Klıc Null Vyznam

ID number(30) PK N ID parcely

katuze kod number(6) FK N kod katastralnıho uzemı

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 definicnıho bodu pro zobra-

zenı v mape (napr.”st. 1942“)

druh cislova-

ni par

number(1) N prıznak stavebnı parcely (ano/ne)

geomet-

rie def bod

sdo geometry N definicnı bod parcely (point)

datum vzniku date N datum vzniku prvku

vymera parcely number(9) N vymera parcely z SPI

82

Page 83: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT Prıloha A

Tabulka 9.3: Tabulka PUB PARCELY KN

Nazev Typ Klıc Null Vyznam

ID number(30) PK N ID parcely

katuze kod number(6) FK N kod katastralnıho uzemı

bud ID number(30) FK A ID budovy stojıcı na parcele

text varchar2(255) N popis parcely pro zobrazenı v mape

(cıslo parcely)

text def bod varchar2(255) N popis definicnıho bodu pro zobra-

zenı v mape (napr.”st. 1942“)

stavebni parce/-

la

varchar2(1) N prıznak stavebnı parcely

(‘a‘=ano/‘n‘=ne)

geometrie sdo geometry A parcela (polygon)

geomet-

rie def bod

sdo geometry N definicnı bod parcely (point)

geometrie cislo sdo geometry N poloha parcelnıho cısla

(point/multipoint) – nerozlisuje

se typ cısla (pozemkove, stavebnı

atd.)

geometrie znac-

ka

sdo geometry A poloha znacky vyuzitı pozemku

(point/multipoint)

geometrie sip-

ka

sdo geometry A vodıcı cara k popisnemu parcelnımu

cıslu (linie, volitelne) + poloha

sipky (bod, muze mıt uvedenou

orientaci); cela skupina se muze

vyskytovat vıcekrat

hranice varray of number(30) FK N hranice parcely

typppd kod-

znacka

number(10) N typ prvku prostorovych dat (pro

urcenı znacky druhu pozemku)

datum vzniku date N datum vzniku prvku

vymera parcely number(9) N vymera parcely z SPI

vypoctena vy-

mera parcely

number(9) N vymera parcely vypoctena z

geometrickych dat

83

Page 84: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT Prıloha A

Tabulka 9.4: Tabulka PUB BUDOVY

Nazev Typ Klıc Null Vyznam

ID number(30) PK N ID budovy

katuze kod number(6) FK N kod katastralnıho uzemı

par ID number(30) FK N ID parcely, na ktere budova stojı

caobce kod number(6) A kod casti obce

text def bod varchar2(255) N popis definicnıho bodu (cıslo domu

v ramci casti obce, napr.”c.p. 746“

nebo”bez c.p./c.e“)

typbud kod number(1) N typ stavby

geometrie sdo geometry A budova (polygon/multipolygon)

geomet-

rie def bod

sdo geometry N definicnı bod budovy (point)

geometrie znac-

ka

sdo geometry A poloha znacky typu stavby, muze

byt natocena (point/multipoint)

typppd kod number(10) A typ prvku prostorovych dat

(znacky)

datum vzniku date N datum vzniku prvku

Tabulka 9.5: Tabulka PUB DALSI PRVKY MAPY

Nazev Typ Klıc Null Vyznam

ID number(30) PK N ID dalsıho prvku mapy

katuze kod number(6) FK N kod katastralnıho uzemı

typppd kod number(10) N typ prvku prostorovych dat

geometrie sdo geometry N geometrie dalsıho prvku mapy

(muze byt natocen)

zmena geomet-

rie

char(1) A prıznak pouzitı transformovane geo-

metrie (‘A‘ – oblouk, ‘C‘ – kruznice,

‘S‘ – krivka)

text varchar2(255) A popis prvku

84

Page 85: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT Prıloha B

PRILOHA B

Obrazek 9.2: Detail vystupu programu SDO2SHP 1

Obrazek 9.3: Detail vystupu programu SDO2SHP 2

85

Page 86: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT Prıloha B

Obrazek 9.4: Detail vystupu programu SDO2SHP 3

Obrazek 9.5: Detail vystupu programu SDO2SHP 4

86

Page 87: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT Prıloha C

PRILOHA 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

Page 88: DIPLOMOVA PR ACE - cvut.czgeo.fsv.cvut.cz/proj/dp/2010/katerina-smidova-dp-2010.pdf · je/jsou: datab azovy syst em, ve kter em je v et sina uda j u prostorov e de nov ana a na jej

CVUT Prıloha D

PRILOHA D

Obrazek 9.6: Obsah prilozeneho CD

88


Recommended