27.06.2015 Views

Modelování geoprostorové báze dat na úrovni datového modelu KN

Modelování geoprostorové báze dat na úrovni datového modelu KN

Modelování geoprostorové báze dat na úrovni datového modelu KN

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Modelování geoprostorové báze <strong>dat</strong> <strong>na</strong> úrovni <strong>dat</strong>ového <strong>modelu</strong> <strong>KN</strong><br />

Pokud má hodnotu TRUE, z<strong>na</strong>mená to orientaci<br />

v protisměru chodu hodinových ručiček.<br />

• Vypsání příslušných hodnot do souboru RELtoOO.sql. Název a<br />

umístění tohoto souboru je implicitně dáno ve zdrojovém kódu<br />

programu RELtoOO.exe. Jak již bylo uvedeno, <strong>dat</strong>a jsem do<br />

tohoto souboru ukládal ve formě SQL příkazu INSERT. Bylo nutné<br />

v příslušném tvaru do souboru RELtoOO.sql vložit zadaný<br />

identifikátor hranice a kód katastrálního území, dále všechny<br />

údaje týkající se objektu SDO_GEOMETRY jako <strong>dat</strong>ového typu<br />

atributu hranice a <strong>na</strong>konec hodnotu NULL. Při ukládání<br />

jednotlivých informací do příkazu INSERT je nutné dodržet pořadí<br />

jejich zápisu v souladu s definicí tabulky KATASTRALNI_HRANICE.<br />

Souřadnice bodů katastrální hranice byly vypsány do atributu<br />

sdo_ordi<strong>na</strong>tes v závislosti <strong>na</strong> hodnotě atributu protismeru.<br />

Pokud byla hodnota atributu protismeru rov<strong>na</strong> TRUE, vypsaly se<br />

body v pořadí, v jakém byly přidávány úseky do nového<br />

spojového sez<strong>na</strong>mu. Pokud byla hodnota atributu protismeru<br />

rov<strong>na</strong> FALSE, vypsaly se body v obráceném pořadí. Aby se<br />

dodržela korektnost uložení <strong>dat</strong> podle kapitoly 4.4, ukládal se<br />

společný bod dvou sousedních hraničních úseků pouze jedenkrát<br />

s tím, že souřadnice prvního uloženého bodu se <strong>na</strong> konci výpisu<br />

uložily ještě jednou. Obsah souboru RELtoOO.sql tak vypadá<br />

následujícím způsobem (ukázka obsahuje <strong>dat</strong>a pro katastrální<br />

území Lomec u Klatov):<br />

INSERT INTO katastralni_hranice VALUES(<br />

3,<br />

629499,<br />

SDO_GEOMETRY(<br />

2003,<br />

NULL,<br />

NULL,<br />

SDO_ELEM_INFO_ARRAY(1,1003,1),<br />

SDO_ORDINATE_ARRAY(<br />

1110904.46,837129.28,1109511.38,836978.48,…,<br />

1110904.46,837129.28)),<br />

NULL<br />

);<br />

Př. 15: Vložení jednoho prvku do tabulky KATASTRALNI_HRANICE.<br />

Hodnota NULL zde reprezentuje hodnotu atributu<br />

definicni_bod. Naplnění atributu definicni_bod <strong>dat</strong>y bude<br />

provedeno dále. Obsah souboru RELtoOO.sql byl vždy po vložení<br />

<strong>dat</strong> do <strong>dat</strong>abáze smazán a připraven pro uložení nových <strong>dat</strong>.<br />

Závěrem této kapitoly bych rád upozornil ještě <strong>na</strong> jednu<br />

skutečnost, se kterou bylo třeba při realizaci programu RELtoOO.exe<br />

počítat. Při testování chování programu RELtoOO.exe program<br />

několikrát spadl. Při následném hledání důvodu přerušení běhu<br />

49

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!