IGD – cv. 01

Postupy úpravy a přípravy dat a geodat pro zpracování

Data a geodata jsou zcela zásadní a rovněž tou nejcennější složkou pro práci geoinformatika a tvoří jednu ze základních složek GIS. Kvalitní příprava datových podkladů rozhoduje o tom, zda výsledky práce budou použitelné a odpoví na kladené otázky, nebo zda práce přijde na zmar. Kvalitně připravená data rovněž rozhodují o čase, který strávíte následným zpracováváním dat. Postup úpravy a přípravy dat výrazně závisí na způsobu dalšího zpracování a na metodách, které budou následně použity. Není v možnostech tohoto cvičení a prakticky ani v možnostech vyučujícího představit vyčerpávající seznam všech postupů. Toto cvičení si klade za cíl představit studentům základní postupy pro úpravu a přípravu dat a geodat, aby bylo vše připraveno pro další individuální přípravu na sofistikované postupy zpracování.

V praxi se totiž málokdy stane, že obdržíte data, která budou perfektně připravená na zpracování, tak jak jste na to doposud byli zvyklí na cvičeních v jiných předmětech. V tomto a následném cvičení budeme mít čas na tuto přípravu. Úpravou dat je myšleno uspořádání jednotlivých vektorů v rámci datové matice, jejich pořadí, datové typy, organizace, seznam apod. Jednotlivé kroky přípravy si ukážeme na datových zdrojích, které jsou volně dostupné na internetu ze stránek daných institucí nebo vám tato data dám k dispozici v takovém stavu, jak byla zakoupena.

Zadání

Úprava datových souborů – pro úspěšnou práci s datovými soubory v cílových programech, je potřeba získaná data velice často upravit. Hovořím tedy o datových souborech, které nevznikly exportem z databází, kde je předpoklad, že níže uvedené kroky budou bezezbytku splněny. Nejčastěji se jedná právě o data v excelovských tabulkách, které chtě nechtě v praxi stále převládají. Pro korektní následnou práci s daným datovým souborem, je potřeba zajistit splnění následných zásad:

  1. Datová matice začíná v buňce v prvním řádku a v prvním sloupci (např. v Excelu buňka A1)
  2. První řádek obsahuje názvy sloupců (atributů)
  3. Vyvarovat se všech českých znaků v systémových názvech (názvy sloupců, název listu, název souboru apod.). Pochopitelně jednotlivé záznamy již všechny tyto znaky mohou obsahovat.
  4. Vyvarovat se všech mezer v systémových názvech a ty nahrazovat třeba podtržítkem.
  5. Názvy sloupců by neměly začínat číslicí a měl by být co nejkratší, některé formáty počet znaků pro název atributu limitují (dbf 11 znaků apod.).
  6. Eliminujte jakékoliv sloučení buněk, které jsou oblíbené v datech ve formátu MS Excel.
  7. Nadefinujte korektní datové typy pro jednotlivé sloupce. Vyvarujte se “datovému typu” Obecný, který je v MS Excel standardně nabízen. Usnadníte si tak případné následné napojení dat ke geografické vrstvě. Pozor na změny hodnot v datech při importu do excelu  (např. 4.2 mění na 4. února) a již při importu striktně definujte datové typy.
  8. Nepoužívané sloupce či řádky odstraňujte, vymazání nestačí, datová struktura zůstává uložena, buňky jen obsahují prázdné hodnoty (po importu např. do ArcMapu se tyto sloupce či řádky objeví jako prázdné).

Selekce záznamů

Mezi základní operace s daty patří vytváření podvýběrů, resp. selekce záznamů splňující určité podmínky. Tyto podmínky mohou být aplikovány na sloupce obsahující kvalitativní či kvantitativní data a podle toho se také přistupuje k použití vybraných logických operátorů. Mezi operátory pro kvalitativní data patří prakticky jen = a <>, kdy se vybírá podmnožina dat, která splňuje podmínku, že řetězec odpovídá či neodpovídá dané hodnotě. Množství operátorů pro kvantitativní data je širší a jedná se o <, >, =, <=, >=, <>, ale také nadprůměrné, podprůměrné hodnoty apod. Tyto postupy se používají nejčastěji v případě rozsáhlých datových matic, se kterými se budeme v tomto cvičení setkávat nejčastěji. Zmenšení objemu dat na vstupu se totiž výrazně projeví na finálním čase, za který se dokončí následné analýzy.

V prostředí MS Excel (podobně je tomu také v jiných programech Office – Libre, Open apod.) se pro výběry nejefektivněji využívají Filtry, které naleznete na kartě Domů v pravé části pod tlačítkem Seřadit a filtrovat, přičemž je potřeba mít vybrané buňky nebo řádek, ve kterých chcete filtry zapnout. Následně je možné definovat výše uvedené selekce. Je třeba pamatovat na fakt, že aplikované filtry jsou aktivní jen v prostředí MS Excel a pokud plánujete následně s daty pracovat v jiném programu (např. v ArcMapu), tak zde již tyto filtry aktivní nebudou a soubor bude obsahovat všechna data. Selekce dat je možné provádět také v MS Access při použití výběrových dotazů. Práce v tomto prostředí navíc umožňuje také jednotlivé tabulky propojovat na základě klíčových atributů, jak jste se tomu učili v Databázových systémech. Další možností je použití programu IBM SPSS Statistics, ten již však nepatří mezi standardní výbavu počítače, i když jeho funkcionalita je velice široká a to také v problematice úpravy a přípravy dat. Zde existuje nástroj Data/Select Cases, který umožňuje vytvářet výběry dat dle jednoduchých i komplikovanějších podmínek. Dále je možné vybírat záznamy náhodně a to uživatelem definovaný objem dat v % z celku nebo přesným počtem záznamů. Toto je výhodné pro vytváření trénovacích množin či vzorků dat.

Restrukturalizace dat

Mohou nastat případy, kdy jsou data nevhodně strukturována a pro další použití je potřeba je výrazněji upravit. Tímto případem mohou být například proměnné uložené v jednom sloupci, které chceme použít pro vytvoření samostatných sloupců. Například tabulka může být tvořena celkem třemi sloupci. První sloupec obsahuje roky 2001-2013, druhý sloupec obsahuje názvy krajů a ve třetím jsou hodnoty počtu obyvatel. Naším cílem je vytvořit tabulku, která bude tvořena 15 sloupci – jeden sloupec s roky a ostatních 14 sloupců budou tvořit hodnoty počtů obyvatel v jednotlivých krajích. Toto se dá dělat pochopitelně ručně, ale představte si tabulku se statisíci řádky. Je možné si napsat také skript, který by takto data rozdělil nebo je možné využít již implementované nástroje, jako je například nástroj Restructure v IBM SPSS Statistics. Tímto nástrojem můžete data transformovat i v opačném směru – ze sloupců udělat záznamy v jednom sloupci.

restructure

Konverze formátů – v případě statistických dat se nejčastěji střetnete s daty ve formátu MS Excel (xls, xlsx). Tyto formáty jsou používány především v organizacích státní správy a samosprávy ve většině veřejných institucí. Ne vždy jsou však tyto formáty použitelné a to hlavně v případě objemnějších datových souborů vznikajících jako export z rozsáhlých databázových systémů. Tehdy bývají data uložena ve formátech jako txt, csv, xml apod. Důvod pro změny formátů mohou být také jiné, třeba s csv se pracuje lépe a rychleji, data se dají rychle třídit a řadit podle různých atributů.

Cílový formát dat, který je pro vaše další zpracování potřebný je určen softwarem, který pro další práci potřebujete použít, proto je dobré si vyzkoušet alespoň některé základní postupy pro konverzi dat mezi jednotlivými formáty. Pro tento účel využijeme nám dostupné programy MS Access, MS Excel a rovněž vybrané online konvertory. Použít však můžeme také nástroj Calc.

Velmi častým problémem jsou tabulky uložené ve formátu pdf. Tento formát je pro publikování tabulek stále rozšířenější a to s rostoucí snahou publikovat statistická data či výroční zprávy institucí na webu. Jak však rychle tyto záznamy zpracovat, aby se s nimi mohlo dále rozumně pracovat? Jednou z možností je využití free nástroje s názvem Tabula, který je napsán v jazyce Java. Po načtení pdf je možné vybrat tabulku, se kterou chcete dále pracovat a ta bude následně z pdf převedena do formátu csv. Program není dokonalý, má některé omezení, ale v případě jednodušších tabulek dokáže ušetřit množství času. Mezi omezení tohoto programu patří práce s naskenovanými tabulkami, které není možné takto zpracovat. Program pracuje korektně jen s pdf vygenerovanými z textu (nepodporované použitou bezplatnou OCR technologií). Pokud je nutné pracovat s naskenovanými pdf, je možné použít např. opensource program DocHive či placený ABBYY PDF Transformer. Dalším omezením jsou tabulky s buňkami o více řádcích textu (zalamování textu v buňkách) a to hlavně v případě, že buňky nejsou odděleny liniemi. Posledním omezením jsou pak sloučené buňky.

tabula

Programů vhodných pro zjednodušení konverzí mezi formáty je celá řada a komunity uživatelů preferují různé, stejně jako jsou nové stále vyvíjeny. Kromě klasických desktopových programů existují také webové projekty, které umožňují konverzi mezi formáty online. Níže jsou uvedeny vybrané online nástroje pro základní konverze mezi formáty. V případě, že máte oblíbenou jinou aplikaci, neváhejte mě o tom informovat, rád seznam rozšířím.

  • http://www.files-conversion.com/ – komplexní online nástroj pro konverzi mezi nejrůznějšími formáty a to nejen datovými, ale také video, audio či obrázky a další. Z datových formátů jsou podporovány převody mezi formáty xlsx, xls, sxc, pdf, csv, dbf, dif, ods, pts, pxl, sdc, slk, stc, vor, xlt.
  • http://xmlgrid.net/xml2text.html – Online převod z XML do CSV nebo textového dokumentu
  • http://xmlgrid.net/excel2xml.html – Online převod z XLS do XML s možnou úpravou xls před exportem

Úkoly pro samostatnou práci (po každém z kroků vyčkejte na kontrolu pedagoga):

  • Upravte datové soubory do korektní podoby pro další zpracování
    • Stáhněte si Demografickou ročenku vámi vybraného kraje ze stránek Českého statistického úřadu a upravte danou tabulku do korektní podoby, pracujte jen s řádky 1-96.
    • Stáhněte si data za vámi vybraný měsíc z portálu Ministerstva práce a sociálních věcí, vyberte si z archivu soubor číslo 4 a ten upravte do korektní podoby datové matice.
  • Extrakce dat z pdf dokumentu –
    • Stáhněte si pdf dokument s aktuálními statistikami dopravních nehod Policie ČR a s využitím programu Tabula zpracujte data za počty dopravních nehod a meziroční změny v počtu nehod za okresy České republiky. Data uložte.
  • Import a propojení dat –
    • Importujte upravenou tabulku o dopravních nehodách do prostředí MS Access a vhodně propojte se seznamem okresů ČR tak, aby jste měli záznamy pro všech 77 okresů v jedné tabulce. Tu dále rozšiřte o ID okresu (LAU1) a název kraje. Exportujte ve formátu xls jen ty záznamy, kde celková meziroční změna počtu nehod přesáhla 50 %.
  • Agregace dat –
    • Agregujte záznamy na úroveň krajů ČR, vypočítejte průměrný počet nehod, sumu nehod a průměrnou změnu v počtu nehod oproti předešlému roku. Tabulku exportujte ve formátu txt.
  • Restrukturalizace dat –
    • Restrukturalizujte tabulku tak, aby tabulka měla 15 sloupců, kde jeden sloupec odpovídá jednomu kraji a první sloupec obsahuje názvy 3 ukazatelů (suma nehod, průměr nehod a průměrná meziroční změna). V buňkách pak budou příslušné hodnoty. Výslednou tabulku exportujte ve formátu dbf.
  • Konverze dat –
    • S využití některého z online nástrojů tuto tabulku konvertujte do formátu xls.

logolink

Cvičení je vytvořeno v rámci projektu Inovace bakalářských a magisterských studijních oborů na Hornicko-geologické fakultě VŠB-TUO pod číslem CZ.1.07/2.2.00/28.0308. Tento projekt je realizován za spoluúčasti EU.