0% found this document useful (0 votes)
64 views36 pages

Global Positioning System (GPS) Based Location Finder On Android

This thesis presents the development of a location-finding Android application that uses augmented reality and GPS. The application tracks the user's location in real time and displays additional information about places and buildings when the user points their camera in different directions. Information is retrieved from Google databases and overlaid on the camera view. The application was created using Eclipse, Java, and Android SDK and allows users to view locations both in augmented reality and map modes. Testing showed the application successfully tracked location and displayed location-based information to enhance the user experience.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
64 views36 pages

Global Positioning System (GPS) Based Location Finder On Android

This thesis presents the development of a location-finding Android application that uses augmented reality and GPS. The application tracks the user's location in real time and displays additional information about places and buildings when the user points their camera in different directions. Information is retrieved from Google databases and overlaid on the camera view. The application was created using Eclipse, Java, and Android SDK and allows users to view locations both in augmented reality and map modes. Testing showed the application successfully tracked location and displayed location-based information to enhance the user experience.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 36

__________________________________________________________________________

Global Positioning System (GPS) Based Location Finder on


Android

Muhammad Faisal Tahir

This thesis is presented as a part of Degree of

Bachelors of Electrical Engineering with

Emphasis on Telecommunications

Blekinge institute of technology

May 2015

_________________________________________________
Blekinge Institute of Technology
Department of Applied Signal Processing
Supervisor: Muhammad Shahid
Examiner: Sven Johansson
Abstract

This thesis presents the development of an android application which has the capability of using
the concepts of augmented reality to submerge the virtual information of user’s surroundings by
detecting and tracking user’s location in real time.

Eclipse is an open source software, used in professional development of software solutions and
programming applications. It provides extensive availability of free libraries. It has been employed
for the development of software used in this thesis.

As the android GPS is notified, the application is fully location aware which keeps the track of
user’s location. When the user points the camera in a specific direction, the application
tracks the camera orientation and displays the records of a specific place. Then the
application keeps on updating the information as the direction changes.

The additional information is displayed with the help of "Google" databases. The information
when gathered is then displayed to the live feed of camera which helps the users to interact in a
more reliable way. Option for viewing the places in map view with the help of Google
Maps is also available.

Keywords: Java, Android, Database management system,

Desktop applications, Google databases, Maps


Acknowledgment
I would like to say thanks to my thesis examiner Sven Johansson. I am also much thankful to my
thesis advisor Muhammad Shahid for his encouragement and support during thesis work.

I am much thankful to my parents, family members and friends for their continuous support and
help.
TABLE OF CONTENTS

Chapter-1 Introduction ………………………………………………………………………….1

1.1 Problem Statement....................................................................................................................1

1.2 Objectives of the project...........................................................................................................1

1.3 Interface Requirement..............................................................................................................2

1.4 Features and functionality of the proposed system...................................................................3

1.5 Technology to be used…..........................................................................................................3

Chapter-2 Background………..…................................................................................................4

2.1 Android ....................................................................................................................................4

2.2 Why we chose Android............................................................................................................4

2.3 Challenges for Android.............................................................................,,..............................5

2.4 Android in future......................................................................................................................5

Chapter-3 Augmented Reality......................................................................................................6

3.1 Definition of Augmented Reality….........................................................................................6

3.2 Background..............................................................................................................................6

3.3 How is it used?..........................................................................................................................7

3.4 How does it work?....................................................................................................................8

3.5 Types of Augmented Reality ...................................................................................................8

3.6 Applications of Augmented Reality.........................................................................................9

3.7 Key Components of Augmented Reality................................................................................10

3.8 Limitation and Future of Augmented Reality..........................................................................11

Chapter-4 Features and Design……..........,................................................................................13

4.1 Feature and Design Description...............................................................................................13

4.2 Map mode…………………………………………………...………………………………14


4.3 Augmented Reality mode…………………………………………………………………....15

Chapter-5 Components and Architecture………..……………………….…………………..16

5.1 Basic Architecture for a Location-Based Application………………………….……………16

5.2 Hardware & Other Components…………………………………………….………….........17

5.3 Operating System………………………………………………………...………….……...18

5.4 Programming Language…………………………………………………………..…...........18

5.5 Environment………………………………………………………………………..…...…..18

5.6 Interface……………………………………………………………...……………...............18

5.7 Other Tools………………………………………………………………………….............18

5.8 APIs…………………………………………………………………………………………18

5.9 Android Version…………………………………………………………….……................18

Chapter-6 Methodology………………………………………………………………………...19

Chapter-7 Implementation………………………………………………………………..........20

7.1 Setting up the camera……………………………………………………………………….20

7.2 Using the On-Device GPS…………………………………………………………………..20

7.3 Sending and receiving the location data ................................................................................21

7.4 Calculating Direction and Distance between Two Points…………………………………....21

7.5 Determining the Handset Bearing………………………………………….………………..22

7.6 Marking the Target Location in the Overlay View………………………….……………….22

Chapter-8 Results and conclusion…..………………………………………………….………24

8.1 Results ………………………………………………………………………………...…….24

8.2 Conclusion …………………………………………………………..………………...…….28

Chapter-9 References.............…………………………………………........………..................29
Chapter 1
Introduction

“Global Positioning System Based Location Finder on Android "is a smart phone application
that uses location based information and concepts of augmented reality to enhance user’s
experience. Using android GPS, the application is location aware. It keeps track of the user
location in real time. Whenever user points the phone in any direction, application updates
its camera view by displaying the label tags with additional information of the buildings
and places in that respective direction. The application keeps on updating the view as the
user changes location or direction. Information for different places is extracted from the
“Google” database. All the information of the user’s location is augmented on to the user’s
reality in this case the live camera feed.

1.1 Problem Statement


The following problem statement briefly defines the boundaries and environment of this
project:

“The Development of an android application which has the capability of using

the concepts of augmented reality to submerge the virtual information of user’s

surroundings by detecting and tracking user’s location in real time.”

As the android GPS is notified, the application is fully location aware which keeps the track of
user’s location. When the user points the camera in a specific direction, the application
tracks the camera orientation and displays the records of a specific place. Then the
application keeps on updating the information as the direction changes. The additional
information is displayed with the help of "Google" databases. The information when gathered
is then displayed to the live feed of camera which helps the users to interact in a more reliable
way. Option for viewing the places in map view with the help of Google Maps is also
available.

1.2 Objectives of the project


The main features include

Option for selecting a place from a list of categories which are


ƒ Hotels
ƒ Hospitals
ƒ Shopping Centers

1
ƒ Schools, Colleges & Universities
ƒ Airports
ƒ Railway Stations
ƒ Police Stations
ƒ Petrol Pumps
ƒ Entertainment areas

Option for viewing in


ƒ Augmented Reality Mode
ƒ Map Mode

1.3 Interface Requirement


Following is the list of software, development kits and libraries which are required to develop
and test the proposed application.

o Operating System
The platform used for development of this project was Windows 7
Operating system.

o Programming Language
Java was used as development language.

o Environment
Eclipse (HELIOS)

o GUI
The GUI was designed in eclipse using XML

o Other Tools
Java JDK (Java Development Kit)
Android SDK (Software Development Kit)

o APIs

Google Maps API has also been used in the development of this application.

o Android Version
Minimum requirement for android version of our application is v. 2.3.4.

2
1.4 Features and functionality of the proposed system
The proposed application requires the use of an android Smartphone having version 2.3.4 or
above. Whenever user points the phone in any direction, application updates its camera view
by displaying the label tags with additional information of the buildings and places in that
respective direction. The basic functionality of this application is to fetch location from GPS
and send current location to some database. Then it receives the information of surrounding
places from database, and use device compass and accelerometer to set the device orientation.
This information is then fed into an algorithm that maps these coordinates on the screen.

1.5 Technology to be used


ADT Bundle (Android Development Toolkit)
Android SDK
Smartphone
Wi-Fi

3
Chapter 2
Background

2.1 Android
There is a lot of advancement in the OS (Operating Systems) since the last few decades.
When we look at the early stages of the cell phones, the black and white phones were
came into focus but with the passage of time, cell phones were pushed onto the next
level and now smart phones are particularly in focus. Mobile OS has come into horizon.
The operating systems for smart phones & tablets, there was a need of change, so after the year
2000 the OS like Android and Blackberry were urbanized. With the passage of time, among
all the greatest and widely used mobile operating systems there was android. Android Inc.
was founded in Palo Alto of California, U.S. by Andy Rubin, Rich miner, and Chris White
in early 2000. Then later on in 2005 Android was picked up by Google. With the advancement
in Android OS, numerous versions were introduced. After that there have been a number of
updates in the original version of Android [1]. Android Operating System gives the flexibility
for both (users & developers).

2.2 Why we chose Android


The Key reasons that forced us to choose Android were:

Open Platform/ Manufacturer independent

Android is not constraint to any maker, so it allows us to develop and change the
existence of original and makes us more innovative in the development process.

Rapid improvement

As the developer of Android, we have the opportunity to take the advancement to the
next level. Advancement can be in any form like the OLED display in the Android cell
phones.

Development Language options

Many mobile applications can be developed in any language like JAVA, Perl etc.

License Free

The license expenses does matter a lot, which is not noticeable in the Android
development because of its free sourcing advantage.

4
Ease in Application Development

The emulator plays an important role in the testing process of any application
made for android with the help of Android SDK (Software Development Kit).

Popularity

With more advancement in android, it has become the most popular OS of all
times as compared to others.

2.3 Challenges for Android

Hard to Integrate for Vendors

When talking about the iOS, the developers have to deal with fewer complications
in the developing process because of the fewer versions. The same is not the case
with Android applications. There are different brands in the market offering different
screen sizes and using various kinds of processors. So this makes a great deal of
opportunity for the android developers to innovate something new which can be nearly
compared to as a difficult task.

Performance Consideration

Every device has its own way of handling itself. Different brands, offering different
devices with various screen sizes and using various kinds of processors results
in performance issues.

Too Much Google Dependent

When talking about android, we automatically came to know that it is a lot in the handled
by Google. Google makes Android a bit more terms independent which makes it much
better.

2.4 Android in Future:


The future years are going to introduce Android to a greater level. The developed
applications in Android are well known by the Android users. In imminent, developers will be
in a big problem in deciding their launch of first applications. The growing Android base is
absolutely a positive factor. In other words, the Android Application Developers cannot fail to
notice the positive response that they can earn with Android based Smartphone [2].

5
Chapter 3
Augmented Reality

3.1 Definition of Augmented Reality

AR (Augmented Reality) is one of the most interesting topics of the virtual reality area. There
is a big difference between the real and the virtual reality and when these two realities merge
together at a point, it makes a mixed reality. The information which is around us plans us to
have a great deal for the users. The Augmented reality is like a grouping of the real scene viewed
by the user and a virtual scene created by the computer that augments the scene with extra
information. Extra information may include any tags, pictures, historical events etc.

Augmented Reality enhances the perception of the user, by making a better presentation of the
nearby objects. The main objective that Augmented Reality has to accomplish is that not to
make any difference between the real and virtual environment [3]. It should be in such a way
that users feel like it is actually a real scene/environment. With this, the virtual images are
merged with the real view to create the augmented display.

Not the proper implementation puts the user in a dark scene for not getting the required
information. The system generated virtual objects in form of graphics must be correctly
registered with the real world in all dimensions. These objects are meant to be maintained while
the user moves or changes the direction from place to place.

Figure1- Difference between virtual reality and augmented reality

Now, the real and the virtual environment are the two way different ends. When these two
points are meant to mix with each other at a point, it normally makes a mixed Reality.
Augmented Reality stays with the Reality end just to ensure that the reality end of the line with
the preponderate insight being the real world augmented by computer generated data.

6
3.2 Background
Augmented reality was originated and has progressed with virtual reality since the
commencement of 1950, but it got advancements in the last decade of 19th century [4].

The CAD software of Aircraft assembly design, simulation, navigation, military has used this
technology for many years. Installation and maintenance kind of complex tasks can be
simplified help in product prototypes and training can be held without being manufactured.

While augmented reality technology in itself has proved very useful in daily basis. Especially
their use in marketing than ads placed in traditional 2 -D, not only is appealing as extensive
material, resulting in an interactive, cool, savvy, and given the initial novelty - high viral
potential. Consumers love, clever marketing and respond positively to products that will be
remembered.

AR application depends on the ability of the audience. Audience through smart phones and to
limit the number of assembly, and to people interested in downloading the software.

What is certain is that the population is growing Smartphone, and it is also on the level of
processing power. More and more customers, phones, and more receptive to match future
regulation can display augmented reality, and once the software is downloaded and scan them
is their first principles - driven by curiosity.

The resulting expansion even more attractive and creative content , users actually a new and
fun twist on the usual marketing and service as go through augmented reality .

3.3 How is it used?


The hidden content augmented reality often behind the image of markers that are included in
the print media and film can be hidden until the symbol for a suitable period appears to define
in a stable position for the application and analysis. Depending on the contents, the mark may
still be visible.

In recent times it is used by advertisers, where it is popular to create a 3D representation of a


product like a car or a soccer shoe, and solve these be used as an overlay to a marker. This
allows the consumer to see a 360-degree image (more or less, sometimes the basis of the article
may be difficult to see) of the product. Depending on the quality of reinforcement, it may go so
far as to indicate the approximate size of the element, and that consumers "carry" the article,
seen through their mobile phones.

Furthermore, it can also be used to print a label and optional settings to keep them in front of a
webcam connected to a computer. To view the image of the brand and the bottom of the webcam
on the screen, so that consumers to place the cursor in places like the forehead (a mask), or
move the cursor one character in a game with control.

7
3.4 How does it work?
With a mobile app, the identification of a cell phone camera, and interprets a label, usually a
barcode image in black and white. The software analyzes the cursor in a virtual image overlay
to create on the phone screen in the camera position. This means that the application works with
the camera angle and distance phone has to be interpreted by the cursor away.

It must render the image because of the large number of calculations by phone to make an
image or model of the cursor, smartphones are often only able to support augmented reality
successfully. Phones need a camera, and data in RA are not in the app, saved good 3G
internet [5].

3.5 Types of Augmented Reality


When talking about AR, it has following types:

Projection

This is a type of AR, which is most commonly used in the line scrimmage or
the total yardage needed to be shown like a virtual view of the field in a real
environment. It is a type of augmented reality, which uses virtual imagery to augment
what you see live.

Marker Based

In this type of AR, it recognizes the shapes, faces or other objects in the real environment
to provide users with greater deal of information. Some smart phones has the ability to
recognize and read the bar codes of a product and with that bar code, additional
information like the reviews and the price of the product can also be shown.

Location Based

This variety uses the GPS for location information. This service provides the facility of
gathering the in close proximity and return additional information to the users. An
example can be like a user can use a smart phone with GPS to determine their respective
location, and then they can have some onscreen indication s augmented over a live
image and guide them towards their correct destination.

Outline

Outline is a type of AR that combines the outline of one’s body or a part of body with
virtual objects, this allows the users to mix the virtual objects to the real environment
allowing them to pick up any object or manipulate objects that do not exist in reality.

8
3.6 Applications of Augmented Reality
Applications for augmented reality are wide ranging. They are included in different areas such
as:

Direction

Direction finding applications or also known as navigation are mostly the natural
fit of augmented reality. Enhanced system like GPS is being used to make it easier for
the user to get from once point to another.

Sightseeing

There are a various applications for augmented reality in the sightseeing and for
tourism industries. The sightseeing application has been made more enthralling
with the use of augmented reality. A smart phone equipped with a camera, vacationers
can walk through any historic events and see the facts or figures overlaid on their live
camera screen.

Military

The HUD (Heads-Up Display) is the prototype of augmented reality when it


comes to military applications. Data like elevation, airspeed and the prospect line
and any other critical data can be shown in the form of a transparent display which is
directly positioning the fighter pilots view. The term "heads-up" came from the fact that
the pilot doesn't have to look down at the aircraft's instrumentation to get the data they
need.

Medical

There have been truly remarkable progresses in medical sciences application of


augmented reality. Visualizations explain obscure medical conditions to patients. AR
can minimize the risk of an operation by giving the general practitioner an enhanced
sensory acuity. AR can also be combined with the technology like MRI or X -ray
systems which can bring everything into a single view for the general practitioner.

Gaming

With the advanced progresses in computing systems and related technology,


gaming applications in augmented reality are on a peak. Many new games use the
features of Augmented Reality which makes the environment more mesmerizing and
agreeable.

Entertainment

With the reviews on Augmented Reality, the marker based augmented reality is
a great source of entertainment now days. This augmented reality category allows

9
the users to interact with certain objects on your computer screen in 3D. Other
applications may include Maintenance and Repair, Advertising and Promotion etc.

3.7 Key Components of Augmented Reality


The key concepts related to augmented reality are as follows:

Camera Data

Displaying the live feed from the Android camera is the reality in augmented
reality. The camera data is available by using the APIs available within the
android hardware Camera package.

If your application doesn’t need to analyze frame data , then starting a preview in the
normal way by using a SurfaceHolder object with the setPreviewDisplay() method
is appropriate. With this method, you’ll be able to display what the camera is recording
on the screen for use. However, if your application does need the frame data, it’s
available by calling the setPreviewCallback() method with a valid
Camera.PreviewCallback object.

Location Data

Just having the camera feed for most augmented reality applications isn’t enough.
You’ll also need to determine the location of the device (and therefore its user). To do
this, you’ll need to access fine or coarse location information, commonly accessed
through the APIs available within the android.location package, with its Location
Manager class. This way, your application can listen to location events and use
those to determine where “live” items of interest are located in relation to the device.

Sensor Data

Sensor data is often important to AR implementations. For example, knowing the


orientation of the phone is usually very useful when trying to keep data synchronized
with the camera feed.

To determine the orientation of an Android device, you’ll need to leverage the APIS
available in the android. hardware. SensorManager package. Some sensors you’re likely
to tap include:

ƒ Sensor.TYPE_MAGNETIC_FIELD
ƒ Sensor.TYPE_ACCELEROMETER
ƒ Sensor.TYPE_ROTATION_VECTOR

The use of sensors to allow the user to move the device around and see changes on the
screen in relation to it really pulls the user into applications in an immersive
fashion. When the camera feed is showing, this is critical, but in other applications,

10
such as those exploring prerecorded image data (such as with Google Sky Map or Street
View), this technique is still very useful and intuitive for users.

Bringing It Together: The Graphics Overlay

Of course, the whole point of augmented reality is to draw something over the camera
feed that, well, augments what the user is seeing live. Conceptually, this is as simple
as simply drawing something over the camera feed. How you achieve this, though, is
up to you. You could read in each frame from of the camera feed, add an overlay to it,
and draw the frame on the screen (perhaps as a Bitmap or maybe as a texture on
a 3D surface). For instance, you could leverage the android. hardware. Camera.
Preview Callback class, which allows your application to get frame-by-frame images.

Alternately, you could use a standard Surface Holder with the android hardware.
Camera object and simply draw over the top of the Surface, as needed.

Finally, what and how you draw depends upon your individual application
requirements—there are either 2D or 3D graphics APIs available on Android, most
notably the APIs within the android graphics and android opening packages.

Storing and Accessing Augmentation Data

So where does the augmentation data come from? Generally speaking, you’ll either be
getting this data from your own database, which might be stored locally or from a
database online somewhere through a web or cloud service. If you have preloaded
augmentation data on the device, you’ll likely want to use a SQLite database for quick
and easy lookups; you’ll find the SQLite APIs in the android database, SQLite package.
For web-based data, you’ll want to connect up to a web service using the normal
methods: HTTP and (usually) XML parsing.

For this, you can simply use java.net.URL class with one of the XML parsing classes,
such as the XmlPullParser class, to parse the results.

3.8 Limitations and the Future of Augmented Reality


Augmented reality still has some challenges to overcome. For example, GPS is only accurate
to within 30 feet (9 meters) and doesn't work as well indoors, although improved image
recognition technology may be able to help. People may not want to rely on their cell
phones, which have small screens on which to superimpose information. For that reason,
wearable devices like Sixth Sense or augmented reality capable contact lenses and glasses will
provide users with more convenient, expansive views of the world around them. Screen real
estate will no longer be an issue. In the near future, you may be able to play a real-time strategy
game on your computer, or you can invite a friend over, put on your AR glasses, and play on
the tabletop in front of you. There is such a thing as too much information. Just as the
"CrackBerry" phenomenon and Internet addiction are concerns, an overreliance on augmented

11
reality could mean that people are missing out on what's right in front of them. Some
people may prefer to use their AR iPhone applications rather than an experienced tour guide,
even though a tour guide may be able to offer a level of interaction, an experience and a
personal touch unavailable in a computer program. And there are times when a real plaque
on a building is preferable to a virtual one, which would be accessible only by people with
certain technologies [6].

12
Chapter 4
Features and Design

4.1 Features and Design Description


The project takes GPS plotting to the next level by enhancing the 3D interface for users.
This allows the user to view the labeled coordinated from the GPS in a more friendly way.

The interior performance of the application is something way too easy to explain. This
application not only shows the interest point in 2D map but also label these 2D points to a 3D
environment. The 3D plotting is achieved through the camera view which makes it easier for
the user to check the relevant point in the real time environment. To achieve this goal in the
real time, the label updates the camera view, fetches data from the GPS, compass and
accelerometer data is fed into an algorithm which then helps us to convert the 2D plotting to
3D. This process makes the direction finding more unproblematic.

The main features of LFA are:

Option for selecting a place from a list of categories, which are:

1. Hotels

2. Hospitals

3. Educational Areas

4. Shopping Centers

5. Airports

6. Railway Station

7. Police Station

8. Petrol Pumps

9. Entertainment areas

Option for viewing in: Figure 4.1: User Interface to select a Place

x Map Mode
x Augmented Reality Mode

13
4.2 Map mode
This option loads the Google map with annotations that display title of respective locations and
points the locations on map.

List view

It returns the places surrounding the user in the form of a list

Figure 4.2: List View

Map view

It returns the places surrounding the user in the form of map view.

Figure 4.3: Map View

14
4.3 Augmented Reality mode
This option is to have a visual form a camera that displays the information using the concepts
of Augmented Reality.

Camera View

ƒ Places are displayed in the form of red colored AR tags.


ƒ Radar at the top left corner gives information in the form of small points about the places
which are currently being displayed on the scree

Figure 4.4: Tags in Augmented Reality Mode

15
Chapter 5
Components and Architecture

5.1 Basic Architecture for a Location Based Application


ƒ The basic architecture of a location-based application involves
ƒ A simple camera view
ƒ The user’s current location
ƒ The cell phone's orientation
ƒ List of locations for items that we want to show on the display

GPS

Location data

Figure 5.1: Location UI

W E

16
5.2 Hardware & Other Components
The following stature shows the hardware & other components that we used in

Figure 5.2: Hardware & Other Components

17
ƒ The GPS is getting the current location of a user. The surrounding information is well
known to the user when the current location is identified correctly.
ƒ The Accelerometer is checking the orientation of the cell phone.
ƒ Compass is getting the NEWS information.
ƒ The camera is used by the augmented.
ƒ Reality mode to display the information on the screen.

5.3 Operating System

Windows 7 has been used as an Operating System for the making of the project.

5.4 Programming Language

Java was used as development language for this application.

5.5 Environment

Eclipse (HELIOS)

5.6 Interface

XML files were created for a GUI interface.

5.7 Other Tools

Java JDK (Java Development Kit)

Android SDK (Software Development Kit)

5.8 APIs

Google Maps API has been used for the development which plays an important role in the
application.

5.9 Android Version

Minimum requirement for android version of our application is v. 2.3.4.

18
Chapter 6
Methodology

The figure shows the basic initiative and gives a synopsis of how LFA application works.

I. Fetch location from GPS

II. Send current location to some database

III. Receive the information of surrounding places from database

IV. Use device compass and accelerometer to set the device orientation

V. This information is then fed into an algorithm that maps these coordinates on the screen

Figure 6.1:- Working Methodology

19
Chapter 7
Implementation

7.1 Setting up the camera


The first step, which has to be kept in mind is the comfortable view of the camera
while developing an Augmented Reality application. For this purpose we have to do the
following steps:

ƒ Defining the Application Screen draft


ƒ Defining a Surface view to still the Camera Content
ƒ Implementing the Surface Holder Callbacks

In these methods, we will call the camera parameters defined in the android library.

7.2 Using the On- Device GPS


For this location-based AR application, it’s crucial that we know where exactly the device
located is. And, for accuracy, we want the b est location provider which is available on
the device Applications which use any sort of location data from the device need certain
location permissions. For this purpose, there are two options available. One is to use a coarse
location that returns a location which is based on cellular towers or known as Wi -Fi access
points. This level of result works great for determining what city we are in and maybe the
locality. However, it probably won’t be able to determine which street or block you’re on
correctly. The other option is to use the fine location, which uses the GPS on the device
to get an accurate position. It may take a little longer, but uses GPS satellites and cellular
towers to increase the location accuracy [7]. Fine location data can be helpful for determining
what side of the street we are on. It’s basically the level of accuracy and exactness that is
generally used for AR apps.

So the next step here will be

Adding location permissions in the manifest file.


Listening to Location by using the Location Listener interface. It will include methods will
deal with the location data when a location is changed, setting the accuracy criteria,
requesting location updates, getting the best provider etc.

20
7.3 Sending and receiving the location data
The process for sending and receiving of data would be as follows;

– The location data (latitude/longitude) received in the previous step is then sent to
some online database, in our case, Google data base.

– From there we then receive the information of all the places that are in the surroundings
of the user in a certain format. In our case the format is known as JSON.

– The JSON format is then read by a JSON handler class that deals with this process.

– The surrounding location data is then stored in the form of arrays after being received.

– The data received may have information like the title, address, vicinity, phone number.

7.4 Calculating Direction and Distance between Two Points

We are interested in is the direction to the object relative to the device. In navigation, this is
called the bearing. A path between two points on a spherical object, such as the planet Earth, is
shortest by following what’s called the great-circle distance. In using AR techniques, to find a
location or display where some fixed object might be in relation to our location, this would be
reasonable distance mechanism to use. As we get closer, the bearing might change, but we
would still be following the shortest route to that location.

An alternate solution might be to calculate a straight line, in 3D space, between two points on
the sphere. This method assumes that a path through the sphere, as opposed to around
its surface, but this method is not in the least useful.

We have used the great circle distance to calculate the distance. It can be found out by using
Haversine formula. The said formula is used to calculate the distance between two points on a
sphere from their latitudes and longitudes.

21
We need to get distance and bearing because ultimately we want the locations to be
determined from a database or feed. We can then filter relevant objects to display on the view
by distance.

7.5 Determining the Handset Bearing


Now that we can determine the bearing to a target, we need to know which direction
the phone is pointed. For this purpose we will use the phone’s compass. So we need to convert
the data into a format that tells us which way the phone is pointing.

This requires taking into account the orientation of the device, which uses a combination of the
accelerometer and compass. The end result will be a vector with rotation angles around each of
the 3 axes. This precisely orients the device with respect to the planet which is exactly
what we want.

The first method we can use is located in the SensorManager class: getOrientation().

This method takes a rotation matrix and returns a vector with azimuth, pitch, and roll values.
The azimuth value is rotation around the Z-axis and the Z-axis is that which points straight
down to the center of the planet. The roll value is the rotation around the Y-axis, where the Y-
axis is tangential to the planetary sphere and points towards geomagnetic North. The pitch value
is the rotation around the X-axis, which is the vector product of the Z-axis and Y-axis –it points
to what could be called magnetic West.

Rotation matrix can be called by method i.e. getRotationMatrix(). It takes in the


accelerometer vector and compass vector.

22
Remap the rotation matrix so that the camera is pointed along the positive direction of the Y
axis, before calculating the orientation vector.

7.6 - Marking the Target Location in the Overlay View

Now we have all of the information needed to place the target on the screen: the direction the
camera is facing and the location of the target relative to our location. We currently have two
vectors: the camera orientation and the bearing to the target. What we need to do is map the
screen to a range of rotation values, and then plot the target point on the View when
its location is within the field of view of the camera image as displayed on the screen.

– The orientation vector starts out with the azimuth, or the rotation around the Z-axis, which
point straight down.

– With the Y-axis pointing to Geomagnetic North, the azimuth will be compared to our bearing
and this will determine how far left or right the target is on the screen.

– Similarly, the pitch is used to determine how far up or down the target should be
drawn on the screen.

– Finally, the roll would change the virtual horizon that might show on the screen; that is, this
would be the total screen rotation.

The Camera Parameters class can provide the field of view of the device camera, as
configured by the manufacturer. Now we can apply the appropriate rotation and translation to
place the target point correctly, relative to the screen and field of view of the camera. Basically,
what we do is rotate by the roll value; translate up and down by the pitch value, and then draw
a horizon line. Then the azimuth is used for left or right translation of the field of view and the
location is drawn where expected.

23
Chapter 8
Results and Conclusions

8.1 Results
Augmented Reality:

The snapshot shows the "Hotels/Restaurants" search in Augmented Reality Mode.

Figure 8.1:- An example of hotels search

24
The snapshot shows the "Hospital" search in Augmented Reality Mode.

Figure 8.2:- An example of hospitals search

The snapshot shows the "Petrol Pumps" search in Augmented Reality Mode.

Map Mode:
The snapshot shows the "Universities" search

in map mode.

Figure 8.3:- An example of Fueling stations search

25
The snapshot shows the "Colleges" search in Map Mode.

Figure 8.4:- An example of Colleges search

The snapshot shows the "Hospitals" search in Map Mode.

Figure 8.5:- An example of hospitals search

26
List View:
The snapshot shows the "Hospitals" search in List View. List view can be seen by the Option
Button in android smart phone.

Figure 8.6:- An example of hospitals search

27
8.2 Conclusion
This application being a consumer based product, aimed at enhancing the user
experience. The designed application uses the concepts of augmented reality and
Android phone’s sensor data to achieve 3-D registration in real time. All information is
engrossed on live camera feed. Augmented Reality is more supportive for getting some
additional information. This information is then displayed on Smartphone's screen to get
the required response depending on the type of query given. The 3-D representation is more
likely appreciated which helps the user to get to a specific place. In Augmented Reality
mode, the places are assigned with a tag [8]. Those tags are then shown when a user directs
a camera in a specific direction.

28
Chapter 9
References

1. ACM Human Computer in Computing Systems conference (CHI'95) in the conference


companion, pages 210-211.

2. Proceedings of the 2nd IEEE and ACM International Workshop on Augmented Reality ‘99,
pp.85-94, October 20-21, 1999 San Francisco

3. Interaction Laboratory Sony Computer Science Laboratories, Inc.3-14-13, Higashi


Gotanda, Shinagawa-ku, Tokyo 141-0022 Japan

4. Wendy E. Mackay, Anne-&am-e Fayard, Laurent Frobert and Lionel Mtfdini Centre
d’Etudes de la Navigation Atkienne Orly Sud 205 94542 ORLY AEROGARES FRANCE

5. Billinghurst, M., Kato, H., & Poupyrev, I. (2001). The MagicBook –Moving seamlessly
between reality and virtuality. IEEE Computer Graphics and Applications, 21(3), 6-8.

6. http://www.howstuffworks.com/augmented-reality.htm

7. http://developer.android.com/guide/topics/location/index.html

8. http://onvert.com/guides/what-is-augmented reality/#sthash.8nLqcQ6x.dpuf

29

You might also like