název bc práce

Metody a postupy


Použitá data

Stejně jako tomu bylo u bakalářské práce, na kterou tato práce diplomová myšlenkově navazuje, ani zde nejsou jakákoli reálná data potřebná. Cílem je vyvinutí funkčního rozšíření celého aparátu a pro ověření správnosti procesů nejsou data nutností. Tvrzení potvrzuje i prohlášení, že vyhovujících datových sad není mnoho nebo je obtížné jich dosáhnout (Burian, 2013).

Možná elementární data pro vstup pak tedy může zajišťovat sada funkcí uvnitř balíčku. Přičemž byl tento proces upraven tak, aby pro případného uživatele byla tato cesta co možno nejjednodušší. K dosažení funkčních dat tak postačí pouze označit pár vstupních veličin. Nabízí se zde proto varianta využití volně dostupných datasetů (například meuse). Touto cestou je tak i zpřístupněna cesta exemplárního užití balíčku pro běžného uživatele.

Použité programy

Postup zpracování

Počátek práce byl zahájen potřebnou četbou odborné literatury a studiem pokročilého programování v jazyku R, a to především proto, že datové struktury formátu S4 se diametrálně liší od svého předchůdce generace S3. V rámci vývoje balíčku byla dokonce podniknuta výzkumná stáž v německém městě Münster (duben 2014). Tamní institut geoinformatiky patří, v oblasti programování a využívání softwaru The R Project for Statistical Computing, k těm nejlepším na světě. Klíčovou roli zde přitom sehrává prof. Edzer Pebesma, který jakožto vedoucí zdejší katedry a uznávaný odborník v oboru, představuje i tvůrce světoznámých balíčků pro R software (například balíček gstat). Právě na tomto místě byly položeny praktické základy tvorby datových struktur S4 a vytvořen znatelný pokrok v diplomové práci.

Získání dostatečných znalostí v oblasti problematiky S4 umožnilo přistoupit k samotnému řešení praktické části diplomové práce. Nejdůležitějším krokem byl přepis starších funkcí a jejich funkční rozšíření. Postupný vývoj balíčku byl přibližně stejný jako u bakalářské práce, přičemž na počátku byl řešen stěžejní problém vstupu dat a definice tříd pro data. Funkce pro definici primárních dat byla znatelně pozměněna a pro její chod nyní postačuje pouze označení veličin (údajů) pro souřadnice x, y a zkoumanou proměnnou z, která posléze vstupuje do procesů. Stanovení jednotlivých tříd objektů S4 pak zajišťuje formát a správnost dat mezi jednotlivými funkcemi balíčku. Celkem bylo vytvořeno pět tříd objektů:

Parametrizace a funkční rozšíření balíčku provázelo průběh práce celou dobu. Ať už to byla variabilita vstupních dat, nebo možnost výběru argumentů funkce. Pozornosti neunikl ani kód pro generování gridu, jakožto vstupní veličina do interpolací. Koncovému uživateli se nyní dostává možnosti vytvořit až šesti různých gridů, přičemž důležitým mezníkem je zde výběr, zda si přeje či nepřeje mít u výsledného gridu definované souřadnice. Samotné interpolace (idw, spline, kriging) pak byly parametrizovány podle možností klíčových funkcí zajišťující vlastní výpočet. Veškeré argumenty byly rozepsány a byly jim stanoveny základní (výchozí) hodnoty pro ukázkový chod balíčku. Záleží tedy pouze na koncovém uživateli, jakým způsobem si bude přát tyto hodnoty přepisovat na vstupu funkce a modifikovat tak průběh i výsledek. Stejně tak bylo přistoupeno i k rozšíření pro výpočet variogramu. Jediný rozdíl zde tvoří výstupní formát dat, který tvoří standardní S4 objekt, avšak uvnitř se skrývají další tři podobné objekty definující hodnoty variogramu. Výjimku pak tvoří skupina funkcí pro tvorbu modelů nejistot. Tyto funkce byly již dříve parametrizovány a nyní postačil pouze jejich přepis do nové podoby uvnitř balíčku.

Zajímavostí balíčku pak můžou být transformační funkce as.data.frame a as.UncertainPoints, které zajišťují převod dat do požadovaných formátů. V prvním případě se jedná o skrytý proces uvnitř interpolací tak, aby nebyl finální kód příliš složitý a také aby byl zajištěn hladký průchod výpočtů bez nutnosti zásahu do datových struktur ze strany uživatele. Druhá zmíněná funkce přináší nástroj pro konverzi mezi třídami UncertainInterpolation a UncertainPoints. Jedná se opět pouze o zvýšení komfortu uživatele v případě, kdy by byl žádoucí zpětný převod třídy objektů.

Závěr vývojového procesu byl věnován tvorbě funkcí pro vizualizace dat. Rozšířila se tak funkční část balíčku a uživatel si může zobrazit jednoduché výstupy. Úplný konec a definitivní podobu výsledku završila řádná dokumentace funkcí a poté i jejich kompilace do výsledného balíčku pro software R. Kompletní nový balíček UncerIn 2.0 (Uncertainty Interpolation) se tak nově skládá z následujících okruhů funkcí pro:

© Tomáš BURIAN Olomouc 2015 | Katedra geoinformatiky, Přírodovědecká fakulta, Univerzita Palackého v Olomouci