design and implementation of an ipad web application...
TRANSCRIPT
Design and Implementation of an iPad Web Application for Indoor-Outdoor
Navigation and Tracking Locations
Master’s Thesis, Department of Surveying and Planning,
School of Engineering, Aalto University
Espoo, 13 February 2012
Muhammad Usman
Bachelor of Science in Technology Computer Systems Engineering
Supervisor: Professor Kirsi-Kanerva Virrantaus
Instructor: Lic.Sc. (Tech) Jussi Nikander
ii
AALTO UNIVERSITY
SCHOOL OF ENGINEERING
PO Box 11000, FI-00076 AALTO
http://www.aalto.fi
ABSTRACT OF THE MASTER’S THESIS
Author: Muhammad Usman
Title: Design and Implementation of an iPad Web Application for Indoor-Outdoor
Navigation and Tracking Locations
School: School of Engineering
Department: Department of Surveying and Planning
Professorship: Cartography and Geoinformatics Code: Maa-123
Supervisor: Professor Kirsi Virrantaus
Instructor(s): Lic.Sc. (Tech.) Jussi Nikander
The purpose of this thesis is to develop an iPad application as part of Otaniemi Open
Project. The application helps new visitors in positioning and navigating both indoor and
outdoor in Otaniemi campus of Aalto University. In addition to the main features
(positioning and navigation), the application also assists users manipulating calendar’s
scheduled events spatially.
A variety of related technologies and methods have been studied to select the best suitable
ones for developing the application. The technologies studied basically provide information
about comparing different positioning techniques and that how they can be used while
considering different factors like accuracy, precision and finances available.
The application’s user interface is developed using the open web standards like JavaScript,
Hyper Text Markup Language (HTML) and Cascading Style Sheets (CSS). The web
frameworks used are PhoneGap, OpenLayers and Sencha Touch. The background maps
used are Bing Maps and Open Street Map, the user can switch between the two maps.
The indoor routing maps of the buildings are overlaid upon the respective buildings in Bing
Maps and Open Street Map. The path generated from one place to another is shown
graphically in the foreground of the application. The process of generating the indoor maps
involves much manual work but the future goal is to automate the whole process.
Date: 13.02.2012 Language: English Number of pages: 53
Keywords: Navigation, Positioning, Location Based Services, Routing, Tracking
iv
Acknowledgements
I am very thankful to Professor Kirsi Virrantaus, whom did not only supervise my thesis
but also supported the finances of my thesis and provided me a work environment.
Moreover, she guided me to a right direction in research related situations and broadened
my knowledge in the area. It has been an amazing experience for me working in a group of
people (Geomatics Research Group) where diverse knowledge has always been shared,
thus I learned a lot here.
I am very grateful to Lic.Sc. (Tech.) Jussi Nikander who instructed my thesis very well
both practically and theoretically. He never refused my help even when he was busy
writing his own PhD thesis and had a limited time to complete it.
I would like to thank Juha Järvi for his invaluable support and patience throughout this
thesis. I learned a lot from his school of thoughts and his experiences in diverse topics.
I am thankful to all my colleagues especially Xabier Eraña for being a pleasant company
throughout and providing me moral support in times I needed it.
Last but not least, I am thankful to my family for understanding me in different situations
and never stopped praying for my success.
Espoo, February 2011
Muhammad Usman
v
Table of Contents
List of Figures .................................................................................................................... vii
List of Tables .................................................................................................................... viii
Table of abbreviations and acronyms ............................................................................... ix
Terminologies ....................................................................................................................... x
Chapter 1 .............................................................................................................................. 1
Introduction .......................................................................................................................... 1 1.1 Motivation and goals ................................................................................................................. 1 1.2 Thesis Contents ........................................................................................................................... 5 1.3 Scope and Objectives ................................................................................................................. 5 1.4 Research Questions ................................................................................................................... 6 1.5 Design Overview ......................................................................................................................... 7
Chapter 2 .............................................................................................................................. 9
Background Information .................................................................................................... 9 2.1 Existing Positioning Systems .................................................................................................. 9 2.2 Outdoors Location Based Services ....................................................................................... 9
2.2.1 GPS, A-GPS, GLONASS, Galileo ...................................................................................................... 9 2.3 Indoors Location Based Services ....................................................................................... 11
2.3.1 WLAN based positioning .............................................................................................................. 11 2.3.2 The Cricket Location Support and Active Bat systems .................................................... 13 2.3.3 Quick Response (QR) codes based positioning ................................................................... 13 2.3.4 Radio Frequency Identification (RFID) based positioning ............................................ 14
2.4 Positioning Techniques ......................................................................................................... 16 2.4.1 Triangulation .................................................................................................................................... 17 2.4.2 Time of Arrival ................................................................................................................................. 17
2.5 Tracking Spatial Location ..................................................................................................... 19 2.6 Handheld devices for LBS ..................................................................................................... 20
2.6.1 Apple iOS............................................................................................................................................. 21 2.6.2 Android ................................................................................................................................................ 22 2.6.3 Blackberry .......................................................................................................................................... 22
2.7 Chapter Summary .................................................................................................................... 23
Chapter 3 ............................................................................................................................ 24
Processing Spatial Information ........................................................................................ 24 3.1 Requirements ........................................................................................................................... 24 3.2 Map Generation and Representation ............................................................................... 25
3.2.1 Map Generation Process ................................................................................................................... 26 3.2.3 Database .............................................................................................................................................. 30 3.2.4 Labeling .............................................................................................................................................. 30 3.2.5 Data Presentation............................................................................................................................ 30 3.2.6 Floor Plan Overlay on top of Background Map ................................................................... 32
3.3 Chapter Summary .................................................................................................................... 34
Chapter 4 ............................................................................................................................ 35
CombinedIndoorOutdoorNavigator ................................................................................ 35 4.1 Design .......................................................................................................................................... 35 4.2 User Interface ........................................................................................................................... 37
4.2.1 Map Screen ......................................................................................................................................... 37 4.2.2 Track my Friends ............................................................................................................................ 39 4.2.3 Calendar Screen ............................................................................................................................... 39 Use Case 1: Locate yourself ........................................................................................................................ 41 Use Case 2: Find directions ........................................................................................................................ 41
vi Use Case 3: Track friends ............................................................................................................................ 41 Use Case 4: View calendar appointments by location ..................................................................... 42
4.4 Algorithm ................................................................................................................................... 44 4.4.1 Route Planning ................................................................................................................................. 44
4.5 Chapter Summary .................................................................................................................... 47
Chapter 5 ............................................................................................................................ 48
Conclusions and Future Work .......................................................................................... 48
Bibliography ....................................................................................................................... 49
vii
List of Figures
Figure 1 Accuracy vs. Precision (Stook, 2011) ................................................................. xi Figure 2 Home Screen of the Application ............................................................................. 4 Figure 4 WLAN based positioning ...................................................................................... 12 Figure 5 A user is taking a snapshot of a mounted QR code to locate his/her current
location ......................................................................................................................... 14 Figure 6 Passive RFID based positioning (Ting, Kwok, Tsang and Ho, 2011) .................. 16 Figure 7 Positioning using Time of Arrival technique (Le, Sargas, and Webb, 2009) ....... 18 Figure 8 Route Map generation process .............................................................................. 27 Figure 9 Floor plan after processing with Adobe Illustrator ................................................ 28 Figure 10 Navigation Graph ................................................................................................ 29 Figure 11 Routing map shown in JOSM ............................................................................. 31 Figure 12 Routing map after overlaying on Bing map ........................................................ 33 Figure 13 iPad 2 Home screen ............................................................................................. 36 Figure 14 Map Screen of the application ............................................................................. 38 Figure 15 Application's calendar screen .............................................................................. 40 Figure 16 A calendar event shown on the map .................................................................... 43 Figure 17 Path generated by the application for indoor navigation ..................................... 46
viii
List of Tables
Table 1 Abbreviations and acronyms ................................................................................... ix Table 2 An overview of some common positioning technologies ....................................... 19
ix
Table of abbreviations and acronyms
Table 1 Abbreviations and acronyms
AGPS Assisted Global Positioning System
AOA Angle Of Arrival
API Application Programming Interface
BST Base Station Transmitter
CAD Computer Aided Design
GIS Geographical Information System
GLONASS Global Navigation Satellite System
GPS Global Positioning Systems JS JavaScript
JOSM Java Open Street Map JSON JavaScript Object Notation
LBS Location Based Service LOS Line Of Sight OS Operating System
OSM Open Street Map
MS Mobile Station
QR Quick Response RF Radio Frequency
RFID Radio Frequency Identifier RSS Received Signal Strength SQL Structured Query Language TOA Time Of Arrival Wi-Fi Wireless Fidelity WLAN Wireless Local Area Network
XML Extensible Markup Language
x
Terminologies
Positioning vs. Localization
In (Lecture on Sensor Networks, 2011) Heanselmann has differentiated the two
terminologies the following way:
- Positioning means to determine global or absolute coordinates of an object.
- Localization means to determine relative or local coordinates of an object.
The terms defined above have been used interchangeably throughout in this thesis.
Precision vs. Accuracy
In the work of (Streiner and Norman, 2005) the two terms are defined as follows:
- “Precision is the degree of obtaining a score on first turn repeats on a second
term”. It means how close a number of certain inputs are to one another under the
same conditions.
- “Accuracy is the degree of obtaining a score close to the actual score.”
The two terms are also differentiated explicitly in Figure 1, where the big red point shows
the actual location of an object and the small brown points show the Global Navigation
Satellite System (GPS) values. The four scenarios in this case represent very well the
relation between accuracy and precision.
1
Chapter 1
Introduction
1.1 Motivation and goals
Technology and research based on Location Based Services (LBSs) (Wang, Min and Yo,
2008) have been in full swing for the last few years. Smart phones, nowadays, are capable of
providing location-based information on the fly by using a variety of sensor techniques like
GPS, Wi-Fi, and Bluetooth (Xiang, Song, Chen and Wang, 2004, Weyn, Maarten, Sxhrooyen
and Frederick, 2008, Ahamed, 2008). In addition, they also have their own built-in embedded
sensors such as accelerometer and compass, which can be used for navigation purposes.
Built-in cell phone cameras on the other hand can be used for positioning using different
techniques, for example, taking photos of mounted bar codes (Ruppel and Gschwandtner,
2009).
Presently, services like Google maps for smart phones are playing a vital role in LBS. Other
LBSs services like Google Latitude are also quite widespread for tracking friends’ spatial
location remotely. Services like Google maps and Google Latitude are developed to help
users in outdoor LBSs using GPS.
During the past few years more advancements have been achieved in outdoor LBS than in
indoor. Indoor LBSs are now becoming as popular as outdoor LBSs because people often
loose directions inside unfamiliar and large buildings. Indoor spatial location information can
be used to cope with emergency situations like earthquakes, fire fighting and certain other
rescue operations. This is the reason, that indoor location information should be more
accurate and up to date. Besides this, a highly sophisticated and error-free infrastructure is
needed to establish indoor LBS.
GPS does not work inside buildings directly because GPS signals do not penetrate through
roofs and walls. Even in dense areas GPS provides its services with low accuracy due to
interference and Line Of Sight (LOS) problems (Stook, 2011). Indoor LBSs are not
dependent on GPS and these services are provided through a variety of techniques. The
infrastructure for indoor LBSs varies from building to building. On the basis of factors like
accuracy, implementation cost and reliability, an infrastructure for indoor LBSs is established
depending upon the user requirements (Miu, 2002, Xiang, Song, Chen and Wang, 2004, Le,
Sargas and Webb, 2009, Weyn, Maarten, Sxhrooyen and Frederick, 2008). Based on these
2
factors, one of the or even a combination of the existing sensor technologies is used for
indoor LBSs.
To be out of curiosity, people often want to locate their friends remotely and track their
movement from place to place. Mobile phones nowadays include these kinds of features that
allow them to see their friends’ geographical location remotely. Such applications can be
useful for schools, military purposes, tourism and rescue operations.
People schedule appointments in their daily routines and save those in their personal calendar
for a reminder. A scheduled event often contains information about the day, venue and time.
The venue or location information is of more interest in here. The location information
entered in to the calendar can be seen as spatial graphics in the application. This feature helps
user because just by looking at the map, the user gets to know about the upcoming
appointments he/she has. The user can see the exact place where an appointment is
scheduled, and thus the user does not have to search for a place in a separate map.
The motivation of this thesis is 1) to study the existing sensor techniques for positioning and
to choose one for this prototype, which is more accurate and less-expensive, 2) the precise
indoor navigation and 3) to see how visually better the spatial data is presented temporally on
a mobile map.
The goal of this thesis is to design and implement a prototype smart phone application that is
capable of indoor and outdoor LBSs called CombinedIndoorOutdoorNavigator for Otaniemi
Campus of Aalto University as part of Otaniemi Open project. The prototype is developed
using the combined effort of three web developers in total. The introduction and referral to
each work is as follows:
1) Muhammad Usman
Master degree student Aalto University
The role was to study and compare the background technologies and to choose the
best suitable technologies for this project. The other role was to develop the user
interface for the application and implement a few features like searching a building by
its name and positioning.
2) Juha Järvi
Master degree student Aalto University
The role in the project was to produce the indoor navigation map for navigation and
overlay it on the background map used.
3) Mingfing yu
Master degree student Aalto University
The role in the project was to develop the calendar and synchronize it with the
background map of the application.
3
The developed application is considered to be useful for people who are unaware of the
geography of Otaniemi. The new Aalto University which was found in January 2011, is a
merge of three different other universities. This will bring an increasing amount of new
visitors and more students to Otaniemi Campus of Aalto University.
The architecture and the master plans of Otaniemi are complicated to navigate for new
comers. Moreover, the street addresses of different buildings do not help in guiding new
visitors. The application contains features like, indoor positioning and navigation, tracking
friends’ location in real time and observing the application’s calendar data spatially on top of
the background map used. The OSM (OpenStreetMap community, 2011) and Bing Map are
used as base maps in the application because both the services provide more detailed
information about the test area of the application and has also primitive support for indoor
LBSs (Indoor Mapping, 2011).
The development platform used for this prototype is iOS but can also be extended to Android
and Blackberry in future. Figure 2 shows the main screen of the application, which has Bing
Maps as the base map with certain other layers on top of it and has initial view of Otaniemi
that is the test area of the thesis.
The initial focus of the prototype is to include only the most common buildings in Otaniemi
campus of Aalto University. Later on, the aim is to expand it further to cover the whole
Otaniemi campus.
5
1.2 Thesis Contents The chapter-wise structure of the rest of the thesis is described here. Chapter 2 discusses the
related technologies to this prototype. Chapter 3 explains the techniques and methods used
for making the routing maps and the overlay process of these routing maps on top of the
background map. Chapter 4 contains information about the uses cases, the user-interface and
the implementation of the application. Chapter 5 concludes this thesis and also discusses the
limitations and the problems faced in this application. This chapter also explains briefly the
future goals of this project.
1.3 Scope and Objectives
The research done here describes the potential technologies in the field of location-based
services. One of the main objectives of this research is to select and apply the appropriate
technologies for CombinedIndoorOutdoorNavigator. The selected technologies are evaluated
in terms of deployment cost, accuracy, performance and usability. The area of outdoor LBSs
has already been much researched and is still under research (Salimin and Hosio, 2006,
Ahamed, 2008). GPS has revolutionized the world with its amazing services for outdoor
positioning and navigation. During the recent past, people also tend to get interested in
applications for indoor navigation and positioning. One reason is the size and complexity of
the buildings.
There is an enormous difference between the indoor navigation-positioning systems and
outdoor navigation-positioning system (Miu, 2002). For example, positioning in indoor
environments can be done using several technologies (Xiang, Song, Chen and Wang, 2004,
Weyn, Maarten, Sxhrooyen and Frederick, 2008), which are different from the positioning
technologies used in GPS or other outdoor positioning systems (Salminen and Hosio, 2006).
Not only the positioning techniques cause the difference between indoor and outdoor LBSs
but navigation techniques as well. For instance, there is always a predefined infrastructure of
roads where vehicles can navigate and they have to use only those lines, but in indoor
environments people can move freely which means that completely different techniques
could be used for routing in the two environments (Miu, 2002). The other difference is the
availability of data for the two environments. Data for roads network of a certain region
could be accessed using different online or offline sources but getting the architectural plans
of particular buildings (private and public) have its own conditions of availability and are not
available publically. The level of accuracy and precision for outdoor positioning is different
than the indoor positioning. Positioning objects indoors should be more accurate than the
objects located outside. The positioning accuracy within 5-8 meters range is usually all right
for user in open environments but is insufficient for those who are indoors.
6
This prototype is developed on the basis of three main objectives. The first objective of this
thesis is to study different indoor positioning techniques and compare them, in order to find
the most suitable one for this prototype. The criterion of suitability is evaluated in terms of
accuracy and the cost for installing the infrastructure. The second objective is to synchronize
the application’s calendar data with the application’s map. The third objective is to program a
routing algorithm that guides users from their origin/current location to a destination they are
interested in. The last objective of this prototype is the capability of tracking people locations
in real time. This feature is implemented by keeping the privacy issue in notice. Both the
parties, the trackers and the people to be tracked, should agree beforehand on certain privacy
terms.
The scope of this prototype is limited to the QR codes positioning technology, showing
calendar’s data spatially and its services for indoor navigation. Anything beyond these will
not be discussed here such as the deployment and distribution plans, privacy issues and
commercialization of the application.
1.4 Research Questions
On the basis of the contents described in the previous sections of this chapter, three research
questions have been derived to answer in this thesis.
The first research question is to see the possibility of developing an application for an iPad,
which uses only QR codes technology for positioning users inside buildings. Furthermore the
primary research question above is subdivided secondary parts, they look like this:
- Why is it chosen
- How does a QR code work for indoor positioning
- How feasible they are from users’ perspective
- What are the limitations
The second research question is how to represent calendar data/events spatially on top of a
background map. In Geographical Information System (GIS) perspective, it means to
represent calendar’s events on the their respective geographical locations in a map. In our
system we had represented the calendar events on OSM keeping the user interface in mind.
This thesis argues on how to represent the temporal data spatially in terms of selecting
markers, colors and how do the users interact with them.
The third research question is to evaluate different methodologies for tracking peoples’
locations feature in a mobile phone based on a certain privacy agreement between the
trackers and the person who is to be tracked.
7
1.5 Design Overview CombinedIndoorOutdoorNavigator is an application that runs on an iPad and is capable of
being used for navigation and positioning purposes in indoor as well as outdoor environments
of Otaniemi, Finland. The secondary features are tracking friends’ locations in real time and
showing the locations of the calendar events on the map as markers inside the application.
For indoor navigation and positioning, the architectural plans of the buildings in Otaniemi
provided by the Aalto University administration have been used as the negation maps. The
machine-readable routing maps are generated from these architectural plans and are overlaid
in their respective locations on top of the background map. The routing maps generated are
used to render the route information that is provided to the application by a user. The
generated route for a user is shown as graphical lines on the top of the routing map. The
application uses OSM and Bing maps as base maps.
The floor plans are overlaid with high care so that to perfectly align the buildings without any
errors on the background map. The reason is to keep high precision and accuracy both for
indoor and outdoor navigation and positioning. The plans obtained were preprocessed in
several steps so that they can be efficiently and precisely used for navigation, rendering and
presentation. The first step was to convert those into a better machine-readable format from
the original Computer Aided Design (CAD) format, the second step was to produce a two-
dimensional graph from each floor plan for routing algorithm implementation. The third step
was to make a data structure for the extracted spatial information from the plans and store it
in a database. Figure 3 shows the different building blocks of the prototype and how are they
connected to each other.
This thesis contributed to provide a working LBSs application for an iPad that can be used in
Otaniemi Campus of Aalto University. This application behaves equally and accordingly to
the quality of spatial information provided by the user.
8
Floor Plans
Routing Graph
Routing Algorithm
CombinedIndoorOutdoorNavigator
Aalto University
Positioning
Technologies
GPS and Positioning Sensors
Calendar Application
Background maps
Figure 3 The block diagram describes the development process of the application in the
form of different blocks and also shows their interconnectivity
9
Chapter 2
Background Information
2.1 Existing Positioning Systems Several location-based systems have been introduced in the last two decades (Miu, 2002,
Xiang, Song, Chen and Wang, 2004, Maps Everywhere, 2011, Salminen and Hosio, 2006,
Weyn, Maarten Schrooyen and Frederick, 2008, Lau, Patil, Ni and Liu, 2004). The existing
positioning systems are sub-divided into two categories: 1) Outdoor LBSs 2) Indoor LBSs.
As stated earlier, GPS signals cannot be received indoors, thus a different positioning system
is required for indoor LBS.
The technologies used in outdoor LBSs and indoor LBSs are discussed respectively in the
upcoming sections.
2.2 Outdoors Location Based Services
2.2.1 GPS, A-GPS, GLONASS, Galileo
GPS (How Does GPS Work, 2011, Assisted GPS, A-GPS, 2011) is the prime revolution in
LBS. It was created by the US Department of Defense (DoD). GPS is the largest service for
navigation and positioning in the world. GPS is comprised of 27 earth-orbiting satellites in its
constellation (24 in operation and 3 for backing up in failure cases), placed in four orbital
planes around earth (How GPS Receivers Work, 2011). GPS has been under development
since 70’s and became fully operational in 1994. GPS receivers are commonly deployed in a
variety of handheld devices including smart phones. The GPS satellites located in the earth
orbit continuously transmit coded radio beacons. The GPS receivers receive these signals and
use a time-based approach to locate themselves. A single GPS receiver is capable of
receiving signals from multiple GPS transmitters. The more the transmitters there are the
more accurate the resultant positioning is. For successful positioning, signals from at least
three satellites are required. GPS succeeds in an accurate positioning from 6-7 meters, when
10
the GPS signals do not face any interference during transmission. GPS can’t be used for
indoor LBSs because the roof and walls of the building block the GPS signals. Some methods
have been introduced to overcome the interference problems by using an extra infrastructure
like pseudo lite technology (Wang, 2002, Ning, Kao, Chang and Meng, 2004). An example
of positioning done using GPS signals is shown in Figure 4.
Assisted-GPS (A-GPS) (A-GPS explained in historical context, 2011, How Does GPS Work,
2011, Assisted GPS, A-GPS, 2011,Assisted GPS and location-based services, 2011) is an
enhanced GPS system with more precise navigation and accurate positioning capabilities.
Nowadays most of the GPS enabled smart phones employ the A-GPS technology. A remote
GPS location server performs most of the positioning tasks before hands for a full GPS client,
thus saving some extra time. This remote server computes the position of the AGPS enabled
device with minimal time. With A-GPS enabled, the cell-phone does not have to search for
the visible satellites during positioning unlike normal GPS enabled phones (Zandbergen,
2009). In fact, they find the GPS satellites spontaneously using the existing cellular
networks, for example GSM (Djuknic and Richton, 2001). Many newly introduced smart
phones/devices such as iPad 2 (the third generation model) supports A-GPS, which allows
locating its current position using GPS or relative nearby base stations transmitters.
Normally the remote servers are installed at high altitudes, for example rooftops that help
getting a direct LOS with no or very less interference. This base station also helps in indoor
navigation in the building where it is installed because of the strong Received Signal Strength
(RSS). A signal amplifier would be needed which boosts the signal into the building for
positioning. This technique can work better in the immediate floor to the rooftop then the
floors in the bottom of the building. It is also useful in urban areas, when the user has to be
located under heavy tree covers, or even in indoor environments (A-GPS, 2011).
The Russian Federation Global Navigation Satellite System (GLONASS) was introduced in
the late 1970s for military purposes only. Later on, in 2007 the restriction of using
GLONASS by civilians was taken away and people started using it for navigation and
positioning. The idea to build GLONASS was also to counter GPS. GLONASS is run and
maintained by Russia’s Ministry of Defense. GLONASS contains 24 satellites placed in 3
orbital planes. GLONASS has always been facing financial crisis until mid 2000s. But since
2007 GLONASS was added in the list of top prioritized projects by the Russian government.
More funds were provided to the project and hence more satellites were launched in 2010
(Russia Places 3 More Satellites in Orbit, 2011) and thus started fully functioning earlier in
2011 covering the whole world.
Galileo is a counterpart to US GPS and Russian GLONASS positioning system for Europe. It
was initiated by European Union in coordination with European Space Agency (ESA) in the
mid 2000s. This system is still in development stages and is not yet operational. According
to the plan, it should start partially operating by 2014. Galileo positioning system consists of
27 operational satellites and 3 test bed satellites placed in three circular Medium Earth Orbit
(MEO) (What is Galileo, 2011). The first two operational Galileo satellites were recently
11
launched and the next two will be launched in 2012 (They Are Up! EU Launches Galileo
IOV Satellites, 2011). Galileo will provide highly accurate (1-3meters) global positioning and
navigation services compared to GPS and GLONASS. Compatibility and interoperability
with other positioning systems will maximize availability, usability and accuracy for the
users even in less-favorable satellite signal areas.
2.3 Indoors Location Based Services
Many research and innovations have been done in LBSs since the last decade. Yet there is a
gap between outdoors navigation services based on satellites and indoors navigation systems
based on Wireless Local Area Network (WLAN), UWB or cell-phones networks (Weyn,
Maarten, Schrooyen and Frederick, 2008). The problem is as discussed in previous
subsection that satellite signals do not penetrate through a hard medium like a wall or a roof
and hence cannot be used for indoor LBS. It is obligatory to establish a dedicated
infrastructure in a building that is to be used for navigation and positioning.
2.3.1 WLAN based positioning
WLAN is one option that can be used for indoor positioning. WLAN needs no new
infrastructure, as these networks are available in almost all the public buildings nowadays.
Similarly, Wi-Fi is also available in every smart device now, which means there is no need to
install any extra hardware at the receiver side as. Positioning based on WLAN uses the RSS
from the Wi-Fi access point for locating an object in the vicinity. The signals received from
the Wi-Fi access point by a cell phone are stored in a database in the form of a vector series.
The positioning system estimates the position of a receiver based on the signal strength of the
vector. The higher the signal strength the more accurate the position estimate is. Wi-Fi can
also be used in combination with other sensing technologies to produce more accurate and
continuous positioning results (Real-Time Location System (RTLS, 2011).
12
Figure 4 WLAN based positioning
Certain factors like multipath propagation and interference affect identifying accurate
location of an object when using WLAN based positioning system. The problem is the high
variance in the distribution of data that happens when the receive moves and also the
temperature of the environment (Pan, Zheng, Yang and Hu, 2008).
13
2.3.2 The Cricket Location Support and Active Bat systems
The Cricket Location Support System uses a combined form of ultrasonic and RF for
locating mobile users inside the building (Priyantha, Chakraborty and Balakrishnan, 2000).
The Cricket system is based on trilateration to locate users remotely, which measures
distances between the receiver and the transmitter for calculating the user’s location. This
system promises high accuracy, robustness for both static and mobile users. The beacons
transmitters should be mounted on walls and ceilings with proper alignment to reduce
interference with other radio beacons (Priyantha, Chakraborty, Balakrishnan and 2000).
A system known as Active Bat System (The Bat Ultrasonic Location System, 2011) also uses
ultrasonic signals for locating objects inside buildings. The Active Bat system works in a
similar fashion as the Cricket system. A transmitter is attached to a user (a Bat) to be
positioned, which transmits short ultrasonic pulses periodically to a number of receivers
mounted in different parts of the building. The travel time of the signal received is calculated,
which is then multiplied with the speed of sound to calculate the distance between the Bat
and each receiver in a closed space. The distances calculated are then used to position the
Bat using the principle of trilateration.
The advantage of using the Bat system for localization is that it can cover very large
buildings having many remote objects to localize (The Bat Ultrasonic Location System,
2011). The other advantage is the high accuracy; this system is capable of locating Bats down
to 9cm of their true position for 95 percent of the measurements (Lau, Patil, Ni and Liu,
2004).
The disadvantage of this system is the high cost and complexity. The maintenance of the
system is also an issue because a small fault in the system can bring the whole system down.
It can also affect the positioning accuracy of a certain Bat. There is also a probability of
losing the tags (transmitters) and the lost tags can be misused and the results may lead to
wrong assumptions (Want, Hooper, Falcao and Gibbons, 1992).
2.3.3 Quick Response (QR) codes based positioning
There should be something off the shelf component that the users do not have to carry all the
time unlikely tags. For example, a mobile phone camera is a component already embedded in
smart phones. The mobile phone camera can be used for localization by taking photos of
mounted bar codes in a building, such as QR codes (About QRCode, 2011). With the help of
the information retrieved from a QR code, a LBS application can locate a user. The QR
codes can easily be mounted in different parts of a building. The QR codes deployment cost
is quite low, hence a large area can be covered with them. The replacement of damaged QR
14
codes is also quite convenient and inexpensive (Top 10 QR Code Tech Support Questions,
2011).
As described in (Mulloni, Wagner and Schmalstieg, 2009), using QR codes is a good choice
for LBS in indoors due to its fast readability. The user takes a picture of a mounted QR code
whenever he or she wants to locate his/her current position in the building (Ruppel and
Gschwandtner, 2009) as can be seen in figure 5. Unlikely WLAN, Cricket or Active Bat
system, the surrounding environment does not affect the positioning accuracy using QR
codes. The QR codes can also be used in parallel with other technologies to continuously
locate a user, for example, smart phones’ sensors. QR codes are also compatible with many
open source application development libraries, which is an advantage to the application
developers (iphone-qrcode, 2011).
Figure 5 A user is taking a snapshot of a mounted QR code to locate his/her current location
The downside of using this system for localization is its low usability. The user has to hold
the camera quite close to the QR code for a better LOS (Ting, Kwok, Tsang, Ho and 2011).
Similarly, the user has to take pictures until the software has identified the bar code.
2.3.4 Radio Frequency Identification (RFID) based positioning
RFID based location-information service includes proprietary RFID scanners mounted
throughout the building. These scanners scan the RFID tags when in range and an exchange
15
of information occur between the sending and receiving tags. This technology has application
in diverse fields and can also be used for LBSs. An RFID scanner uses radio signals for
locating a person wearing an RFID tag from a certain distance. The main advantage of using
RFID for LBS is that it requires neither a direct contact nor a direct line of sight with the
positioning objects (Ting, Kwok, Tsang, Ho and 2011). Another advantage is low installation
cost when covering small areas. For larger areas, the deployment cost rises up or when
replacing the equipment. In addition, RFID are more efficient compared to bar codes, the
tests have proven that the RFID tags can even be read in less than 100 milliseconds (Lau,
Patil, Ni and Liu, 2004).
For localization, RFID system works in a similar fashion as Cricket and Bat systems,
meaning that the objects to be positioned should always carry RFID tags and a scanner is
needed to scan the tag. Unlike, Bat and Cricket Systems this technology uses radio signals for
communication. A server that receives the scanned signals from the scanner uses positioning
techniques like trilateration; location fingerprinting or triangulation to position the RFID
tagged objects (Ting, Kwok, Tsang and Ho, 2011), as shown in figure 6. These techniques
are discussed in more detail in the upcoming sections of the chapter.
There are two types of RFID tags: Active and Passive RFID tags. The active RFID tags have
their own battery and are used for running the circuitry and transmission, passive tags do no
have their own battery but they use the power drawn from the reader when being scanned
(What’s the difference between passive and active tags, 2011). Active RFID has a longer
transmission range, is bigger in size and more expensive than passive RFID. Before using
any kind of tag for positioning, it should be tested for, its transmission range capability and
its attenuation properties in different environments.
16
Figure 6 Passive RFID based positioning (Ting, Kwok, Tsang and Ho, 2011)
2.4 Positioning Techniques
In indoor LBSs, locating objects accurately is very important; the more accurate is the
positioning the more precise will be the routing directions. In this section multiple
positioning techniques are described. The factors that should be considered when deciding
the techniques used for positioning are accuracy, inter-operability and efficiency. The status
of the users in general is also important that either the users are dynamic or static.
Techniques suitable for static users differ when used for moving users. The positioning can
either be done continuously or discretely. Continuous positioning is done when the
transmitter and the receiver communicates continuously just like GPS. Continuous
positioning is done mostly in outdoor LBSs but rarely in indoor environments. Discrete
positioning is done when the user’s device determines its location either by transmitting
signals or using some other positioning techniques (Le, Sargas and Webb, 2009).
17
2.4.1 Triangulation
Triangulation has a long history and scientists have been using it for several centuries in
surveying as well as in hydrography. The concept of triangulation is to find the unknown
location of a point with the help of certain known points. For example, let’s take a case of
three points where two points are known and the third is not. The distance between the
known points is also known, and the angles made from each known point to unknown points
are measured. Putting all those known values into a mathematical equation results the
location of the third unknown point.
On the other hand trilateration (principle of triangulation) uses the distances among
transmitters and receivers for localization rather than angles as in triangulation. Most satellite
based location services, such as GPS, use trilateration for positioning. For example, the
transceiver held by a person communicates with the satellites. The radio signals received by
the device are recorded along with the time it was sent from the satellite. The distance
between satellites and device is calculated by the formula: d=V*t. When the distance of a
transceiver is determined from all the three satellites then the GPS software can easily locate
the transceiver’s latitude and longitude using trilateration principle.
2.4.2 Time of Arrival
Time of Arrival (TOA) is the travel time calculated between a transmitter and a receiver. It
can be used to find out the distance between the transmitter and the receiver. The speed of
radio waves is already known as they travel at the speed of light so it is easy to calculate the
distance. This technique is mostly used for estimating the location of an object in outdoor
environments. There should be at least three Base Station Transmitters to localize a particular
Mobile Station as shown in figure 7 below.
18
Figure 7 Positioning using Time of Arrival technique (Le, Sargas, and Webb, 2009)
When all the distances from all the Base Station Transmitters (BSTs) to the Mobile Station
(MS) are known then the position of the MS can be found by using the trilateration technique,
and to execute trilateration for positioning, the distances of all the three BSTs should be
determined first (Le, Sargas and Webb, 2009).
The summary of available potential technologies along-with their respective technique is
given in table 2.
19
Table 2 An overview of some common positioning technologies
Technology Range Accuracy Comments Technique
WLAN Approx. 35m 1-6m +Low cost
+Cover large
areas
-Multipath fading
-Less secure
-Less accurate
Trilateration
Signal
Strength
Cricket
And
Active Bat
Environment
dependent
4cm-1m +High accuracy
-High deployment
cost
-Multipath and
sensitive to
objects
-LOS
Trilateration
QR codes Distance
proportional to
the size of QR
code
4cm-2.5feet +Easy and cheap
+No need to
carry tags with
object
-Much manual
work
Direct
RFID Active: more or
less 10m
Passive: 2-4m
Active: 5-
7m
Passive:
10-30cm
+High speed
+Large areas
-Carrying extra
tags with objects
-LOS
Trilateration
Signal
Strength
2.5 Tracking Spatial Location
Location-determination applications are one of the most widely used applications for
handheld devices and smart phones. These applications assist users in services based on
spatial location of people, point of interests and certain other things like vehicles, devices,
and many other resources (Cell Phone tracking is Easy (and Legal) with AT & T FamilyMap,
2011, How Do I Find a Friend on an AT & T Cell Phone, 2011, Memory-Map Remote
Tracking, 2011). Most of the latest smart phones are now equipped natively with tracking
20
possibilities. The primary purpose of this feature is to track the lost or stolen devices, for
example iOS based devices (How to locate your iPad if it’s lost or stolen, 2011).
Tracking can be done both in indoor and outdoor environments. Tracking inside buildings is
comparatively harder than the outdoor environments and the problems are the same as
discussed in the previous section, for example low or no-signals reception inside buildings.
Hence to establish an indoor tracking system either a complete new infrastructure should be
installed or an addition to the existing infrastructure should be done. Technologies and
techniques used for positioning purposes are more or less the same for also tracking. In
(Zaruba, Huber, Kamangar and Chlamtac, 2006), RSS Indication from the Wi-Fi access
points inside the building has been used for tracking Wi-Fi enabled mobile users in the
vicinity. The non-Wi-Fi based devices can also be tracked indoors through an integrated
system of active RFID tags and Wi-Fi access points (Location Tracking using Wi-Fi based
RFID Tags, 2011, Asset Tracking Mobile Solution (active RFID tags with wireless reader),
2011).
RFID based tracking system has also been used (Ali, Aloul, Aji, Zarouni and Fakhro, 2008)
for tracking people in open/outdoor environments. The target users in the research done by
Ali, Aloul, Aji, Zarouni and Fakhro (2008) are the parents keeping track of their kids at a
certain park in Dubai. The kids have to wear the RFID tags (transmitters) during their stay at
the park. These tags are always in communication with the wireless RFID readers (receivers)
installed throughout the park. These RFID readers retrieve location information periodically
from the transmitters tags and report it to the master station.
In this prototype the focus is on tracking pedestrians locations remotely from the mobile
device. The test area for tracking locations is outdoor Otaniemi, tracking indoors is beyond
the scope of this thesis. The implementation is done using GPS signals and hence its must for
both the parties to have GPS enabled devices. Presently a number of GPS tracking devices
are available commercially that can be fixed to anything for tracking (GPS Tracking Devices,
2011).
2.6 Handheld devices for LBS
Different platforms like iOS, Android and Blackberry were studied and evaluated to select
the best suitable development platform of this prototype. The platform was selected on the
basis of certain factors, for example, diversity, security, interoperability, easy in learning etc.
21
2.6.1 Apple iOS
Apple iOS is Apple’s operating system for its smart handheld devices; iPhone, iPad and iPod
touch (Applie iOS, 2011). Apple does not provide rights to install its operating system on a
third-party hardware. The sophisticated applications provided by the Apple incorporation for
iOS have made it one of the most successful companies in the world. The user interface in
iOS is operated using touchscreens. The advantage of using Apple iOS is that an application
developed for any Apple handheld device such as iPhone is also interoperable on the other
two devices (iPad and iPad Touch).
For this prototype iPad 2 was selected as the development platform. It provides good services
for LBS, as it contains multiple sensors, which are capable of LBSs using a variety of options
like Wi-Fi, cellular network, GPS or accelerometer. iPad also facilitate users with better
readability, quality graphics, high and fast computational power. The native support for multi
touch when interacting with maps, makes it a good choice for users to be used for LBSs.
The other reason was the wide variety of open source libraries for development, for example
PhoneGap (PhoneGap, 2011), which brought a change in applications development for iOS
and it is not compulsory anymore to use the Objective-C for the native development.
PhoneGap is not just a library of JavaScript Application Programming Interface (API) but
provides a bridge between the applications developed and then uploading it to App store. The
PhoneGap also provides the interoperability of an application developed on one platform
such as iOS with other platforms such as Android or Blackberry. Hence, making it easier for
a developer to publish the application on different platforms.
A comparison has been done in between developing web applications and native applications
for iPad in (Designing Web Apps for the iPad, 2011) and is summarized here.
Native iPad Apps
Native Apps are faster: uses more of the iPad’s resources and functionalities.
No need to search the web: one-stop shopping on the App Store.
Users feel more comfortable: They know the app was made specifically for their
device, not adapted using HTML5/CSS3.
Easier to turn on and off: Apps are made to turn on/off without interruption or loss
of data.
More difficult to develop: requires knowledge of Objective-C and use of Apple
SDK.
Closed Platform: difficult to adapt for other devices like the Android platform.
22
iPad Web Apps
Emerging coding standards: HTML5, CSS3, JavaScript are bringing incredible
client-side functionality to the web; especially with local/offline storage.
Tailor the site for any browser: switch between style sheets or redirect pages
depending on which device or browser your user is operating. It is possible to make
your app universal.
Easy to develop: Use HTML, CSS and JavaScript to create iPad web apps instead of
learning new languages. These are skills you already have.
Apple Inc. cannot censor web app: The web is an open platform — meaning that
you are in control. No waiting to get approved by the App Store.
Small market, not enough support: web apps need strength in numbers, which
means not only attracting users but developers as well.
2.6.2 Android
Android (What is Android, 2012) is an operating system developed by Google for smart
phones and is currently the most popular operating system in in the world. Most applications
developed for Android are free, unlike most iOS applications. A large number of developers
develop applications for Android because the source model for Android is free and open
(Android, 2011). The applications for Android are coded in Java using Android Software
Development Kit. Based on the standardized Java programming language, Android is also
portable with different other platforms. There are also other development environments for
developing Android applications like, Native Development Kit and Google App Inventor.
The Android mobile platform is Linux based and the advantage of using this operating
system is that it can used on different other platforms.
2.6.3 Blackberry
Blackberry is an operating system for smartphones and has so far a very limited amount of
users compared to iOS and Android. Canadian telecommunication and wireless device
company known as Research in Motion has developed it. As the Blackberry OS is well
known for its native support for corporate emails but its wide touch screen and the friendly
user interface would also prove it a good choice for navigation and positioning purposes.
23
2.7 Chapter Summary
This prototype uses QR codes for localization purposes because they are cost effective, easy
to implement and relatively more accurate. The QR codes are mounted at every door of the
building and when the user wants to locate him/herself, take a picture of the code. The
application processes the information from the scanned photo and renders it on the map.
A number of tests have been done to evaluate the QR codes based positioning technique. The
results from the test showed that QR codes based positioning produces position estimates that
are accurate to within 50cm and100% of the time.
24
Chapter 3
Processing Spatial Information
Spatial information is primarily needed for developing any location-based web application.
The more accurate the information provided, the more accurate the results produced by the
application will be. The spatial information is used in the process of generating map for
indoor navigation and positioning.
To develop this prototype, the designated personnel provided the spatial information of all
the buildings of Aalto University in the form of architectural plans. The plans received were
originally in CAD format but were changed into a better machine-readable format. The plans
contain all the necessary information about walkways, rooms, stairways, elevators doors and
their textual labels.
To navigate users inside a building, the application uses the spatial information of the
building. The information is rendered on the map showing the current position and computed
path for the user in graphical style. The spatial information is also used when the user wants
to the see the scheduled appointments location-wise.
3.1 Requirements
The main challenge in building a smart phone application for indoor LBS is the process of
generating spatial information and finding a suitable data structure to represent this
information. Generating spatial information means to have an accurate and updated map of a
building where a user wants to navigate in. Passing through a chain of different processes
produces such spatial information in the form of a map, which in this case is called a routing
map as shown in figure 12.
The process requires both manual and automated efforts. The manual work takes time and
increases the budget cost of the application for example adding points and lines for
generating 2-D graph that is needed when applying the routing algorithm as shown in figure
10. The automatic work can be done by programming small scripts for doing certain tasks,
for example labeling the point features in the inside each room. Instead, there should be an
25
automated approach that converts the original CAD drawings of architectural floor plans
composed of segments, vertices and text labels into a routing map that annotate the structural
features such as walkways, walls, elevators and stairways. This kind of automated process is
beyond the scope of this thesis and thus is not discussed here.
A routing map for navigation and other location-aware applications should be capable of
providing information to enable the following operations:
1. Locate the user and compute the shortest path between the origin and destination
point.
2. Render users scheduled appointments location-wise (see figure 16 in chapter 4).
To fulfill the first requirement in the process is to represent the network of accessible paths in
the form of two-dimensional graph. The graph is composed of nodes connected through
edges. The nodes in the graph represent waypoints while edge represents a path segment
between two waypoints. Each waypoint in the application is annotated with a coordinate.
The spatial information map produced out of the graph should be capable of computing and
showing graphically a shortest path for the user from origin to destination (see figure 17 in
chapter 4). The algorithm used for computing the shortest path is discussed in Chapter 4.
To indicate the users current position, the application uses the information extracted from the
QR code of which the user took a picture. The information is composed of spatial and textual
information. This information is rendered on the map of the application showing the current
spatial location of the user. On the other hand, if the user tries to locate another person’s
current position then the application uses GPS signals for positioning. The condition in this
case is that the person who is to be located must be in outdoor environment where GPS
signals are accessible.
The second operation is executed based on the coordinates of the places. The coordinates of
all the possible places are stored in the application’s database. The coordinate system of the
places must be similar to OSM so that the application renders the exact place for the user.
3.2 Map Generation and Representation As mentioned in the previous section that the routing maps generation process for indoor
navigation in this prototype involves both manual and automated work. When the routing
map is ready, it is overlaid in its exact location with a proper alignment on the background
map for final representation.
26
The routing map generation process and representation are both discussed respectively in the
upcoming sections of the chapter.
3.2.1 Map Generation Process
The floor plans obtained in CAD format were passed through a number of stages during the
process of generating map for indoor navigation as shown in figure 8. The process starts by
opening the CAD floor plans in Adobe Illustrator with a 100% scale of 1000 units/millimeter
in a landscape. Adobe Illustrator is a convenient application for manipulating graphical
elements both visually and programmatically. The layers for different features in the floor
plans were originally titled randomly and hence were given reasonable names by
implementing a small JavaScript program in Adobe Illustrator. The areas inside the building
that were inaccessible in any way (the white closed areas in figure 9) were identified in the
software. The rooms and the walkways were assigned different colors for better readability as
shown in figure 9.
28
Figure 9 Floor plan after processing with Adobe Illustrator
The file was saved in PDF format and was imported in OmniGraffle to generate a graph
containing a network of accessible paths for indoor navigation as shown in figure 10. The
graph is composed of nodes and edges. Every room in the floor plan was assigned a node and
all the nodes were connected to one another through edges. An edge represents the walkway
in the graph while a node represents an intermediate point on the walkway known as a
waypoint as shown in figure 10.
The floor plans when became ready were saved in p-list (property-list) format and were
imported to a JavaScript (JS) program. The files were first converted to a Java Script readable
format known as JavaScript Object Notation (JSON) and were then processed in the JS
program.
29
Figure 10 Navigation Graph
3.2.2 Path Extraction
The original floor plans obtained were containing many features but those features, which are
needed for a customized optimal path metric, were extracted. For example, walkways and
doors are the most important features to be extracted for indoor routing. The path extraction
was done very carefully because the paths are meant to direct a user to a desired destination,
any false information can lead to certain damage. The path extraction was done in a manual
fashion, when a certain path was recognized visually, then two nodes on either side were
connected using the same path (edge) as shown in figure 10.
3.2.3 Features Recognition
Different classes of features such as rooms and their labels were determined automatically by
using a JS program. This can also be done manually in the form of a regular pattern when
there is no sufficient embedded semantics information (Miu, 2002).
All the potential walkways in the floor plans were recognized automatically in the form of a
routing graph. The walkways are evaluated more critically because the walkways having
obstacles in their way or under construction should not be considered for navigation purpose.
Also the walkways, which lead to certain restricted areas, should be processed specially to
30
combat any problem that can happen in future. The program also recognized the rooms along
with their respective labels found inside their polygons.
The program converted the Bezier curves to polylines using DeCasteljau's algorithm. This is
done because when the data is exported to the geographic database then the database should
be able to determine them, otherwise the database will not recognize the original curves. The
original projection that was in meters was converted to degrees using manually entered
projection settings in the program.
After recognizing all the important features from the floor plans the data is exported to a
geographic database by outputting Structured Query Language (SQL) commands for
SpatialLite.
The Bezier-curves were converted to polylines to make them able to be recognized in the
SpatialLite database. This was done using DeCasteljau's algorithm (Shortest Path Problem:
Dijkstra’s Algorithm, 2007). The data from the JavaScript program was then exported to the
geographic database using SQL (Structured Query Language) commands for SpatialLite.
3.2.3 Database
The topological information like paths, doors and rooms extracted from the floor plan are
stored as tabular data structure. The database stores all the required information that is needed
in the application. It stores the data about the recognized rooms, labels and their coordinates
extracted from the floor plan. Information about the nodes and the edges in the navigation
map is also stored in the database.
3.2.4 Labeling
The OmniGraffle does not have an expression to represent textual information, the floor-plan
feature labels are not propagated to OmniGraffle. Thus, a separate JS program was created to
label the rooms based on the recognized text labels inside their polygons. The textual labels
were obtained from the database. The program also labeled the nodes in the routing graph
based on the rooms they were located in and were stored in the database.
3.2.5 Data Presentation
After labeling the different features and storing in the database, the data is then fetched into a
JS program from the database. The program converts the data files into XML format. This is
done because the data/floor plans with their actual latitude/longitude values are now ready to
31
be visualized on top of OSM in Java Open Street Map (JOSM) as shown in figure 11. In
JOSM the floor plans are visualized on top of their respective buildings in OSM. The figure
11 shows the main building of Aalto University. The rotation angle and the coordinates offset
of the floor plan are compared visually with the original data in the OSM.
Figure 11 Routing map shown in JOSM
But if there is a difference between the two angles then the difference is calculated manually
and added back to the floor plan’s rotation angle. And the process repeats from features
recognition point and proceeds with further with the same stages discussed in the previous
sub-sections.
32
3.2.6 Floor Plan Overlay on top of Background Map
When the rotation angle of the floor plan and the original building is same then the floor plan
is perfectly aligned and does not need to make any changes to the angles. And therefore, the
data is combined with all other OSM files representing the nth floor in the other buildings
and is imported in Mapnik. The Mapnik renders the file with 256*256 resolution using
spherical Mercator projection.
The Aerial Bing map has also been used as a background map. The alignment of the overlaid
floor plans are perfectly fitted also on Bing map as shown in figure 12.
34
3.3 Chapter Summary
The routing map is designed and presented on top of background map in order to provide
spatial information that is used for locating and guiding user spatially. The application
renders the routing map as well as the background map to show the user’s current location
and the computed path from origin to destination. The spatial information of a building is
provided in the form of floor plans in CAD format, which contains information about the
accessible paths, textual labels and the coordinate system of the floors.
The process executed for creating the routing maps from original maps consists of fours
steps. The first step is to open the CAD drawings in Adobe Illustrator and change the scale
into an appropriate level, identify the no-entrance zones in the map and change the data
format into a wider machine-readable format. The second step is to create a two-dimensional
graph from the original floor plans using OmniGraffle, which is needed for shortest path
finding algorithm. The third step is to identify and extract features through a JS program and
annotate objects like doors, stairways and walkways for navigation. The fourth step is to store
the important features in a database and label the features, for example rooms. The final step
is to present the spatial maps in JOSM and test the alignment with the background map, and
then render the data using Mapnik.
35
Chapter 4
CombinedIndoorOutdoorNavigator
CombinedIndoorOutdoorNavigator is an iPad web application developed for LBSs. The
application guides user in determining spatial locations, path planning and scheduling
appointments based on locations. The specific use cases of the application are discussed in
detail in the later section of the chapter.
The application is designed in such a way that it presents the native look of an iPad
application. The design is simple which leads to a simple user interface. The design of the
application is discussed in details in the next section of the chapter.
This chapter also discusses the implementation of the route-planning algorithm in its last
section.
4.1 Design
Designing an application is more important than programming the application. Sometimes, it
is impossible to understand how an application is implemented due to its bad design, which
leads to a complicated architecture. On the other hand, there are also some applications
having a great design but lacking the usefulness of its features. A developer should always
keep a balance between the two factors (the design and the features) while developing the
application.
Similarly, an application developed for a smart phone should be designed in a way that it
looks like native and fits to its screen well. Generally designing an application for a smart
phone is challenging because of its smaller screen size as compared to desktop computers or
tablet computers.
The design requirements of an application developed for the iPad are rather different than the
iPhone because of the difference in screen sizes. The home screen of iPad 2 can be seen in
figure 13.
36
The structure of the user interface is one of the important considerations when developing
applications for the iPad. Detailed information about the user interface conventions and
considerations that are applicable when developing application for the iPad platform can be
found here (iPad Application Design, 2011).
Our prototype is originally developed for iPad so the screen size and the native look of the
iPad was emphasized while designing the prototype. Proper care has been taken in
understanding the form factor (physical style) of iPad before starting the development the
application.
Figure 13 iPad 2 Home screen
37
4.2 User Interface
The user interface of the prototype is simple, interactive and user-friendly. The main user
interface of the application contains a top menu-bar and a bottom menu-bar. The top menu-
bar contains tabs for accessing the main features of the application while the bottom-menu
bar contains tabs related to calendar data.
The main features of the application are search, locate, track friends, and get route. The
calendar data can be accessed through the tabs; Now, Next, Today, Week and Add, and are
situated in the bottom menu-bar of the application. These features show information about
the events created by the user. The Add tab allows the user to create a new event in the
application’s calendar. The Now tab when tapped by the user shows the user’s current
appointment, the Next tab shows the user’s upcoming appointment, the Today tab shows the
user’s today’s meeting and the Week tab shows the appointments of the user happening in the
whole week. All this information is shown both location-wise as well as in the applications
calendar.
4.2.1 Map Screen
The Map Screen appears by default when the user starts the application. OSM and Bing maps
are used as the background maps. The initial view of the background is zoomed to Otaniemi,
which is the test area of the application. All location-based information is shown on top of the
background map. The location of the user or a tracked friend is shown as a point feature and
the path planned for the user is shown in the form of line. The scheduled appointments in the
application’s calendar are shown as markers and when tapped open a pop-up for detailed
information.
The user can see the floor plans of the buildings as shown in the figure 14. The user can
switch between the floor plans of multi-level buildings using the drop-down menu for the
floors. An option to switch between different map services is also provided in the application.
39
4.2.2 Track my Friends
The Track My Friends feature shows the current locations of the friends in real time in the
map. The locations of the friends whose credentials are already added to the system are
shown only in the application. Also the friends who is to be located has to approve
beforehand that the application is allowed to locate him/her.
The user can add new or delete an existing friend in the application. It is possible that the
application directs user to the tracked location of the friend.
4.2.3 Calendar Screen
The calendar screen is the other main screen of the application besides map screen. The user
can get to the calendar screen from the main menu in the top menu-bar of the application.
The events scheduled in the application’s calendar are synchronized with the map screen, so
all information in the calendar can be seen on top of the map as markers. Hence, the user
does not need to switch from the map screen to the calendar screen every time he or she
wants to see his or her appointment by location.
The location information for the events scheduled in the calendar is more conveniently shown
on the map screen. The user can also get directions from the current the location to the event
location. The Figure 15 shows the Calendar screen of the application.
40
Figure 15 Application's calendar screen
4.3 Use Cases
This application is developed based on a variety of use cases. As this is a LBS application
that is why almost all the use cases are based on geographical location.
41
Use Case 1: Locate yourself
Description: This feature provides the user his/her current spatial information rendered on
the map.
Actor: Anyone
System: iOS
Precondition: App Store or some other installation method is accessible for installing the
application.
Basic Sequence:
1. Install application from the App Store.
2. Possible to enter the name or some other information.
Use Case 2: Find directions
Description: The user can use the map for route planning, localization and to see the
highlighted locations where the calendar events are scheduled.
Actor: Anyone
System: iOS
Precondition: The application is installed and running on the machine and GPS is available
for outdoor localization.
Basic Sequence:
1. User opens the application and the main screen appears with the map.
2. The map opens with the first view zoomed on Otaniemi and provides the main
user interface as well.
3. The map can be panned and zoomed with fingers.
4. Floor maps of certain buildings are overlaid on top of OSM and could be used
for indoor navigation and positioning.
5. The user can position itself and can also plan the route from one place to
another both indoors and outdoors environments.
6. The path generated from start to target location is shown on the map in
graphical form.
7. The user can switch between the two views, Map View and Calendar View
and could also be switched to different other map layers.
8. The user can also switch the different floors of the buildings.
9. The user can see the calendar events as markers on top of the map.
Use Case 3: Track friends
Description: This feature assists user in tracking his/her friends, which are enlisted with
him/her in the application according to the privacy criteria set for the application. To track a
friend both the friends on each end should agree for adding each other to their list of traceable
42
friends.
Actor: Anyone
System: iOS
Precondition: The application is installed and running on the machine. The GPS is available
in all the machines on both ends.
Basic Sequence:
1. The user presses the Track your friends tab in the map view of the application.
2. The friends in the list all appear on the map in the form of say round markers.
This tracking is done in real time using GPS.
3. The markers can be clicked to see brief information about the friends in a pop
up window.
Use Case 4: View calendar appointments by location
Description: The user can see his/her schedule in the calendar for the upcoming events. The
user can also add new events or can modify the existing events. The Calendar is synchronized
with the Map View of the application and the user can see his/her scheduled events spatially
as shown in figure 16.
Actor: Anyone
System: iOS
Precondition: The application is installed and running on the machine.
Basic Sequence:
1. User opens the application.
2. User presses the tab for View Calendar.
3. User can see the schedule for the whole week.
4. Each week is divided into 7 days, and each day is divided into
24 hours (12AM-12AM)
5. User can add as well as modify the current events in the Calendar for each
hour or for the whole day.
6. Every single event carries information about time, location and activity.
7. The events could also be deleted from calendar.
44
4.4 Algorithm
The routing algorithm calculates an optimal path for a user from one place to another using
the routing graph. Technically the algorithm uses the nodes and edges in calculating the path.
The information about the nodes and edges is stored in a database. The nodes represent the
rooms, corridors, stairs, elevators and the edges represent the walkways which the users use
for traversing when moving from one node to another (Nelen, Weyn and Klepal, 2010-11).
And hence a routing graph is generated for routing algorithm. The data structure contains all
the relevant information needed for routing, for example, nodes’ labels, and coordinates.
4.4.1 Route Planning
To get the navigation directions, the application locates the user and then finds the shortest
path between the current location and the target location. Positioning technique based on QR
codes has been used for finding the current location of the user inside a building and for
positioning in outdoor environments GPS is used. The algorithm used in this application to
perform path-planning tasks is discussed in the next section.
4.4.1.1 Indoor Route Planning
The routing graphs obtained from the process explained in the previous chapter contain nodes
connected through edges along with its topology. These graph are used in path finding
algorithm. The algorithm finds the shortest route between the nodes and renders it on the
map.
The buildings that have multiple floors are overlaid on top of one another in their respective
order and the user is allowed to switch from one floor to another in the application. When the
user requests a path between an origin and a destination, the application generates the shortest
path for the user between the two locations.
Complexity of the route is also important because people normally follow simple routes
instead of shortest route (Papataxiarhis, Riga, Nomikos, Sekkas, Kolomvatsos, Tsetsos,
Papageorgas, Vourakis, Xouris, Hadiiefthymiades and Kouroupetroglou, 2008). Complex
route can have too many left or right turns that the user may find hard to remember. This
problem is not covered in this prototype. But theoretically to overcome this problem weights,
based on the time it takes from origin to destination, are assigned to the edges in the routing
graph. The weights can also be assigned according to the comfort level derived from the
user’s preferences (Dudas, Ghafourian and Karimi, 2009) but this is out of the scope in this
prototype. The comfort level means that sometimes users chose directions, which are not
shorter but more convenient for users.
45
The shortest path is generated by the application using Dijkstra’s algorithm (How Routing
Algorithm Work, 2011). An example of a shortest path generated by the application from one
origin to destination is shown in figure 17. For calculating the shortest distance between two
points Euclidean distance formula is used.
47
4.3.1.2 Outdoor Route Planning
Determining path in outdoor location is similar to indoor navigation system, despite the fact
that local indoor maps contain fewer nodes than the outdoor maps (Pomp, 2011). The
Dijkstra’s algorithm is also used in determining optimum path for outdoor navigation.
4.5 Chapter Summary
The application is designed and implemented based on the use cases discussed in the section
4 of this chapter. The application is designed in such a fashion that the look and feel is just
the same as the native iPad application.
The application generates a shortest path on user request between two locations. The shortest
path is calculated using the Dijkstra’s algorithm both in indoor and outdoor locations. The
generated path is shown graphically on top of the routing map layer as it can be seen in figure
17.
48
Chapter 5
Conclusions and Future Work
The application is implemented and tested interchangeably both on simulator and iPad
device. All the features are working equally and accordingly, producing the required results
based on user input. The user interface and the design of the application are kept similar to a
native iPad application.
Additionally, this thesis outlines manual but detailed process of producing indoor routing
maps out of the floor plans obtained originally in CAD format. The positioning technique
used is found to be more manual in a way that the user has to take images every time he/she
wants to locate his/her current location. For the prototype version the application will be
tested just for a single device when tracking a friend’s location.
In future, a particular automated technique will be implemented which will locate a user
automatically and continuously. Developing an algorithm to automate the extraction process
of walkways network from the CAD floor plans of the building. In future, the floor plans will
not only be used for navigation but also for finding different resources in vicinity. To
overcome the complexity of the planned path by developing a weight function which assigns
weights to the edges in the routing graph. A continuous and effortless technique for
positioning users inside a building is also a future plan. Wi-Fi based positioning technique
will be researched more broadly because it is one of the most efficient, automated and rather
less-expensive positioning techniques. The user interface will be more users friendly and
most of the feature will be operated by only finger touch. For example, in the current
prototype when the user wants to get directed to a destination, he/she has to input the current
and destination fields by himself/herself which is not a user friendly feature using an iPad.
49
Bibliography
Ali, A. Aloul, F. Aji, N. Al-Zarouni and Fakhro, N., Mobile RFID Tracking System, 2008.
A-GPS explained in historical context, http://www.gps-practice-and-fun.com/a-gps.html
Cited Online: [03.11.2011]
A-GPS (Assisted GPS), http://www.navigadget.com/index.php/gps-knowledge/a-gps-
assisted-gps Cited Online: [07.11.2011]
About QRcode, http://www.qrcode.com/index-e.html
Cited Online: [04.11.2011]
Ahamed, S., Technology The Effects of Global Positioning System for Reliable Positioning,
Navigation and Timing Services, Journal of Theoretical and Applied Information, India,
2005-2008
Android, http://www.android.com/, Cited Online: [12.05.2011]
Apple iOS, http://wiki.openstreetmap.org/wiki/Apple_iOS , Cited Online: [08.11.2011].
Assisted GPS, A-GPS, http://www.radio-
electronics.com/info/cellulartelecomms/location_services/assisted_gps.php , Cited Online:
[03.11.2011]
Assisted GPS and location-based services,
http://www.accessscience.com/content/Assisted%20GPS%20and%20location-
based%20services/YB094020, Cited Online: [03.11.2011]
Asset Tracking Mobile Solution (active RFID tags with wireless reader)
http://www.youtube.com/watch?v=yRQYZ5L9rH4, Cited Online: [16.11.2011].
Cell Phone Tracking is Easy (and Legal) With AT&T FamilyMap,
http://gps.about.com/od/mobilephonegps/gr/Cell_Phone_Tracking.htm, Cited Online:
[14.11.2011].
Cell-based positioning for improving LBS http://mycoordinates.org/cell-based-positioning-
for-improving-lbs/, Cited Online: [21.06.2011]
50
Designing Web Apps for the iPad, http://sixrevisions.com/web-applications/designing-web-
apps-for-the-ipad/, Cited Online: [08.11.2011]
Djuknic, G., Richton, R. Geolocation and Assisted GPS, 34(2): 123-125, Feb 2001.
Dudas, M., P., Ghafourian, M. and Karimi, A., H., ONALIN: Ontology and Algorithm for
Indoor Routing, Tenth International Conference on Mobile Data Management: Systems,
Services and Middleware, 2009
GPS Tracking Devices, http://goandtrack.com/, Cited Online: [16.11.2011].
How Does GPS Work, http://www.nasm.si.edu/gps/work.html,
Cited Online: [03.11.2011]
How GPS Receivers Work http://electronics.howstuffworks.com/gadgets/travel/gps.htm,
Cited Online: [25.10.2011]
How Routing Algorithm Work, http://computer.howstuffworks.com/routing-algorithm3.htm,
Cited Online: 1[1.11.2011]
How Do I Find a Friend on an AT&T Cell Phone?, http://www.ehow.com/how_6894837_do-
friend-at_amp_amp_t-cell-phone_.html, Cited Online: [14.11.2011].
How to locate your iPad if it’s lost or stolen, http://www.simplehelp.net/2010/04/14/how-to-
locate-your-ipad-if-its-lost-or-stolen/ Cited Online: [14.11.2011].
iPad Application Design, http://mattgemmell.com/2010/03/05/ipad-application-design/ Cited
Online: [08.11.2011]
iphone-qrcode, http://code.google.com/p/iphone-qrcode/ Cited Online: [17.10.2011]
Indoor Mapping, http://wiki.openstreetmap.org/wiki/Indoor_Mapping
Cited Online: [04.08.2011]
Lecture on Sensor Networks, http://www.slideshare.net/netfet/localization-presentation Cited
Online: [17.10.2011]
Location Tracking using Wi-Fi based RFID Tags, http://www.excitingip.com/335/location-
tracking-using-wi-fi-based-rfid-tags/ Cited Online: [16.11.2011].
Lenihan, N., A Local Optimal User Position System for Indoor Wireless Devices, Master
degree thesis
51
Le, M., H., Sargas, D. and Webb, N., Indoor Navigation System for Handheld Devices,
Bachelor’s thesis, Worcester Polytechnic Institute, October 2009.
Lau, Y. & Patil, A., Ni, L. & Liu, Y., LANDMARC: Indoor Location Sensing Using Active
RFID, Wireless Networks 10, 701-710, 2004
Maps everywhere http://micello.com/, Cited Online: [12.06.2011]
Memory-Map Remote Tracking, http://www.memory-
map.com/index_frame.html?http://www.memory-map.com/memory-
map_remote_tracking.htm, Cited Online: [16.11.2011]
Miu, A., Design and implementation of an Indoor Mobile Navigation System, Master Thesis,
Massachusetts Institute of Technology, 2002.
Mulloni, A. Wagner, D and Schmalstieg, D., Indoor Positioning and Navigation with
Camera Phones, April 2009.
Ning, F., Kao,S., Chang, C. and Meng, X., Preliminary Testing of Pseudolite to Improve GPS
Precision, 2004
Nelen, T.,Weyn, M. and Klepal, M., Indoor Navigation for Complex Environments, Master
Thesis, 2010-2011.
OpenStreetMap community, http://www.openstreetmap.org/ Cited Online: [04.08.2011]
Pan, S., Zheng, V., Yang, Q. and Hu, D., Transfer Learning for WiFi-based Indoor
Localization, 2008
Papataxiarhis, V., Riga, V., Nomikos, V., Sekkas, O., Kolomvatsos, K., Tsetsos, V.,
Papageorgas, P., Vourakis, S., Xouris,V., Hadjiefthymiades, S. and Kouroupetroglou, G.,
MNISIKLIS: Indoor Location Based Services for All, 2008
PhoneGap, http://www.phonegap.com/ [Cited: 12.05.2011]
Priyantha, N., Chakraborty, A., and Balakrishnan, H., The Cricket Location-Support System,
2000.
Pomp, A., Indoor Navigation [Comparing different indoor location determination
approaches], 2011.
Real-Time Location System (RTLS), http://www.ekahau.com/ Cited Online: [October 28,
2011]
52
Russia Place 3 More Satellites in Orbit, http://insidegnss.com/node/348 Cited Online:
[27.10.2011]
Ruppel, P. and Gschwandtner, F., Spontaneous and Privacy-friendly Mobile Indoor Routing
and Navigation, 2009
Salminen, T. and Hosio, S., Region-Based Positioning Method for Cellular Networks, 2006
Shortest Path Problem: DIjkstra’s Algorithm,
http://www.codeproject.com/Articles/19919/Shortest-Path-Problem-Dijkstra-s-Algorithm,
Cited Online : [07.02.2012]
Streiner, D. and Norman, G., ‘‘Precision’’ and ‘‘Accuracy’’: Two Terms That Are Neither,
2005.
Stook, J., Planning an indoor navigation service for a smartphone with Wi-Fi fingerprinting
localization, Master Thesis, TU Delft, August 2011.
Ting, S., Kwok, S., Tsang, A. and Ho, G., The Study on Using Passive RFID Tags For
Indoor Positioning, International Journal of Engineering Business Management, Vol. 3, No.
1, 2011
The Bat Ultrasonic Location System http://www.cl.cam.ac.uk/research/dtg/attarchive/bat/ ,
Cited Online: [10.10.2011]
They Are Up! EU Launches First Galileo IOV Satellites http://insidegnss.com/node/2796
Cited Online: [27.10.2011]
Top 10 QR Code Tech Support Questions http://www.qrstuff.com/blog/ Cited Online:
[17.10.2011]
Wang, J., Pseudolite Applications in Positioning and Navigation: Progress and Problems
Journal of Global Positioning Systems, Vol. 1 pg: 48-56, July 2002.
Wang, S., Min, J. and Yi, B., Location based Services for Mobiles: Technologies and
Standards, LG Electronics Mobile Research, USA, 2008
Want, R., Hooper, A., Falcao, V. and Gibbons, J., The Active Badge Location System, 1992
Weyn, Maarten, Schrooyen and Frederick A WiFi assisted GPS Positioning Concept, January
2008.
What's the difference between passive and active tags? http://www.rfidjournal.com/faq/18/68
[Cited: 11.10.2011]
53
What is Galileo, http://www.esa.int/esaNA/galileo.html Cited Online: [04.11.2011]
What is Android, http://developer.android.com/guide/basics/what-is-android.html Cited
Online: [08.11.2012
Xiang, Song, Z., Chen, S., Wang, J., H;et. Al., A wireless LAN-based indoors positioning
technology, IBM Journal of Research and Development; Sep-Nov 2004, pg. 617.
Zaruba, G., Huber, M., Kamangar, F. and Chlamtac, I., Indoor location tracking using RSSI
readings from a single Wi-Fi access point, June 2006
Zandbergen, P., Accuracy of iPhone Locations: A Comparison of Assisted GPS, Wi-Fi and
Cellular Positioning, Transactions in GPS, s1 pg.: 5-26, 2009.