7
GEOENGINE - MSc in Geomatics Engineering, Master Thesis Run SHI Master Thesis Run SHI Run SHI Development of a Mobile Campus Information System Duration of the Thesis: 6 months Completion: June, 2013 Supervisor: Dr.-Ing. Volker Walter Examiner: Dr.-Ing. Volker Walter Background Smartphones are highly integrated devices with basic mobile functions, high-speed Internet surfing, photo taking, media playing and many more. The wide selection of third-party applications enriches the functions of smartphones. Most location-based applications apply GPS to acquire location data and the location information is used for navigation, finding POI (Place of Interest) and geocoding. To develop a location-based application, different APIs (Application Programming Interface) are available, such as Google Maps API, ArcGIS Runtime SDK, Microsoft Bing Map SDK and OSMDroid. Among these, the first two APIs are mostly used because they have the most searching results in Google Search. It is very interesting to understand how to develop a location-based application on mobile phones and to evaluate developing experience of different APIs. Objective Owing to the fact that Android is open source and has the biggest market share (Gartner 2013), it is chosen as the operating system for developing mobile applications. Moreover, some of the existing APIs for programmers to develop a LBS application are: Google Maps API, ArcGIS Runtime SDK, Microsoft Bing Map SDK and OSMDroid. Since the first two APIs are the mostly used, they are adopted to develop the application. In addition, the LBS application is a campus information system which assists users, especially new students, to get familiar with the campus site Stadtmitte, Univeristy Stuttgart, Germany. In summary, the objective of the thesis is to develop a campus information system on Android with both Google Maps API and ArcGIS Runtime SDK and a comparison is made from the perspective of both functionality and developing experience.

Development of a Mobile Campus Information System...Development of a Mobile Campus Information System Duration of the Thesis: 6 months Completion: June, 2013 Supervisor: Dr.-Ing. Volker

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Development of a Mobile Campus Information System...Development of a Mobile Campus Information System Duration of the Thesis: 6 months Completion: June, 2013 Supervisor: Dr.-Ing. Volker

GEOENGINE - MSc in Geomatics Engineering, Master Thesis Run SHI

Master Thesis Run SHI

Run SHI

Development of a Mobile Campus Information System

Duration of the Thesis: 6 months

Completion: June, 2013

Supervisor: Dr.-Ing. Volker Walter

Examiner: Dr.-Ing. Volker Walter

Background

Smartphones are highly integrated devices with basic mobile functions, high-speed

Internet surfing, photo taking, media playing and many more. The wide selection of

third-party applications enriches the functions of smartphones. Most location-based

applications apply GPS to acquire location data and the location information is used

for navigation, finding POI (Place of Interest) and geocoding. To develop a

location-based application, different APIs (Application Programming Interface) are

available, such as Google Maps API, ArcGIS Runtime SDK, Microsoft Bing Map

SDK and OSMDroid. Among these, the first two APIs are mostly used because they

have the most searching results in Google Search. It is very interesting to understand

how to develop a location-based application on mobile phones and to evaluate

developing experience of different APIs.

Objective

Owing to the fact that Android is open source and has the biggest market share

(Gartner 2013), it is chosen as the operating system for developing mobile

applications. Moreover, some of the existing APIs for programmers to develop a LBS

application are: Google Maps API, ArcGIS Runtime SDK, Microsoft Bing Map SDK

and OSMDroid. Since the first two APIs are the mostly used, they are adopted to

develop the application. In addition, the LBS application is a campus information

system which assists users, especially new students, to get familiar with the campus

site “Stadtmitte, Univeristy Stuttgart, Germany”.

In summary, the objective of the thesis is to develop a campus information system on

Android with both Google Maps API and ArcGIS Runtime SDK and a comparison is

made from the perspective of both functionality and developing experience.

Page 2: Development of a Mobile Campus Information System...Development of a Mobile Campus Information System Duration of the Thesis: 6 months Completion: June, 2013 Supervisor: Dr.-Ing. Volker

GEOENGINE - MSc in Geomatics Engineering, Master Thesis Run SHI

Implementation

This campus information system is developed for Android phones to present Campus

Stadtmitte of University Stuttgart. It has functions of positioning, routing, showing

GPS information and important building information.

Developed in Java language, the application is implemented by two different

Application Programming Interfaces (APIs), Google Maps API for Android and

ArcGIS Runtime SDK for Android, in order to compare their pros and cons.

Development environment:

Operating System: Windows 7 Ultimate, 64-bit

IDE: Eclipse Helios and Android SDK

API: Google Maps API for Android v2

ArcGIS Runtime SDK for Android v10.1.1

1 Displaying the Map

To display a map, Google Maps API requires a key while ArcGIS Runtime SDK does

not. At the same time, ArcGIS Runtime SDK has a wider selection of map resources.

Developers can use not only online maps (ArcGIS online, ArcGIS server), but ArcGIS

portal of users as well. That is to say, the developer can use maps he created in

ArcGIS Desktop in Android application, which helps the application have a clearer

aim. For instance, if an application is aimed for people to find the nearest health care

facility such as hospitals, pharmacies, or clinics, a thematic map emphasizing both on

road features and health care features is better than common base maps.

2 Positioning

Android SDK provide a class named LocationManager to access system location

services. It can update periodically the device’s geographical location. If the

application has the coarse permission only, then GPS services or other passive

location services are no longer available. Position can still be acquired, but is updated

less frequently with less accuracy.

3 Routing

Google Maps API Approach

Routing in the Campus Information System applies Google Navigator. The core code

to fire up Google Navigator is as follows:

Intent intent = new Intent(android.content.Intent.ACTION_VIEW,

Page 3: Development of a Mobile Campus Information System...Development of a Mobile Campus Information System Duration of the Thesis: 6 months Completion: June, 2013 Supervisor: Dr.-Ing. Volker

GEOENGINE - MSc in Geomatics Engineering, Master Thesis Run SHI

Uri.parse("http://maps.google.com/maps?saddr=<" + lat + ">,<" + lon +

">&daddr=<" + lat_k1 + ">,<" + lon_k1 + ">"));

startActivity(intent);

In the code above, “lat” and “lon” are WGS84 coordinates of the user’s current

location, updated in real-time. Parameters “lat_k1” and “lon_k1” are coordinates of

the destination, in this case, building K1. This code shows the routing from current

location to building K1. Figure 1 shows the driving direction of current location to

Mensa in campus. Once the direction result is viewed by the user, he can switch back

to Campus Information System by pressing “back” button beneath the phone screen

and exiting Google Navigator.

Figure 1 Driving direction from current location to Mensa

ArcGIS Runtime SDK Approach

In the example downloaded from ESRI, starting point of routing is current location of

the device and ending point is the location chosen by the user designated by a long

press of the screen. Unfortunately, the example does not work on Sony Xepria U or

HTC Wildfire. The error message is shown in Figure 2. If run in debug mode, it could

be found that both coordinates for starting and ending points are stored in variables.

The exception happens with the creating of routing task.

Page 4: Development of a Mobile Campus Information System...Development of a Mobile Campus Information System Duration of the Thesis: 6 months Completion: June, 2013 Supervisor: Dr.-Ing. Volker

GEOENGINE - MSc in Geomatics Engineering, Master Thesis Run SHI

Figure 2 Error message of routing

4 Displaying Satellite Information

Android SDK provides a public static interface GpsStatusListener to report current

state of GPS. The method onGpsStatusChanged (int event) should be called in

MainActivity to report changes in GPS status. LocationManager has a getGpsStatus( )

function to acquire GPS status. There are four statuses in total:

GPS_EVENT_STARTED: GPS has started.

GPS_EVENT_STOPPED: GPS has stopped.

GPS_EVENT_FIRST_FIX: GPS has received its first fix. Function

getTimeToFirstFix() acquires the time to receive first fix from starting.

GPS_EVENT_SATELLITE_STATUS: GPS has functioned periodically and

function getSatellites( ) can be called to find the status of each satellite.

Figure 3 shows the information displayed on the device screen.

Page 5: Development of a Mobile Campus Information System...Development of a Mobile Campus Information System Duration of the Thesis: 6 months Completion: June, 2013 Supervisor: Dr.-Ing. Volker

GEOENGINE - MSc in Geomatics Engineering, Master Thesis Run SHI

Figure 3 GPS information

5 Displaying Relevant Information

Google Maps API Approach

To display information of at certain location when touched, Google Maps API

provides two methods: OverlayItem and Markers. In Campus Information System,

OverlayItem is adopted considering it is built on MapView structure.

Building information is displayed as in Figure 4.

Figure 4 Displaying building information

6.5.2 ArcGIS Runtime SDK Approach

The concept of features and layers are applied in ArcGIS Runtime SDK, as in other

Page 6: Development of a Mobile Campus Information System...Development of a Mobile Campus Information System Duration of the Thesis: 6 months Completion: June, 2013 Supervisor: Dr.-Ing. Volker

GEOENGINE - MSc in Geomatics Engineering, Master Thesis Run SHI

products of Esri. In the Campus Information System, each building is created as a

feature and added to a new layer. The information necessary for displaying are stored

as attributes of the building. Furthermore, ArcGIS Runtime SDK offers the method of

“callout” to display information.

Figure 5 is the information window tapped by the user.

Figure 5 Building information

Conclusion

Below is a summary table of comparison.

Table 1 comparison between two methods

Google Maps API ArcGIS Runtime SDK

Functions Map display Requires API key Does not require key

Map resource Google Maps Maps from ArcGIS

Online, ArcGIS Portal

of users, ArcGIS

Server

Routing Apply Google

Navigator

Not applicable

Information Display Overlay method Feature and layer

method

Network Analysis No Yes

Support Official Tutorial Requires developing

experience

Requires developing

experience

Official Example No Yes

Online Help Many posts and blogs Very few information

Updates 4 updates since Dec

2012

5 updates since Dec

2011

Page 7: Development of a Mobile Campus Information System...Development of a Mobile Campus Information System Duration of the Thesis: 6 months Completion: June, 2013 Supervisor: Dr.-Ing. Volker

GEOENGINE - MSc in Geomatics Engineering, Master Thesis Run SHI

In short, ArcGIS Runtime SDK has a more powerful functionality, considering its rich

map resource and network analysis service. But the developing experience with

Google Maps API is definitely better. As a new and fast developing technology,

implementing applications on Android may meet many problems and errors.

Therefore, articles and problems discussed by other developers on the Internet

contribute a lot to solving problems.

From my point of view, Google Maps API is more suitable to develop location based

application for daily uses, such as finding the nearest restaurant or supermarket, while

ArcGIS Runtime SDK is more appropriate to implement applications for professional

GIS people. For instance, GIS people wants to investigate land use in an area and it is

necessary for them to go out and record the use of each land polygon. Computers are

too big to carry and an application on Android will solve the problem. They can edit

the attributes of land polygons, adding or deleting features according to the land in

reality, or even do some simple analysis on the phone. In summary, both Google Maps

API and ArcGIS Runtime SDK can develop location based applications on Android.

The choice to apply which method depends on the aim the application, as well as the

consideration of developing experience.

Reference

(Mari 2013) Marcello Mari. Top global smartphone apps, who’s in the top 10.

GlobalWebIndex. Aug. 2nd 2013. Available at :

https://www.globalwebindex.net/Top-global-smartphone-apps.

(Gartner 2013) Gartner. Gartner Says Asia/Pacific Led Worldwide Mobile Phone

Sales to Growth in First Quarter of 2013. Gartner Newsroom. May 14th 2013.

Available at

http://www.gartner.com/newsroom/id/2482816

(FCC 2005) Federal Communication Commission. FCC Amended Report to Congress

on the Deployment of E-911 Phase II Services by Tier III Service Providers. April 1st

2005. p1.

(Karimi, Hammad 2004) Hassan A. Karimi, Amin Hammad. Telegeoinformatics:

location-based computing and services. US. CRC Press. 2004. 171-172.

(Brewer 2009) Charles W.G. Brewer. How effective can GSM signals, using DCM, be

as an aid to coastal navigation. The Plymouth Student Scientist. 2009, 2, (2). 170-198