Spatiotemporaalinen karttasovellus : teknologioiden vertailu
Schmidt, Daniel (2024)
Schmidt, Daniel
2024
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-202405079991
https://urn.fi/URN:NBN:fi:amk-202405079991
Tiivistelmä
Opinnäytetyössä vertaillaan eri tapoja toteuttaa verkkoselaimessa käytettävä sovellus ja sen vaatima ympäristö olioiden sijaintihistorian kartalla esittämistä varten. Toimeksiantajayritys perustelee tarvetta opinnäytetyölle sillä, että saatavilla on niukasti valmiita ohjelmistoja menneen tilannekuvatiedon tuottamiseen. Saatavilla olevat vaihtoehdot ovat nekin toiminnoiltaan hyvin rajalliset. Datan näyttäminen staattisina kerroksina kartalla on melko suoraviivaista, mutta tehokkaan ja dynaamisen esityksen toteuttamista varten on syytä perehtyä tarjolla oleviin menetelmiin huolellisesti.
Sijaintitietoa lähettävien olioiden esittämistä varten on tarjolla runsaasti erilaisia ohjelmallisia ratkaisuja. Työkaluja voi luovasti yhdistellä, ja sovellusten toteutustavat vaihtelevatkin päiväkohtaisten tietueryppäiden näkymistä yksittäisen olion tarkkoihin paikkamääreisiin ajassa. Yhteistä eri sovelluksille on, että datan paljouden ongelmaa on tavalla tai toisella jouduttu väistämään. Suorituskykyä koettelevat tietokantakyselyt, tiedonsiirto ja tietueiden graafiset esitykset.
Saatavilla olevista teknologioista vertailuun valittiin tehokkuutta korostavat vaihtoehdot. Työssä vertailtavat tietokantajärjestelmät ovat Apache Arrow, DuckDB, MongoDB ja PostgreSQL. Karttasovellusten kehittämiseen käytettiin ohjelmistokehyksiä OpenLayers sekä Deck.gl.
Työ aloitettiin tietokantajärjestelmien suorituskykymittauksilla. Tulosten perusteella Apache Arrow soveltuu hyvin yksinkertaisen tilannekuvan välittämiseen ja DuckDB data-analyttisiin tietokantakyselyihin. Näiden järjestelmien varaan kehitettiin kahta käyttötapausta vastaavat karttasovellukset: Ensimmäinen sovellus oli paikka- ja aikaulottuvuuksisen tilannekuvatiedon esittämistä varten, ja toisessa sovelluksessa painotetaan monimuotoista data-analytiikkaa.
Sijaintitietoa lähettävien olioiden esittämistä varten on tarjolla runsaasti erilaisia ohjelmallisia ratkaisuja. Työkaluja voi luovasti yhdistellä, ja sovellusten toteutustavat vaihtelevatkin päiväkohtaisten tietueryppäiden näkymistä yksittäisen olion tarkkoihin paikkamääreisiin ajassa. Yhteistä eri sovelluksille on, että datan paljouden ongelmaa on tavalla tai toisella jouduttu väistämään. Suorituskykyä koettelevat tietokantakyselyt, tiedonsiirto ja tietueiden graafiset esitykset.
Saatavilla olevista teknologioista vertailuun valittiin tehokkuutta korostavat vaihtoehdot. Työssä vertailtavat tietokantajärjestelmät ovat Apache Arrow, DuckDB, MongoDB ja PostgreSQL. Karttasovellusten kehittämiseen käytettiin ohjelmistokehyksiä OpenLayers sekä Deck.gl.
Työ aloitettiin tietokantajärjestelmien suorituskykymittauksilla. Tulosten perusteella Apache Arrow soveltuu hyvin yksinkertaisen tilannekuvan välittämiseen ja DuckDB data-analyttisiin tietokantakyselyihin. Näiden järjestelmien varaan kehitettiin kahta käyttötapausta vastaavat karttasovellukset: Ensimmäinen sovellus oli paikka- ja aikaulottuvuuksisen tilannekuvatiedon esittämistä varten, ja toisessa sovelluksessa painotetaan monimuotoista data-analytiikkaa.