Accuracy in Tracking of Location of Mobile Device
Vuokko, Juha (2020)
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2020102721693
https://urn.fi/URN:NBN:fi:amk-2020102721693
Tiivistelmä
Kerättäessä mobiililaitteella sijaintitietoja kulkureitiltä kerätyissä sijainneissa esiintyy epätarkkuuksia. Jos kulkureitin tallentaminen on olennainen osa sovelluksen toimintaa, liian epämääräisesti tallentunut reitti laskee sovelluksen laadun tuntua huomattavasti. Insinöörityössä tutkittiin, miten sijaintitiedoista muodostetun reitin oikeellisuuteen voi vaikuttaa.
Työssä selvitettiin mobiililaitteiden tallentamien sijaintitietojen tarkkuutta ja sitä, miten tätä tarkkuutta voidaan parantaa käyttämällä suodatusalgoritmeja. Tätä varten kehitettiin Android-laitteelle sovellus käyttäen ohjelmointikielenä Kotlinia. Sovellus käyttää taustapalvelua, jonka tarkoitus on kerätä sijaintitiedot. Kerätyt sijaintitiedot tallennetaan SQLite-tietokantaan käyttäen Room-tietokantakirjastoa. Tietokantaan kerättyjä sijainteja voi tarkastella omassa karttanäkymässään. Karttapohjana toimii OpenStreetMap.
Työssä vertailtiin neljää eri algoritmia, joista kolmea voi hienosäätää sovelluksessa. Käytetyt algoritmit olivat Ramer-Douglas-Peucker, Kalman-suodin, epätarkimpien sijaintien poistaminen ja juokseva keskiarvo. Näitä algoritmeja vertailtiin sovelluksessa visuaalisesti, jotta saatiin selville, millä algoritmilla reitti näyttää parhaiten noudattavan todellista reittiä. Samassa karttanäkymässä voidaan esittää niin alkuperäinen reitti kuin myös valituilla algoritmeilla muokatut reitit. Tässä näkymässä voidaan esittää sijaintien tarkkuus ja niiden yhteydessä tallennettu kompassisuunta.
Vertailussa ilmeni, että sijaintitietojen tarkkuuta saadaan parannettua käyttämällä algoritmeja. Kaikissa algoritmeissa on puolensa. Epätarkimpien sijaintien poistaminen voi riittää hyvien tuloksien saamiseen. Jatkossa täytyy tutkia vielä juoksevan keskiarvon käyttöä jo sijaintitietojen keräysvaiheessa.
Työssä selvitettiin mobiililaitteiden tallentamien sijaintitietojen tarkkuutta ja sitä, miten tätä tarkkuutta voidaan parantaa käyttämällä suodatusalgoritmeja. Tätä varten kehitettiin Android-laitteelle sovellus käyttäen ohjelmointikielenä Kotlinia. Sovellus käyttää taustapalvelua, jonka tarkoitus on kerätä sijaintitiedot. Kerätyt sijaintitiedot tallennetaan SQLite-tietokantaan käyttäen Room-tietokantakirjastoa. Tietokantaan kerättyjä sijainteja voi tarkastella omassa karttanäkymässään. Karttapohjana toimii OpenStreetMap.
Työssä vertailtiin neljää eri algoritmia, joista kolmea voi hienosäätää sovelluksessa. Käytetyt algoritmit olivat Ramer-Douglas-Peucker, Kalman-suodin, epätarkimpien sijaintien poistaminen ja juokseva keskiarvo. Näitä algoritmeja vertailtiin sovelluksessa visuaalisesti, jotta saatiin selville, millä algoritmilla reitti näyttää parhaiten noudattavan todellista reittiä. Samassa karttanäkymässä voidaan esittää niin alkuperäinen reitti kuin myös valituilla algoritmeilla muokatut reitit. Tässä näkymässä voidaan esittää sijaintien tarkkuus ja niiden yhteydessä tallennettu kompassisuunta.
Vertailussa ilmeni, että sijaintitietojen tarkkuuta saadaan parannettua käyttämällä algoritmeja. Kaikissa algoritmeissa on puolensa. Epätarkimpien sijaintien poistaminen voi riittää hyvien tuloksien saamiseen. Jatkossa täytyy tutkia vielä juoksevan keskiarvon käyttöä jo sijaintitietojen keräysvaiheessa.