Suurten datamäärien interaktiivinen visualisointi selainympäristössä
Kuusisto, Juho (2019)
Kuusisto, Juho
2019
Tietotekniikan DI-ohjelma - Degree Programme in Information Technology
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2019-09-11
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-201908192945
https://urn.fi/URN:NBN:fi:tuni-201908192945
Tiivistelmä
Nykyaikaiset verkkoselaimet tarjoavat kattavat mahdollisuudet grafiikan esittämiseen Canvas- ja WebGL-ohjelmointirajapintojen kautta. Tässä diplomityössä kehitettiin grafiikkasuoritinta hyödyntävä pistekaaviovisualisointi React-komponenttina WebGL-ohjelmointirajapinnan tarjoamia ominaisuuksia käyttäen. Tämä diplomityö toteutettiin suomalaisen maailmanlaajuisesti toimivan tietoliikennealan yhtiön toimeksiannosta.
Tässä diplomityössä perehdytään pintapuolisesti datan visualisoinnissa käytettyihin kaaviotyyppeihin, interaktiivisen visualisoinnin ominaispiirteisiin ja datan visualisointiin selainympäristössä. Pääasiallinen huomio on kehitettävän visualisointikomponentin suorituskykymittausmenetelmien laatimisessa, visualisointikomponentin toteutuksessa ja visualisointikomponentin suorituskyvyn mittaamisessa.
Toteutettu visualisointikomponentti kykenee esittämään nykyaikaisilla laitteilla ongelmitta ja suorituskyvyn heikkenemättä 3 000 000 datapistettä ja 10 vuotta vanhalla kannettavalla tietokoneella 1 000 000 datapistettä hieman heikentyneellä suorituskyvyllä. Suorituskyky saavutti ja ylitti asetetut ennakko-odotukset. Visualisoinnin toteuttamisessa käytettiin Three.js-kirjastoa, joka tarjoaa ohjelmistokehittäjäystävällisen rajapinnan grafiikan luomiseen ja esittämiseen WebGL-ohjelmointirajapintaa hyödyntäen.
Visualisointikomponentin lisäksi tämän diplomityön sivutuotteena syntyi testipenkki React-applikaatio, jota käytettiin visualisointikomponentin suorituskyvyn testaamiseen. Testipenkki soveltuu myös muiden komponenttien kuin työssä kehitetyn testaamiseen.
Visualisointikomponenttia tulee testata tässä diplomityössä käytettyjä laitteita laajemmalla laitekannalla ennen laajamittaista hyödyntämistä. WebGL on hyvin tuettu, mutta kuten tässä työssä saadut tulokset osoittavat, suorituskyky vaihtelee laitekohtaisesti merkittävästi.
Tässä diplomityössä perehdytään pintapuolisesti datan visualisoinnissa käytettyihin kaaviotyyppeihin, interaktiivisen visualisoinnin ominaispiirteisiin ja datan visualisointiin selainympäristössä. Pääasiallinen huomio on kehitettävän visualisointikomponentin suorituskykymittausmenetelmien laatimisessa, visualisointikomponentin toteutuksessa ja visualisointikomponentin suorituskyvyn mittaamisessa.
Toteutettu visualisointikomponentti kykenee esittämään nykyaikaisilla laitteilla ongelmitta ja suorituskyvyn heikkenemättä 3 000 000 datapistettä ja 10 vuotta vanhalla kannettavalla tietokoneella 1 000 000 datapistettä hieman heikentyneellä suorituskyvyllä. Suorituskyky saavutti ja ylitti asetetut ennakko-odotukset. Visualisoinnin toteuttamisessa käytettiin Three.js-kirjastoa, joka tarjoaa ohjelmistokehittäjäystävällisen rajapinnan grafiikan luomiseen ja esittämiseen WebGL-ohjelmointirajapintaa hyödyntäen.
Visualisointikomponentin lisäksi tämän diplomityön sivutuotteena syntyi testipenkki React-applikaatio, jota käytettiin visualisointikomponentin suorituskyvyn testaamiseen. Testipenkki soveltuu myös muiden komponenttien kuin työssä kehitetyn testaamiseen.
Visualisointikomponenttia tulee testata tässä diplomityössä käytettyjä laitteita laajemmalla laitekannalla ennen laajamittaista hyödyntämistä. WebGL on hyvin tuettu, mutta kuten tässä työssä saadut tulokset osoittavat, suorituskyky vaihtelee laitekohtaisesti merkittävästi.