Advanced

Mobile map client API : design and implementation for Android

Karlberg, Mårten (2011) In LUMA-GIS Thesis GISM01 20101
Dept of Physical Geography and Ecosystem Science
Abstract
The fast development of computational power of the mobile phone makes it a suitable
platform for running map applications. Both public and field working professionals can
benefit from easy access to a mobile map client application with features such as route
planning, location based services and simple GIS operations. This master's thesis
describes the mobile operating system (OS) Android from a geographic information
aspect and relates it to other major mobile OS.
Available map client application programming interfaces (API) are investigated. It is
concluded that Android is a good platform choice for implementing mobile map
applications. But there is need of a generic open source API for Android. Such an API is
implemented,... (More)
The fast development of computational power of the mobile phone makes it a suitable
platform for running map applications. Both public and field working professionals can
benefit from easy access to a mobile map client application with features such as route
planning, location based services and simple GIS operations. This master's thesis
describes the mobile operating system (OS) Android from a geographic information
aspect and relates it to other major mobile OS.
Available map client application programming interfaces (API) are investigated. It is
concluded that Android is a good platform choice for implementing mobile map
applications. But there is need of a generic open source API for Android. Such an API is
implemented, resulting in a good performing map client. Though it needs additional
development to perform all features aimed for in the suggested API design. (Less)
Abstract (Swedish)
Populärvetenskaplig sammanfattning: Dagens datorlika mobiltelefoner lämpar sig utmärkt för att visa olika typer av kartor. Det är inte svårt att hitta tillämpningar för både privatpersoner och professionella användare med behov som att till exempel hitta lämpliga färdvägar eller visa information om platsen man befinner sig på. Det här examensarbetet går ut på att undersöka hur geografisk data kan behandlas och visas som kartor på Android-mobiler. Målet är att skapa ett generellt programmeringsverktyg som ska kunna användas för att snabbt och enkelt kunna utveckla specialiserade kartapplikationer för Android.
Ett sådant verktyg kallas inom databranschen för API, vilket står för Application Programming Interface. Ett API är ett gränssnitt... (More)
Populärvetenskaplig sammanfattning: Dagens datorlika mobiltelefoner lämpar sig utmärkt för att visa olika typer av kartor. Det är inte svårt att hitta tillämpningar för både privatpersoner och professionella användare med behov som att till exempel hitta lämpliga färdvägar eller visa information om platsen man befinner sig på. Det här examensarbetet går ut på att undersöka hur geografisk data kan behandlas och visas som kartor på Android-mobiler. Målet är att skapa ett generellt programmeringsverktyg som ska kunna användas för att snabbt och enkelt kunna utveckla specialiserade kartapplikationer för Android.
Ett sådant verktyg kallas inom databranschen för API, vilket står för Application Programming Interface. Ett API är ett gränssnitt som ger programmerare smidig tillgång till grundläggande funktioner i ett system eller en typ av applikation. I det här fallet får programmeraren tillgång till grundläggande kartfunktioner, som t.ex. kartdataladdning eller panorering och zoom, utan att behöva programmera hela logiken bakom dessa funktioner. Istället kan programmeraren fokusera sitt arbete på de delarna som gör just den kartapplikationen unik.
Arbetet är uppdelat i en undersökande del för att klarlägga var utvecklingen av tekniken befinner sig idag och vilka liknande försök som gjorts tidigare och en mer praktisk utvecklingsdel med målet att implementera ett API för kartapplikationer på Android. I undersökningen jämförs Android med andra mobila plattformar, t.ex. Apples iPhone och Nokias Symbian. Det konstateras att Android står sig bra i konkurens med de andra och lämpar sig väl för kartapplikationer men att det skulle behövas ett generellt kartverktyg som inte är så hårt styrt som Google maps, som är det vanligaste kartverktyget för Android.
För att tydliggöra vad API:et borde innehålla och klara av att utföra gjordes först en teoretisk modell av dess olika delar. De viktigaste delarna, t.ex. dataladdning och användargränssnitt med kartbildsvisning, panorering och zoom, implementerades sedan för att kunna testköras och vidareutvecklas på en Android-mobil.
En demoapplikation utvecklades för att demonstrera användningen av API:et. Resultatet är ett verktyg för ett energibolags servicepersonal att ha med sig i fält för att se deras fjärrvärmenäts geografiska utsträckning och info om nätets olika delar, kopplingar och kunder. (Less)
Abstract (Swedish)
Scientific summary: The fast development of computational power of the mobile phone have made it a suitable platform for running map applications. Both public and field working professionals can benefit from easy access to a mobile map client application with features such as route planning, location based services and simple GIS operations. This master's thesis describes the mobile operating system (OS) Android from a geographic information aspect and relates it to other major mobile OS. A map client application programming interfaces (API) is implemented, resulting in a good performing map client. Though it needs additional development to perform all features aimed for in the suggested API design.

The study is divided into a... (More)
Scientific summary: The fast development of computational power of the mobile phone have made it a suitable platform for running map applications. Both public and field working professionals can benefit from easy access to a mobile map client application with features such as route planning, location based services and simple GIS operations. This master's thesis describes the mobile operating system (OS) Android from a geographic information aspect and relates it to other major mobile OS. A map client application programming interfaces (API) is implemented, resulting in a good performing map client. Though it needs additional development to perform all features aimed for in the suggested API design.

The study is divided into a state-of-the-art investigation of available technology, and an effort to design and implement a map client API for Android. The investigation was made by referencing available scientific papers, technical articles and websites. Available OS's and API's are investigated. It is concluded that Android is a good platform choice for implementing mobile map applications. But there is need of a generic open source API for Android.

Another objective of the study was to compare a map client running as a web application to the native client developed regarding performance. Unfortunately no suiting API for setting up the web application was found. Since then the OpenLayers community have made a great effort for running OpenLayers clients on mobile devices, which would have been an ideal choice for doing the comparison.

The work on the API contains a theoretical model which is partly implemented. The aim of the model is to define the overall functionality, some specialized features and cohesive data structures. Then the base functionality, such as data loading, map drawing, panning and zooming, was implemented. The implementation was carried out in an iterative manner. Starting with complementing a basic, incomplete open source map API to gain understanding of mobile map API design and avoid re-inventing the wheel. Added was support for coordinate systems and projections other than WGS 84 Web Mercator (EPSG 4326), better Web Map Service (WMS) support, vector data loading and improved responsiveness when loading data.

A demo application was put together in order to test performance on the hardware emulator integrated in the Android SDK and on a real device, Motorola Milestone running Android version 2.1. The scenario for the demo application is a district heating pipe system, an useful field application for a city energy company. The application shows a raster background map loaded from a tiled WMS with the pipe system as vector overlays loaded from a custom Keyhole Markup Language (KML) service. The vector data is click-able in order to show information about different parts of the pipe system. (Less)
Please use this url to cite or link to this publication:
author
Karlberg, Mårten
supervisor
organization
alternative title
Mobila kartapplikationer för Android
course
GISM01 20101
year
type
H2 - Master's Degree (Two Years)
subject
keywords
physical geography, ecosystem analysis, mobile map client, Android, WMS, KML, naturgeografi, ekosystemanalys, mobil kartklient
publication/series
LUMA-GIS Thesis
report number
13
language
English
additional info
Peter Axelsson, Digpro Solutions AB.
id
3560570
date added to LUP
2013-03-01 10:09:09
date last changed
2013-03-01 10:09:09
@misc{3560570,
  abstract     = {The fast development of computational power of the mobile phone makes it a suitable
platform for running map applications. Both public and field working professionals can
benefit from easy access to a mobile map client application with features such as route
planning, location based services and simple GIS operations. This master's thesis
describes the mobile operating system (OS) Android from a geographic information
aspect and relates it to other major mobile OS.
Available map client application programming interfaces (API) are investigated. It is
concluded that Android is a good platform choice for implementing mobile map
applications. But there is need of a generic open source API for Android. Such an API is
implemented, resulting in a good performing map client. Though it needs additional
development to perform all features aimed for in the suggested API design.},
  author       = {Karlberg, Mårten},
  keyword      = {physical geography,ecosystem analysis,mobile map client,Android,WMS,KML,naturgeografi,ekosystemanalys,mobil kartklient},
  language     = {eng},
  note         = {Student Paper},
  series       = {LUMA-GIS Thesis},
  title        = {Mobile map client API : design and implementation for Android},
  year         = {2011},
}