Projekt

Obecné

Profil

Specifikace » Historie » Revize 28

Revize 27 (Jakub Vašta, 2020-04-08 11:54) → Revize 28/29 (Jakub Vašta, 2020-04-08 12:13)

h1. Specifikace 

 h2. Stakeholders 

 * *členové týmu:* Tomáš Ballák, Petr Hlaváč, Jakub Vašta, Martin Šebela 
 * *zákazník:* Přemek Brada 
 * *mentor:* Petr Pícha 
 * *uživatelé:* univerzita, veřejnost 

 h2. Zadání 

 ZČU v rámci projektu podpořeným organizací CESNET nabídlo *volně k dispozici* několik *datových sad open dat*. Na schůzce z 10. 3. 2020 pro lokální IT správce fakult bylo řečeno, že projekt bude mít své pokračování a v tuto chvíli ZČU uvítá projekty, která data budou využívat. 

 Smyslem námi navrženého zadání je využít některé z dostupných datových sad, přičemž *podle provedené analýzy* v rámci _0. iterace_ se jedná o následující datové sady: 

 h2. Zpracovávaná data 

 * data o *připojení uživatelů* k *drátové a bezdrátové síti* (Wi-Fi) na ZČU 
 * data dostupná ze *snímačů JIS karet* (parkoviště, pokladny v menze aj.) 
 * data týkající se *půjčování koloběžek* na ZČU 

 h2. Vizualizace dat 

 Data z těchto datových sad budou zanesena do mapy formou nové vrstvy, tzv. *heatmapy nad mapovým pokladem* (např. nad mapovým pokladem _OpenStreetMap_, popř. _GoogleMaps_), přičemž *uživatel si bude moct přehrát* (animovat) den na ZČU po vhodně zvolených *časových intervalech* formou *časové osy* (minimálně po jednotlivých hodinách). 

 Je třeba podotknout, že datové sady obsahují pouze data *zpětně*, aplikace tedy *nebude zobrazovat data v reálném čase*, nicméně toto může částečně řešit predikce dat (viz dále). 

 h2. Predikce dat 

 V aplikaci bude možné *predikovat pohyb studentů* pomocí technik umělé inteligence formou lineární regrese (model by mohl být natrénován vždy z několika předchozích tydnů pro každý den zvlášť, přičemž bude potřeba brát v úvahu změny semestru a například první týden nového semestru modely vymazat a na týden predikci nezobrazovat). 

 Predikce může vzhledem k aktuálnímu počtu dat dosahovat slabších výsledků, ale od machine learning si slibujeme, že se s rostoucím data setem bude lepšit. 

 h2. Využitelnost a cíle 

 Aplikace může poukázat na postupný průběh semestru (například postupné odcházení studentů prvních ročníků), ostatně ukazovat *průběh jednoho dne v univerzitním kampusu a u kolejí* (resp. tam, kam dosáhne Wi-Fi či jsou zabudované jiné z uvedených snímačů). 

 Stejně tak může poukázat na různé *anomálie*, které byly už v rámci provedené analýzy zjištěny (například návrat studentů z nočních akcí na koleje (vstup do kolejí je přes JIS snímač), pohyb po univerzitě a bufetech v nočních hodinách...). 

 Informace získané z těchto dat mohou být navíc použity pro další architektonické a stavební úpravy (kam má *smysl investovat*, kde se lidé srocují, kde by mělo smysl posílit signál apod.). 

 Z důvodu, že vybrané datové sady neobsahují data v reálném čase, je možné v aplikaci využívat jako přibližnou náhradu *predikci pohybu* (viz související bod). 

 h2. Datové sady v budoucnu 

 Bude snaha, aby aplikace *v budoucnu zveřejněná data* (nové datové sady se postupně uvolňují po několika měsících) *automaticky stahovala* a vkládala do databáze (tzn. přidávala nové záznamy k již v databázi vedeným AP a jiným snímačům). Ohled bude také brán na *rozšiřitelnost* při přidávání dalších datových sad. 

 S tímto bodem se nicméně *pojí rizika* zmíněná dále. 

 h2. Rizika 

 Bohužel neovlivníme období, během kterých nemusí být data k dispozici (v důsledku *výpadku externích systémů* na straně dodavatele dat), případnou *změnu formátu* těchto dat nebo dokonce *změnu metodiky sledování, resp. logování*. V takovém případě bude nutné provést v aplikaci úpravy. 

 h2. Produkční prostředí 

 Výstupem bude *webová aplikace* (z větší části *responzivní*), která bude nasazena na *virtuálním stroji* na CIV ZČU, popř. na přiděleném virtuálním stroji na KIV FAV ZČU. 

 h2. Nástřel projektu 

 _Poznámka:_ schéma *neznázorňuje grafický návrh*, pouze čtenáři ukazuje to, co je předmětem projektu, aby měl na první pohled jasno 

 !https://students.kiv.zcu.cz:3443/attachments/download/1969/campus_heatmap.png! 

 h2. Technická specifikace projektu 

 Schéma znázorňuje strukturu projektu, její provázanost a použité technologie. 

 !https://students.kiv.zcu.cz:3443/attachments/download/2006/ASWI_spec_prj.png! 

 *Schéma databáze:* 

 !https://students.kiv.zcu.cz:3443/attachments/download/2016/Navrh%20DB.png! 

 h3. Architerkutra applikace 

 !https://students.kiv.zcu.cz:3443/attachments/download/2023/open-data-architecture.png! !https://students.kiv.zcu.cz:3443/attachments/2023/open-data-architecture.png! 

 # Konfigurační soubory 
 # Parser konfiguračních souborů 
 # Crawler 
 # Open data web úložiště 
 # Cron 
 # Data processor open dat 
 # Log soubory se zpětnou vazbou 

 h4. Konfigurační soubory 

 <pre><code class="yaml"> 
 # jeméno datasetu, pod kterým bude zobrazen v aplikaci 
 dataset-name: wifi 
 # pozice jednotlivých zařízení, která jsou v datasetu 
 devices: 
     - 
         name: fav-access-point-01 
         x: 0 
         y: 0 
     . 
     . 
     . 
 # root složka, která obsahuje datasety 
 url: opendata-url.example 
 # volitelný parameter, který specifikuje vzor jména datasetů, které se budou stahovat, pokud prázdné, tak všechny co se najdou 
 [regex: wifi-[0-9]*] 
 # volitelný parametr, který udává jak často se budou hledat nové datasety, pokud prázdné, tak defaultní hodnota 
 [update-period: 24] 
 </code></pre> 

 h4. Parser 

 Musí být možné upozornit parser na nový sobor, pokud selže automatická detekce změny. 

 h4. Crawler 

 Musí jít donutit crawler, aby zkontroloval dostupnost sad.  

 h4. Cron 

 Pravidelně bude spouštět crawler, který bude kontrolovat dostupnost nových dat, pokud je pro daný dataset specifikován _update-time_, tak ho bude respektovat. 

 h4. Log soubory se zpětnou vazbou 

 Pro každý konfigarační soubor, se vytvoří log soubor se stejným názvem, který bude obsahovat, všechny případné chyby, pro daný konfigurační soubor.