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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

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

Ze záz<strong>na</strong>mů s uloženými úseky hranic je při <strong>na</strong>čítání <strong>dat</strong><br />

vytvářen dy<strong>na</strong>mický obousměrně zřetězený lineární sez<strong>na</strong>m 25 . U<br />

každého prvku sez<strong>na</strong>mu je zřejmé, který záz<strong>na</strong>m je jeho<br />

předchůdcem a který záz<strong>na</strong>m je jeho následovníkem. Z použití<br />

této struktury vyplývá, že po dokončení procházení a čtení<br />

vstupního souboru má výsledný sez<strong>na</strong>m právě tolik položek, kolik<br />

bylo vybráno úseků katastrální hranice, což přispívá k efektivnímu<br />

zacházení s paměťovým prostorem.<br />

• Vyhledání úseku v sez<strong>na</strong>mu vytvořeném při <strong>na</strong>čítání <strong>dat</strong> (původní<br />

sez<strong>na</strong>m) obsahujícího nejjižnější bod (maximální hodnota<br />

souřadnice X). Pokud by více úseků obsahovalo maximální<br />

hodnotu X-ové souřadnice, uvažoval by se jako počáteční úsek<br />

geometrického popisu hranice prvně <strong>na</strong>lezený úsek s maximální<br />

X-ovou souřadnicí. Poté jsem vytvořil nový obousměrně<br />

zřetězený sez<strong>na</strong>m, jehož položky jsou typu usek. Do jeho<br />

počátku jsem umístil usek, který obsahuje nejjižnější bod a je<br />

považován za počáteční bod geometrického popisu. Zároveň jsem<br />

hodnotu proměnné projito u tohoto záz<strong>na</strong>mu v původním<br />

sez<strong>na</strong>mu <strong>na</strong>stavil <strong>na</strong> TRUE, což z<strong>na</strong>čí, že při hledání <strong>na</strong>vazujícího<br />

záz<strong>na</strong>mu (úseku) v původním sez<strong>na</strong>mu vytvořeného při <strong>na</strong>čítání<br />

<strong>dat</strong> nemá být tento úsek již uvažován. Definicí atributu projito<br />

jsem se s<strong>na</strong>žil zvýšit efektivnost procházení prvotním sez<strong>na</strong>mem<br />

a především snížit algoritmickou složitost programu.<br />

• Seřazení úseků tak, jak <strong>na</strong> sebe ve skutečnosti <strong>na</strong>vazují. Na úsek,<br />

který obsahuje nejjižnější bod a představuje první záz<strong>na</strong>m nového<br />

sez<strong>na</strong>mu, jsem <strong>na</strong>vázal úsek další, pro který muselo platit, že<br />

jeden z jeho bodů je shodný s bodem prvního úseku, který ale<br />

zároveň není bodem nejjižnějším. Dále jsem vždy v původním<br />

sez<strong>na</strong>mu hledal úsek, který by s posledně přidaným úsekem<br />

v novém sez<strong>na</strong>mu měl shodný právě jeden bod. Takto jsem<br />

postupně vytvořil zřetězený sez<strong>na</strong>m prvků a platilo, že každé dva<br />

sousední prvky nového sez<strong>na</strong>mu (dva úseky) mají právě jeden<br />

společný bod. Po každém <strong>na</strong>vázání úseku <strong>na</strong> předcházející úsek<br />

v novém sez<strong>na</strong>mu došlo u odpovídajícího záz<strong>na</strong>mu v původním<br />

sez<strong>na</strong>mu k <strong>na</strong>stavení hodnoty atributu projito <strong>na</strong> hodnotu TRUE<br />

a úsek tak nebyl při dalším prohledávání původního sez<strong>na</strong>mu dále<br />

uvažován. Potvrzením správnosti uvedeného postupu vedoucího<br />

k seřazení úseků katastrální hranice podle skutečného stavu byl<br />

okamžik, kdy se přidal do nového sez<strong>na</strong>mu poslední prvek. Velice<br />

s<strong>na</strong>dno se nechalo otestovat, zda posledně přidaný úsek má<br />

odlišný identifikátor od prvního prvku sez<strong>na</strong>mu a zároveň<br />

obsahuje bod, jehož souřadnice odpovídají souřadnicím<br />

nejjižnějšího bodu prvního úseku. Kontrola této skutečnosti byla<br />

úspěšná, čímž se potvrdila správná programová realizace<br />

25<br />

Možnost dy<strong>na</strong>mického uložení množiny údajů do paměti vykazující se provázaností<br />

jednotlivých položek.<br />

47

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

Saved successfully!

Ooh no, something went wrong!