Wireless Map Server - Colota

wirelessguideMobile - Wireless

Nov 24, 2013 (3 years and 7 months ago)

119 views



DL7
2003
-
2004 FYP
Final

Report

Wireless Map Server

for PDAs


b
y


Fu Kit Yan

Yeung Ching Wai


Advised by


Dr. Dik Lee


Submitted in partial fulfillment

of the requirements for COMP
39
6

in the

Department of Computer Scie
nce

Hong Kong University of Science and Technology





Name of student:


Fu Kit Yan
, Kian



Signature:



Date:


Name of student:


Yeung Ching Wai
, Steven

Signature:



Date:

A
A
B
B
S
S
T
T
R
R
A
A
C
C
T
T


Nowadays,
PDAs are becoming
more

popular and affordable.
With
their

incr
easing
computational power,
they do

not just act as organizer
s
.

One of the most
desired

features

on them

is map
navigation
. In our final year project, we aim to
build a map
server
-
client system, to provide convenient drawing and
navigation
tools. We
im
plemen
t

a map drawing tool
to automatically build

the semantic location model
without human intervention. A PocketPC
navigation
tool
is

built to allow users to
navigate

maps in a context
-
aware
manner;

only the
neighbor
s of the current
locations
are

shown
,

consuming

low
er

bandwidth

than presenting the whole static
map
.
Users
will be able to

perform

shortest path
query

from
their current location to
a destination
.

The system also guide
s

the users step by step to arrive

at their

destination.




Table of C
ontents

ABSTRACT

................................
................................
............................

1

CHAPER 1. INTRODUCTI
ON

................................
................................
.

1

CHAPER 2. OBJECTIVE

................................
................................
........

2

CHAPER 3. RESULTS

................................
................................
...........

3

3.1.

Design Phase

................................
...............................

3

3.1.1.

System Design

................................
................................
................................
.

3

3.1.2.

Problem Discussion

................................
................................
.........................

9

3.1.2.1.

Corridor detection and extraction

................................
.........................

9

3.1.2.2. Exit handling

................................
................................
.........................

9

3.1.2.3. Building Exit Hierarchy and Location Hierarchy

...............................

10

3.1.2.4. Extract Compact Exit Hierarchy(CEH
)

................................
..............

12

3.1.2.5. Shortest path in CEH

................................
................................
..........

14

3.1.2.6. Shortest path across maps

................................
................................
...

14

3.1.2.7. Save and load functions in the GUI floorplan editing tool

.................

15

3.1.2.8. Finding path using visibility graph

................................
.....................

16

3.1.2.9. Handling large computation in the server instead of the client

..........

17

3.1.2.10. Programming the PDA displaying tool with eMbedded Visual C++
18

3.1.2.11. Displaying image on the PDA

................................
..........................

18

3.1.2.12. Creating XML

................................
................................
...................

18

3.1.2.13. XML query r
esult

................................
................................
..............

18

3.1.2.14. Shortest path tracking

................................
................................
.......

20

3.2.

Implementation Phase

................................
................

22

3.3.

Testing Phase

................................
.............................

24

3.4.

Evaluation Phase

................................
........................

26

CHAPER 4. CONCLUSION

................................
................................
..

27

CHAPER 5. REFERENCES
................................
................................
..

28

CHAPER 6. APPENDICES

................................
................................
...

31

6.1.

Hardware and Software Requirements

...............................

31

6.2.

GUI Floor Plan Editing Tool

................................
........

32

6.3.

Database


ER Diagram

................................
.............

37

6.4.

Minutes

................................
................................
.......

38



Wireless Map Ser
ver for PDAs (DL7)


Page
1


C
C
H
H
A
A
P
P
T
T
E
E
R
R


1
1
.
.


I
I
N
N
T
T
R
R
O
O
D
D
U
U
C
C
T
T
I
I
O
O
N
N


T
he demand
for

PDA software packages is
rapidly
increas
ing and

map
navigation
is
one of the most popular packages
because it offers

such convenience
.

Compar
ed

with
searc
h
ing
for
a
dest
ination
from a book index and then
finding

the corresponding page,
map navig
a
tion on the PDA consumes
considerably
less time

and is far
easier
.

There
are many other advantages
.


For

map navigation, locations are very important attributes for spatial objec
ts such as
buildings and rooms.

In mobile computing, especially location
-
based applications,
l
ocations

play a critical role in storing spatial knowledge.


Traditionally, locations are
described by maps, either raster maps or vector maps.


However, as PDAs

have
small

screen
s
, displaying an entire map is annoying

for the user
, even
if
the scaling and
paneling functions are supported.

Furthermore, complicated indoor map
s

often confuse
users.


Therefore, displaying locations in the context of the user’s curre
nt location, i.e.,
only displaying a small number of objects whose locations are “closely relevant” to the
user’s current location, is more advisable.


Location
-
based applications need a well
-
formed representation of spatial knowledge.
Current location mo
dels suffer from either huge amounts of manual work (symbolic
models) or loss of semantics (geometric models). Our project, therefore,
is

to build a
semantic location model

that

preserves topology and distance semantics for location
navigation and visuali
zation.

A

map navigation tool based on the model
is developed
in
a server
-
client network.

Wireless Map Ser
ver for PDAs (DL7)


Page
2


C
C
H
H
A
A
P
P
T
T
E
E
R
R


2
2
.
.


O
O
B
B
J
J
E
E
C
C
T
T
I
I
V
V
E
E


In this project, we aim to
gain

a better understanding of location semantics in the
context of navigation and develop a more user
-
friendly tool for locati
on navigations,
which are implemente
d on the server and client side

respectively.


Although there exist

some map editing tools in the market, such as AutoCAD and

SmartDraw, they are either too expensive or

there is a
loss
of
semantics. If we i
m
port
the fl
oor plan created by the existing tools, conversion according to the semantic
location model is required. Therefore, a proprietary editing tool specialized for this
project is desirable
.

Not only it is more controllable, but also it
is

a good
opportunity

to
explore the core components.


In

this project, we
have
develop
ed

an

editing tool to input
data of
floor plans with a
s
e
mantic location model
o
n the server side.

The location model is based on a r
e
search
paper

presented by
Dr.
Dik
-
Lun Lee

and

Haibo Hu

[6]
.


On the PDA client side
, a
GUI
navigation
tool is designed
to allow users to issue
queries against the floor plans and to
display the
corresponding

context
-
aware loc
a
tion
map.


Wireless Map Ser
ver for PDAs (DL7)


Page
3


C
C
H
H
A
A
P
P
T
T
E
E
R
R


3
3
.
.


R
R
E
E
S
S
U
U
L
L
T
T
S
S


3
3
.
.
1
1
.
.


D
D
E
E
S
S
I
I
G
G
N
N


P
P
H
H
A
A
S
S
E
E


3
3
.
.
1
1
.
.
1
1
.
.


S
S
Y
Y
S
S
T
T
E
E
M
M


D
D
E
E
S
S
I
I
G
G
N
N


Our
system

involves building a

server
-
client
architecture
.

A
GUI floor plan editing tool

is
built

to facilitate a human operator to convert the locations in the physical world into the
semantic location model
, while

the

database
o
n
the

server side

stores

the attributes of
the model and relevant information
about
each location.
O
n the PDA client side, a GUI
navigation

tool
is
built to allow users to
navigate and

issue qu
e
ries against the floor plan.
Then
t
he
requested data and information
is

retrieved from the server. The
PDA
navigation

tool
responds

to

reconstruct

the data and display

the corresponding path.


The system

in
Figure 3.1

is divided into
five

parts
:
GUI
floor plan
editing tool
, database,
two
Java Servlet
s (
I
mage
Servlet

and
Q
uer
y Servlet
)

[18]

and the PDA
navigation
tool.


Wireless Map Ser
ver for PDAs (DL7)


Page
4



Figure 3.1.

System

overvi
ew


3
3
.
.
1
1
.
.
1
1
.
.
1
1
.
.


G
G
U
U
I
I


F
F
L
L
O
O
O
O
R
R
P
P
L
L
A
A
N
N


E
E
D
D
I
I
T
T
I
I
N
N
G
G


T
T
O
O
O
O
L
L


The GUI
floor plan
editing tool is responsible for converting the locations in the physical
world into the semantic location model. The model is based on Hu and Lee’s “
Semantic
Location Modeling for Location Navigation and V
isualization in Mobile Environment

[6]

and is stored in the database.
The semantic location model preserves
topolog
ical
relation


reachability among locations, and
distance semantics to support location
navigation but a
t the
same

time facilitates programmatic model construction and
maintenance
.
The
model requires

identification of at least three kinds of
entities
1
:
rooms,
exits
2

and corridors
in order to build
Location Hierarchy

and

Exit Hierarchy
3
,
wh
ich is illustrated in Appendix
Figure 6.4







1

E
ntities are heterogeneously defined as they are in the real world, such as buildings, rooms and corridors.

2

The location of an entity is a bounded geographic area with one of more

exits

, where an exit is a boundary from
and into which
the entity can depart and enter.

3

Modeling the Semantic Distances:
refer to

Dr.
Lee and Hu

s paper

[6]

MySQL

Image

Servlet

Query

Servlet

Semantic

Location

Model


Wired/

Wirels
s


Wired/

Wirels
s


GUI Floorplan Editing Tool

PDA Navigation
Tool

Wireless Map Ser
ver for PDAs (DL7)


Page
5



The GUI floor plan editing tool can be used as
easily

as Microsoft Paint. It provides the
fo
l
lowing

functionalities:



read a
n
image

which can be a floor plan
into the program and set a
s bac
k
ground



draw rectangles and polygons

to represent
rooms



draw
ex
i
ts, which is a different icon to intersect between two entities



draw virtual wall to
separate large

corridor
s



rename

/ move / resize / delete the entities



generate and verify the m
odel data



save
to and

load from files



save the floor plan as an image



export the semantic location model to the database



set external relation between
different

maps



upload
map image to the server



set location

features

(
purpose

/

function
, room size,

f
loor,
nearest
lift,


,
etc
.
)



upload
location
picture

to the server


3
3
.
.
1
1
.
.
1
1
.
.
2
2
.
.


Q
Q
U
U
E
E
R
R
Y
Y


S
S
E
E
R
R
V
V
L
L
E
E
T
T


The
Q
uery
Servlet respon
d
s to receive queries from the client and retrieve
corresponding data form the database and send the result back to the client. It
manipu
lates

the following queries from the client:



check current location

by

getting the current

x and y
coordinate
s



retrieve the context
-
aware location from the database
by getting the current map
and
current
location
and
then
send
the result back in XML format



perform shortest path query
by getting the source and destination
and send the
result back in XML format



get

all

map

names

and location

names



get

location features


3
3
.
.
1
1
.
.
1
1
.
.
3
3
.
.


I
I
M
M
A
A
G
G
E
E


S
S
E
E
R
R
V
V
L
L
E
E
T
T


Wireless Map Ser
ver for PDAs (DL7)


Page
6


The
I
mage
Servlet
respon
sible for image transmission.

It
receive
s

uploaded
map
image

and location picture

from
the
GUI floor plan editing tool
. Also, it
send
s

requested
map image
and location
picture

to the client.


3
3
.
.
1
1
.
.
1
1
.
.
4
4
.
.


P
P
D
D
A
A


D
D
I
I
S
S
P
P
L
L
A
A
Y
Y
I
I
N
N
G
G


T
T
O
O
O
O
L
L


The PDA

displaying

tool allows users to get the data model from the database through
the
Java S
ervlet

and performs location queries and navigation.

Two navigation modes
were

implemented

which
are

Drawing mode and PNG mode. Both the two modes have

the following functionalities:



send request to and get result from the Java Servlet



retrieve XML format query result



issue
queries:
shortest path

and current location feature

as shown in
Figure 3.2



display picture of the current location



zoom in and zoom out function


The
unique
functionalities
implemented in

the Drawing mode
:



draw the context
-
aware location
,
including

the current location and its surrounding
neighbors




draw
next level
neighbors

when z
oom out level
is
getting
higher

as shown in
Figure
3.3

and
Figure 3.4



display the
shortest path
query result:

-

adjust the screen to show the start location with surrounding
neighb
ors

-

point to the next location with
an
arrow

-

click on the current location to
show the

next step


The

unique

functionalities implemented in the PNG mode



load the
PNG
image of the map



display the shortest path query result:

-

show the whole path
from th
e current location to the destination
with arrows




Wireless Map Ser
ver for PDAs (DL7)


Page
7







(a)







(b)

Figure 3.2.

Issue (a)

shortest path query

(b) current location feature query







Figure 3.3.

The
Location Hierarchy

of CS lab



Current
Location

First Level
Neighbors

Second
Level
Neighbors

Wireless Map Ser
ver for PDAs (DL7)


Page
8







(a)







(b)

Figure 3.4.

The context
-
aware displaying mode (a) without zoom (b) zoom out



Wireless Map Ser
ver for PDAs (DL7)


Page
9


3
3
.
.
1
1
.
.
2
2
.
.


P
P
R
R
O
O
B
B
L
L
E
E
M
M


D
D
I
I
S
S
C
C
U
U
S
S
S
S
I
I
O
O
N
N


3
3
.
.
1
1
.
.
2
2
.
.
1
1
.
.


G
G
U
U
I
I


F
F
L
L
O
O
O
O
R
R
P
P
L
L
A
A
N
N


E
E
D
D
I
I
T
T
I
I
N
N
G
G


T
T
O
O
O
O
L
L


Corridor
D
etection
and
E
xtra
c
tion

Corridor detection was one of the challenging
problems

in the design phase of the GUI
f
loor plan editing tool. Drawing corridors manually over the room entity was not a user
-
friendly way. So we tried to detect the corridor intelligently. Our method was to find the
largest area to subtract the area of the room entities, using the function
subtract(Area
rhs)

in
java.awt.geom.Area
. Then it returned a
set

of
Area

of the corridors. The
function

getPathIterator(AffineTransform at)

allowed

us

to extract the polygonal
corridors one by one. However, the above method did not suit the non
-
singula
r
polygon


there were more than one subpath inside the area, i.e. there were holes in
the corridor.
Figure 3.5

presents
a
simplified

description of our corridor detection
algorithm.



Figure 3.5.

Corridor detection algorithm


Exit
H
andling


Exit


was an important
entity

in
the
semantic location model.
I
t belonged to two entities

and
it had a physical meaning that the two
entities

could
directly
go to each other. By
using
intersects(
Rectangle2D p)
, if an entity intersected an exit, then the exit id was
added the exit list of the entity, and the exit added the entity id to its owner list. A
BigArea : the resulting area subtracting from the room entities

AreaList: a

collection
of the area bounded by each subpath extracted from BigArea


for each area, Ai, in th
e AreaList

{


Ai subtracts all other area in AreaList



if( Ai intersects BigArea)

{



// Ai is the proper corridor


}


else {



// Ai is an internal hole of the corridor
, reject
ed


}

}

Wireless Map Ser
ver for PDAs (DL7)


Page
10


constraint that
an exit always has

exactly two owners was assumed as in
the
physical

world. In

our implementation,
this was
tracked

when an exit was triggered, i.e. create
d,
moved or resized. The
error

must
be
correct
ed

in order to
perform

the
next action.


The e
xits
,

associated with

a room or a corridor,
were reachable
to

each other. If a
corrid
or was too large, the model could not clearly represent it
s physical
relation. Thus,
a
“virtual wall”
was imposed to divide the corridor into smaller parts. Then the user
could add an exit over the two separated corridors.


Drawing Constrain
t
s

In
order t
o
generate the exit hierarchy, location hierarchy and
compact exit hierarchy

correctly,
t
he
floorplan

drawn by the user must be realistic
. For example,

each

entit
y

must have
unique

id
, otherwise the entity could not be specified.


Therefore

some
constrain
s were implemented to
ensure
the user drawing
valid
and error
-
free
floorplan.

The
drawing constrains are listed as follows:



s
ize of
location

must be greater than zero



exit must
cross exactly two entities




each exit id in a map must be unique



each location

id

in a map
must be

unique



each location
must have

at least one exit


Construction of

E
xit
H
ierarchy and
L
ocation
H
ierarchy

To represent the exit hierarchy and location hierarchy, we had used the JTree in Java.
However, a child node in

JTree could not have two parent nodes.
To overcome this
problem, we
added a duplicate child node to present the hierarchy as shown in Figure
6.2

(in Appendix 6.2)
. Also, we
used

JGraph
[9]

and JGraphT
[3]
, which are
free third
-
party Java librar
ies, to present the tree with multiple parents pointed to one child

as
shown in
Figure 6.3

(in Appendix 6.2)
.

Figure 3.6

and
Figure 3.7

are methods to
construct the exit hierarchy and location hierarchy respectively.


Wireless Map Ser
ver for PDAs (DL7)


Page
11



Figure 3.6.

Method to construct exit hierarchy using JTree with TreeNode


TreeNode
Exit
Hierarchy{

create TreeNode "root" with the root
exit

id

create
Queue processing, processed

processing.enqueue( root )

while ( processing is not empty ) {

TreeNode parent = processing.dequeue()

processed
.enqueue( parent )

find the entity of "parent"

for each
owner

of the entity {


for each exit, ex, of the owner{

if (
ex

cannot be found in processed || in the same level
but pointed to different parent ){

create TreeNode "child" with "
ex
"

parent.addChild( c
hild )

processing.enqueue( child )

processed.enqueue( child )

}

}

}

}

return root

}

Wireless Map Ser
ver for PDAs (DL7)


Page
12



Figure 3.7.

Method to construct
loca
tion

hierarchy using JTree with TreeNode


Extract
ion of

Compact
E
xit
H
ierarchy

(CEH)

The compact exit hierarchy (CEH)
, referred to
Lee and Hu

s paper
,

is a simplified exit
hierarchy. It is feasible for visualization to end
-
users. Shortest paths are more
efficiently found.
T
he extraction is based on the reachability of exits in the same level.

If they
can reach
others,
or they can reach others
by going down a level,
then group
them into a block.

Figure 3.8

is the
algorithm to extract the CEH from exit hierarchy

and
Figure 3.9

illustrates a
CEH example.

TreeNode LocationHierarchy{

create TreeNode "root" with the root loca
tion id

create
Queue processing, processed

processing.enqueue( root )

while ( processing is not empty ) {

TreeNode parent = processing.dequeue()

processed.enqueue( parent )

find the entity of "parent"

for each exit of the entity {

loc = location where the
exit can access

if (loc cannot be found in processed || in the same level but
pointed to different parent ){

create TreeNode "child" with "loc"

parent.addChild( child )

processing.enqueue( child )

processed.enqueue( child )

}

}

}

return root

}

Wireless Map Ser
ver for PDAs (DL7)


Page
13



Figure 3.8.

Algorithm

to extract CEH



Figure 3.9.

Sketches of
Compact
Exit Hierarchy



Shortest
P
ath in CEH

Input
:
G
: the exit hierarchy


maxLevel
:
.
max.
v GV
v level


Output
: G
c
:
CEH


Pr
ocedure
:

1:

create an empty graph M;

2:

M
.
V = vertices of
maxLevel

in G;

3:

M
.
E = edges between vertices of
maxLevel

in G;

4:

fin
d connected components u
1
,

u
2
,


,

u
n

of M;

5:

insert u
1
,

u
2,


,

u
n

as vertices into G
c
;

6:

for

level

from
maxLevel

-

1
down to 0
do

7:


create an empty graph M;

8:


M
.
V = vertices of
level

in G



vertices of
level

+ 1 in G
c
;

9:


M
.
E = edges between vertices of
level

in G


edges between
u
,


a
level

vertex in G and
p
, a
level

+ 1 vertex in

G
c

if

,,.
v p u v GE
  
;

10:


fi
nd connected components u
1
,

u
2,


of M;

11:


remove vertices of
level

in G from u
1
,

u
2,
…;

12:


insert u
1
,

u
2,


as vertices into G
c
;

Wireless Map Ser
ver for PDAs (DL7)


Page
14



Figure 3.10.

S
hortest path

from x to y
in

CEH


T
o find the shortest path from an exit x to y,
in
Figure 3.10
,
we need
ed

to find the blocks
contain the exits with a tree path connecting
them
.
The resultant tree path was
1 2
U S S V
  
.

The

shortest path
c
ould

be represented by
1 1 2
(,) (,)...(,)
n
path x s path s s path s y
  
, w
here
,1
i i
s S i n
   
. And the shortest
distance is
1
1 1
1
(,) ( ) ( )
n
n i i
i
weight x s weight s y weight s s



   

, where
(,)
weight x y

=
shortest distance from x to y in G,
(,)
path x y

= shortest path from x to y in G. We have
the following recurs
ive formula for the DP algorithm:


If
x

and

,
i j
s

can be directly reachable, the distance between these two exits is the
shortest. On the other hand, like in

Figure 3.10
,
1
s

and
2
s

are not directly reachable.

W
e need to resolve it in the corresponding path,
1 2
s t s
 
, using Dijkstra

s

shortest
path algorithm
among the nodes in the two blocks

S
1

and S
2
.


Shortest
P
ath
A
cross
D
ifferent
M
aps

To find the shortest path
across

different
maps, we need to use the data in
ExternalRelation in
the

database to build the tree:



Wireless Map Ser
ver for PDAs (DL7)


Page
15




ExternalRelation

mapId1

L
ocation1

mapId2

Location2

1

b

2

b


1

b

3

b
’’

3

d

4

d




Figure 3.11.

Data in Externalrelation

and the overview of the map
s




1
,


a
,


b
2
,


b
'
,


c
3
,


b
'
'
,


d
4
,


d
'
,


f
N
o
t
a
t
i
o
n
:
M
a
p

I
d
,

s
t
a
r
t

l
o
c
a
t
i
o
n
,

e
n
d

l
o
c
a
t
i
o
n



Figure 3.12.

Tree for query locations in different maps


The tree edge was added between two nodes if an end location of a node can go to
another node

s start l
ocation.
If
the query is
from location a in map 1 to location f in
map 5, from the tree diagram, the path is: 1a

1b, 3b
’’


3d, 5d



5f. For the each
pair of path
s
, we can find
the shortest path using the CEH.


Save and
L
oad
F
unctions in
t
he GUI
F
loorplan
E
diting
T
ool

To provide save and load functions

in the GUI floorplan editing tool
, the data was stored
in
ASCII

format as it had to be exported to

the

database. Moreo
ver, the
extraction of


Wireless Map Ser
ver for PDAs (DL7)


Page
16


points and reconstruction had to be properly ordered. Polygons and corridors
had

added a

set of
sequence number
s

to record the order of the points.


Save the Floorplan as an
I
mage

The solution is to create a separate
java.awt.Image

object from

java.awt.Component
.

T
hen
we
call
ed

getGraphics()

on
the

image and passe
d

the

java.awt.Graphics

object to
the
paint(Graphics g)

method.

In order to save the image, we
use
d

the
javax.imageio.ImageIO

utility class' static

write(RenderedImage im,

String formatName, File
output)
.


U
sing

V
isibility
G
raph

to
C
alculate
P
ath
D
istance

Since there were potentially some irregular
-
shape
entities
, s
ome exits belonging to the
same room or corridor
cann
ot be directly connected with a str
aight line. Therefore, the
distance between entities could not be

simply

calculated from two points.
V
isibility
graph
was

used to solve this problem.

The details of the algorithm
were
shown
in
Figure 3.13

and a sample result
was
shown in
Figure 3.14
.



Figure 3.13.

Visibility graph algorithm


A visibilit
y graph is a graph such that



Nodes:
init
q
,
goal
q
, or an obstacle vertex.



Edges: An edge exits between nodes
u

and
v

is the line segment between
u

and
v

is an
obstacle edge or it does not intersect the obstacles.


A simpl
e algorithm for building visibility graphs

Input:
init
q
,
goal
q
, polygonal obstacles

Output:

visibility graph G


1:

for

every pair of nodes u, v

2:


if

segment (u,v) is an obstacle edge
then

3:



insert edge(u,v) into G;

4:


else

5:



for

every obstacle edge e

6:



if

segment(u,v) intersects e

7:





go to (1);

8:



insert edge(u,v) into G

Wireless Map Ser
ver for PDAs (DL7)


Page
17



Figure 3.14.

Visibility graph sample result


shortest path discovery from point 20 to
other

points


3
3
.
.
1
1
.
.
2
2
.
.
2
2
.
.


Q
Q
U
U
E
E
R
R
Y
Y


S
S
E
E
R
R
V
V
L
L
E
E
T
T


Creating XML

Once the Java Servlet received the query, such as, context
-
aware location query and
shortest path query, relative data would be collected from the database and then
generated the XML result. We used the class
javax.xml.parsers.Docu
mentBuilderFactory

that enables applications to obtain a parser that produces DOM object trees from XML
documents. Each element in the XML document was represented by the
Element

interface
.

After the whole XML DOM tree was built, the result would be sent

back to the
client.


Handling large computation in the server instead of the client

The PDAs in fact had less computational power than

a

desktop. Also, the power
consumption was a
big

concern. The more
the
computations, the more
the
power
consumption.
The location model reconstruction and recognition were done in the
server side in order to reduce the
burden

of
the PDA.
The PDA displaying tool

handled
the navigation
, drew the map

and sent request
s

to the server.

Wireless Map Ser
ver for PDAs (DL7)


Page
18



3
3
.
.
1
1
.
.
2
2
.
.
3
3
.
.


P
P
D
D
A
A


M
M
A
A
P
P


N
N
A
A
V
V
I
I
G
G
A
A
T
T
I
I
O
O
N
N


T
T
O
O
O
O
L
L


Prog
ramming the PDA
Map Navigation
T
tool with eMbedded Visual C++

In the
preliminary

design,
Java

TM

2 Platform, Micro Edition (J2ME)

[16]

was chosen as
the
development platform
for the PDA
Map Navigation
T
ool. However, during testing,
we could
not
execute J2
ME programs through

J
ava
V
irtual
M
achine on PocketPC 2003.
We further searched the Internet and found that there were
selfdom
J2ME resources for
PocketPC 2003. Therefore, we
decided to

s
witch to
use
Microsoft
eMbedded

Visual
C++ 4.0
[11]

to program the PDA
Map Navigation T
ool,

as it is more common
used in

developing application
s

for PocketPC 2003.


Displaying
M
ap
I
mage on

PDA

In order to display
map
image on the PDA,
i
mages are loaded through a sparsely
-
documented API, implemented through the
imgdecmp.lib
.

Both this libra
ry and its
header are distributed with the
PPC200
3

SDK
.

Apparently, this is the same mechanism
that is used by Pocket IE to load its images from the Internet, and that is why it supports
packet architecture.

The process involves calling
two callback functions. The first
callback function
-

GetImageData()

-

is used to read the image data in chunks, whereas
the second

function

-

ImageProgress()

-

is used to report the image loading progress.


Displaying

L
ocation
P
icture
on
PDA

For displaying picture,
the user first
requests

the file name of the location picture and
then send
s

this
name to the Image Servlet to get the picture

file.
A

function
HBITMAP

SH
LoadImageFile(LPCTSTR

pszFileName
)

in

aygshell.h

was

used
to
c
onvert a .gif file to a
bitmap
.
It

return
s a handle to a bitmap.

However, it also worked
fine
for
.png
and .bmp
file
, but not .jpg file
.


Process
ing
XML
Q
uery
R
esult

In the PDA displaying tool, we used
XML DOM
Interfaces and
Methods

(C++) to
retrieve the XML format query result
and

save the result in
different

object lists. The
context
-
aware map and shortest path query was di
splayed based on the data of the
object lists.

Figure 3.15
,
Figure 3.16

and
Figure 3.17

are example of XM
L format query
Wireless Map Ser
ver for PDAs (DL7)


Page
19


result of context
-
aware location
query

under navigation mode, under shortest query
mode
and shortest path
query
respectively.

The context
-
aware location query result
contains the details of
current

location and its
neighbour

locations, as w
ell as their exits.
I
f the
user requests

the shortest path, the direction arrows are also included.
T
he
shortest path query result contains the start location name, the destination location
name and the in
termediate location name. Also, the exits pass t
hrough in each location
are also included.



Figure 3.15.

Example of context
-
aware location query result
under normal navigation mode

where current map is

cs


and current

location is

lift

.


Wireless Map Ser
ver for PDAs (DL7)


Page
20



Figure 3.16.

Example of context
-
aware location query result under shortest path q
uery mode

where current map is

cs


and current location is

4202

.



Figure 3.17.

Example of shortest path query result where source map is

cs

, source location

is

4201

,

destination map is

ee


and destination location is

3202

.


Shortest
P
ath
T
racking

Wireless Map Ser
ver for PDAs (DL7)


Page
21


Once
the user issue
d

shortest path query request, some directive arrow
s

would be
shown on the PDA screen to guide the user to arrive the destination. However, when
the user moves to a wrong step, the PDA displaying tool would prompt out message
and ask the use
r whether he wants to query again. Th
is

is done by a shortest path
tracking algorithm.
Figure 3.18

is the flow chart of the algorithm.

M
o
v
e

t
o

a
n
e
w

l
o
c
a
t
i
o
n
?
P
r
i
n
t

m
e
s
s
a
g
e
"
P
l
e
a
s
e

g
o

t
o

n
e
x
t
s
t
e
p
!
"
Y
e
s
N
o
C
o
r
r
e
c
t
s
t
e
p
?
Y
e
s
S
e
t

s
h
o
r
t
e
s
t

p
a
t
h
m
o
d
e

t
o

b
e

f
a
l
s
e
A
r
r
i
v
e
d
e
s
t
i
n
a
t
i
o
n
?
S
e
t

s
h
o
r
t
e
s
t

p
a
t
h
m
o
d
e

t
o

b
e

f
a
l
s
e
Y
e
s
N
o
N
o
Q
u
e
r
y
a
g
a
i
n
?
G
e
t

q
u
e
r
y

r
e
s
u
l
t
i
n

X
M
L

f
o
r
m
a
t
Y
e
s
U
s
e
r
m
o
v
e
s
?
Y
e
s
N
o
N
o
G
e
t

q
u
e
r
y

r
e
s
u
l
t

i
n
X
M
L

f
o
r
m
a
t
U
s
e
r

i
s
s
u
e
s
s
h
o
r
t
e
s
t

p
a
t
h
q
u
e
r
y


Figure 3.18.

Flow chart of the shortest p
ath tracking algorithm



Wireless Map Ser
ver for PDAs (DL7)


Page
22


3
3
.
.
2
2
.
.


I
I
M
M
P
P
L
L
E
E
M
M
E
E
N
N
T
T
A
A
T
T
I
I
O
O
N
N


P
P
H
H
A
A
S
S
E
E


During the Implementation Phase, we
had

been
implement
ing

the system according to
the Design Phase. Our strategy
was

to get the basic structure

function
ing
and then
grow

more details

on it
.




GUI
F
loor
pl
an
E
diting
T
ool

We have implemented it using Java to provide drawing functions and location
model
recognition
. We have used third
-
party
Java class library

JGraph and
JGraphT to represent the hierarchical graph. Then we have used the
MySQL
Con
nector/
J

[14]

to connect to

the

database.

In the GUI implementation, we used
the design pattern from the book, refer
r
ed to

-
[7]
, to make the code more object
-
oriented.




Database

We have used M
ySQL 4.0 Database Management System
[15]
, which is provided
by CS System, to store the location model details.




Java Servlet

We have used Tomcat

-
[2]

to run Java Servlet
(i)
to act between

the client and
the database

and (ii) to use for image transmission
.




PDA
Map
Navigation

tool

We have used Microsoft eMbedded Visual C++ 4.0 and Pocket PC 2003 SDK
[13]

to implement the graphical user interface on Microsoft Pocket PC 2003. We use
d

HP iPAQ h2210 and the Pocket PC 2003 Emulator to test it.

The tool was
implemented with MFC's document/view architecture
-
[8]

whi
ch is a
programming model that separates documents from their views provides many
benefits, not the least of which is that it more clearly defines the division of labor
among software components and results in a higher degree of modularity. But the
more co
mpelling reason to take advantage of MFC's document/view architecture is
that it simplifies the development process.

Code to perform routine chores such as
Wireless Map Ser
ver for PDAs (DL7)


Page
23


prompting the user to save unsaved data before a document is closed is provided
for you by the fram
ework. So is code to transform ordinary applications into Active
Document servers, to save documents to disk and read them back, to simplify
printing, and much more. The
s
ingle document interface

(SDI)
in
Figure 3.19

was
used

in our project
to support just one open document at a time.


Figure 3.19.

The SDI document/view architecture.





Wireless Map Ser
ver for PDAs (DL7)


Page
24


T
T
E
E
S
S
T
T
I
I
N
N
G
G


P
P
H
H
A
A
S
S
E
E


The
t
esting
p
hase
was

carried out during the entire development process. We
first
test
ed

the smallest
parts and ensure
d

each p
art works
, and then int
e
grated
in
to a larger
part
. Finally, the whole system
was

tested

with

different sets of data
.


We tested

the GUI floor plan editing tool, firstly, by drawing arbitrary shapes in order to
design the drawing constraints, such as, uniq
ue entity name and an exit over
exactly

two entities. After implementing the constraints, we tested the tool with a physical world
map.
T
he result of modelling the CS laboratory

is in Appendix 6.2
.


For the semantic location model
,

i.e. location hierarc
hy and location hierarchy, we first
generate
d

it with a simple floor plan. Then we drew
the
floor plan with different cases,
and

fixed the errors one by one.
Figure 6.3

and
Figure 6.4

are
the

semant
ic location
model of

CS laboratory

presented in JTree

and
tree

graph

respectively.


After the semantic location model was built, we exported the attributes of the entities to
ASCII format and
verified

it
. Once the data was correct, we exported the attribu
tes of
the

entities and relations
in
the semantic
location

model

to the database.


To ensure data consistenc
y

between server side and client side, we have compared the
output

text
, the data stored in database, and the data retrieved from the Java Servlet.

Once all data were consistent, we
re
con
str
ucted
the

entities in the Java Servlet and
tested

the response of the Java Servlet by sending some request
s
.

Then we
outputted

the request data in XML format to the PDA displaying tool
and

compared the
result on
the PDA screen or emulator.


Due to there is no system output from the PDA, we always use
the function

AfxMessageBox(LPCTSTR
lpszText
, UINT
nType

= MB_OK, UINT
nIDHelp

= 0
)

in
Microsoft

Foundation

Class

Li
brary

to
prompt a message box to
show the intermediate
output for debugging purpose.

Also,
t
wo particularly helpful precompiler macros
defined in the MFC libraries:
TRACE

and
ASSERT

were used
.

The
TRACE

macro allows
you to log out text to the output wind
ow in a debugger
.
The
ASSERT

macro causes
Wireless Map Ser
ver for PDAs (DL7)


Page
25


program execution to halt, if the expression passed to it is not true. Because the
ASSERT

macros are evaluated only in programs built using a debug configuration, they
present an excellent opportunity to validate
every parameter during the debug phase.
They do not slow down execution in the release build because they are compiled out.


T
o perform the shortest path query, we first sent some simple requests, for example,
the source
location

and destination
location
a
re within one map. After the query result
was correct, a more complicated quer
y was issued to test the system, such as

the
source location and destination location are in
different

map.
O
nce both simple and
complicated were corrected, all query results
would be error free.


Since the query result
s

are in the XML format,
we
first cached the result and then
used
the XML DOM Interfaces and Methods (C+) to retrieve the data.

Also, at the server
side we saved a copy of the result
into a file so that we could

compare XML result
and
the

map displaying on the PDA screen.


After the whole
system
was functioned correctly, we
tested
it

with a larger and more
complicated
map
.
HKUST c
ampus map was used as the input data
.
Figure 3.20

is the
3
rd

floor of the HKUST Academic Building.
The campus map was partitioned into small
pieces and used the GUI floorplan editing tool to convert them
into the semantic
location model.

Then t
he
exit hierarchy, location hierarchy and compact exi
t hierarchy
were examined
by th
ose

realistic data.

A
lso,
shortest path query was tested
by

choosing arbitrary start location and destination location from different maps.

Wireless Map Ser
ver for PDAs (DL7)


Page
26



Figure 3.20.

The 3
rd

floor of the HKUST Academic Building
.




3
3
.
.
3
3
.
.


E
E
V
V
A
A
L
L
U
U
A
A
T
T
I
I
O
O
N
N


P
P
H
H
A
A
S
S
E
E


The
semantic loc
ation
model was built and stored in
the database.
H
owever, in order to
observe the relation between locations more easily,
the output of the semantic location
model
has

been changed to
a

visualised tree form which can be easier to read.


All query result
s

are stored

in the XML format.

We used XML format rather than
plain
text because XML

provides a robust, non
-
proprietary, persiste
nt, and verifiable file
format for transmission of text and data
. The
XML documents
also
contain data that is
separated primarily into tags and attributes
.
Due to

these advantages,
the text data can
stored by building a XML DOM tree and
the result is mor
e easily to
be
extract
ed as all
data are stored in the tree node.


F
or the PDA displaying tool, the context aware mode is more convenient and user
friendly to the user as it only displays
a small number of objects whose locations are
Wireless Map Ser
ver for PDAs (DL7)


Page
27


“closely relevant” to
the user’s current location
.
T
his manner makes th
e user
feels

clear
er

about their current location

than showing
the
whole map

to the user
.

When the user
s

us
e

the PDA map navigation tool,
they

can read
their
current
status
,
such as current location,

and
sy
ste
m output message in a status bar rather tha
n

prompting a message box to them.

Using a status bar is more
user
-
friendl
y and would
not disturb the users
.


In order to improve the user friendliness,

some

s
oftware demonstration
s

were

carried
out
. We
ask
ed

other people, such as our supervisor, TAs, our classmates and friends
to give their comments and su
g
gestions
about

our system. Improvements and changes
were

based on the evalu
a
tions.








C
C
H
H
A
A
P
P
T
T
E
E
R
R


4
4
.
.


C
C
O
O
N
N
C
C
L
L
U
U
S
S
I
I
O
O
N
N


I
n this project, we
have

successfully
implemented

a server
-
client architecture map
navigation

application
. The
GUI floorplan editing tool
has

was

built for providing
convenient map drawing and

it also implements the function to convert the physical
map into

a

semantic location model.
Most of the large calculation is manipulated in the
server side to reduce the
workload

of the client. Only the result
would be

is

sent to the
client.
The
GUI di
splaying tool

on the client side can navigate the map in
a

context
-
aware manner,
and

only the neighbors of the current location
would be

are

shown to
the user.
T
herefore, the
user
no needs

has no need

to search
for

their position
in the

on a

small screen.

C
C
H
H
A
A
P
P
T
T
E
E
R
R


5
5
.
.


D
D
I
I
S
S
C
C
U
U
S
S
S
S
I
I
O
O
N
N


Wireless Map Ser
ver for PDAs (DL7)


Page
28



The project can be integrated as a guide system. I
n a large indoor environment (
e.g.,
mansions or museums),

a user (especially a visitor) who carries a PDA
may
want to
reach a place (e.g.

a room).

The guide system installed on his PDA

can

ca
lculate a
shortest path and continuously direct the user via a dynamically changing map. The
map keeps displaying a (restricted) set of locations according to his current location. It
also displays an arrow showing the next location he should reach in orde
r to reach the
final destination.

Further extending our project,
by
placing location sensors in the building, identification
can be implemented on top of
the

project to
provide

real
-
time tracking. A centralized
server can integrate information from many r
esources, such as
traffic

and weather
conditions, business data (e.g.
,

shop locations)
,

and promotional information can d
e
liver
tailor
-
made information in an integrated manner.









C
C
H
H
A
A
P
P
T
T
E
E
R
R


6
6
.
.


R
R
E
E
F
F
E
E
R
R
E
E
N
N
C
C
E
E
S
S


[1]

Abraham Silberschatz, Henry F. Korth, S. Sudarsha
n
, (2002),
Database system
concepts
, 4
th

Edition,
McGraw
-
Hill
, Boston

[2]

Apache Software Foundation,
(1999), Tomcat 4 Servlet/JSP Container
Documentation
, <
http://jakarta.apache.org/to
mcat/tomcat
-
4.0
-
doc/index.html
>
,

20 January 2004

[3]

Barak Naveh and Contributors
, (2003), JGraphT, <
http://jgrapht.sourceforge.net
>
,
10 January 2004

Wireless Map Ser
ver for PDAs (DL7)


Page
29


[4]

Boling, Douglas McConnaughey
, (2003),
Programming Microsoft W
indows
CE .NET
,

3
rd

Edition,
Microsoft Press
,
Redmond, Wash.

[5]

CodeProject, (1999), The Code Project,

<
http://www.codeproject.com/
>, 20 April 2004

[6]

Haibo Hu,
Dr
.

Dik
-
Lun Lee, (2003),
Semantic Location Modeling for
Location
Navigation and Visualization in Mobile Environment
,
Hong Kong University of
Science and Technology, Hong Kong

[7]

James W. Cooper
, (1998),
The Design Patterns Java Compa
n
ion,
<
http://w
ww.patterndepot.com/put/8/JavaPatterns.htm
>
, 15 September 2003

[8]

Jeff Prosise, (1999), Programmin
g

Windows with MFC, 2
nd

Edition,
Microsoft
Press
,
Redmond, Wash.

[9]

JGraph.com
, (2001), JGraph, <
http://www.jgraph.com/
>
, 10 January 2004

[10]

Jupitermedia Corporation
, (2002), CodeGuru,

<
http
://www.codeguru.com/
>, 23 April 2004

[11]

Microsoft Corporation
, (2003),
Microsoft eMbedded Visual C++

4.0
,
<
http://msdn.microsoft.com/vstudio/device/embedded/datasheet.aspx
>
,

23 January 2004

[12]

Microsoft Corporation
,
(2004),
MSDN Homepage, <
http://msdn.microsoft.com
>
,

18 January, 2004

[13]

Microsoft Corporation, (2003),
Software Development Kit for Windows Mobile
2003
-
based Pocket PCs
,
<
http://www.microsoft.com/downloads/details.aspx?FamilyId=9996B314
-
0364
-
4623
-
9EDE
-
0B5FBB133652&displaylang=en
>
, 12 January 2004

[14]

MySQL AB,
(1995),
MySQL Connector/J Documentation,
<
http://www.mysql.com/documentation/connector
-
j/index.html
>
, 30 August 2003

[15]

MySQL AB
, (1995),
MySQL Reference Manual,
<
http://www.mysql.com/documentation/mysql
/bychapter/index.html
>
,

30 August 2003

[16]

Sun Microsystems,

(2002),
Java
TM

2 Platform, Micro Edition (J2ME),

<
http://java.sun.com/j2me/
>
, 16 December 2003

[17]

Sun Microsystems,

(2003),
Java
TM

2 Platform, Standard Edition version 1.4.2

(J2SE),

<
http://java.sun.com/j2se/
>
, 20 January 2004

Wireless Map Ser
ver for PDAs (DL7)


Page
30


[18]

Sun Microsystems, (2003),
Java
TM

2 Platform, Standard Edition, v 1.4.2

API
Specification
, <
http://java.sun.com/j2se/1.4.2/docs/api/
>, 28 January 2004

[19]

Sun Microsystems,

(
1994
),
Java Servlet Technology
,

<
http://java.sun.c
om/products/servlet/
>
, 25 January 2004

[20]

Sun Microsystems,
(
199
4
),
The Java
TM

Tutorial,
<
http://java.sun.com/docs/books/tutorial/
>
, 20 January 2004



Wireless Map Ser
ver for PDAs (DL7)


Page
31


C
C
H
H
A
A
P
P
T
T
E
E
R
R


7
7
.
.


A
A
P
P
P
P
E
E
N
N
D
D
I
I
C
C
E
E
S
S


7
7
.
.
1
1
.
.


H
H
A
A
R
R
D
D
W
W
A
A
R
R
E
E


A
A
N
N
D
D


S
S
O
O
F
F
T
T
W
W
A
A
R
R
E
E


R
R
E
E
Q
Q
U
U
I
I
R
R
E
E
M
M
E
E
N
N
T
T
S
S


On
Server
-
side:

-

CP
U: Pentium III 500MHz or faster

-

RAM: 256MB RAM

-

Hard Disk: 500MB free disk space

-

Network:
10/100Mbps Ethernet /
IEEE80211b WLAN

-

Operating System: Windows 2000/XP

-

Software Used:



J2SE 1.4.
2

SDK




MySQL 4.
0

Database Server



Tom
cat 4 Servlet/JSP Container



On
C
lient
-
side:

-

Platform: PocketPC (HP iPAQ

h2210
)

or PocketPC 2003 Emulator

-

NIC:
CF Ethernet /
IEEE802.11b WLAN

-

Operating System: Windows for PocketPC 2003

-

Software Used:



Microsoft eMbedded Visual C++ 4.0



Software Development Kit for Windows Mobile 2003
-
based

Pocket PCs

with PocketPC 2003 Emulator


Wireless Map Ser
ver for PDAs (DL7)


Page
32


7
7
.
.
2
2
.
.


G
G
U
U
I
I


F
F
L
L
O
O
O
O
R
R


P
P
L
L
A
A
N
N


E
E
D
D
I
I
T
T
I
I
N
N
G
G


T
T
O
O
O
O
L
L



Figure 6.1

Drawing CS Laboratory in the GUI floor plan editing tool


Figure 6.2

Drawing
EE

Laboratory in the GUI floor plan editing tool

Wireless Map Ser
ver for PDAs (DL7)


Page
33








(a)


(b)

Figure 6.3

The corresponding

(a)
exit hierarchy and

(b)

location hierarchy
of CS lab

in JTree

with
duplicate child “a”, “k” and “C4004”.




(a)


Wireless Map Ser
ver for PDAs (DL7)


Page
34




(b)

Figure 6.4

The corresponding exit hierarchy (a) and location hierarchy (b)
of CS lab
in tree graph



Figure 6.5

The corresponding
compact
exit hierarchy
of CS lab
in tree graph

Wireless Map Ser
ver for PDAs (DL7)


Page
35




Wireless Map Ser
ver for PDAs (DL7)


Page
36




Wireless Map Ser
ver for PDAs (DL7)


Page
37


D
D
A
A
T
T
A
A
B
B
A
A
S
S
E
E






E
E
R
R


D
D
I
I
A
A
G
G
R
R
A
A
M
M


I
S
A
R
e
c
t
a
n
g
l
e
P
o
l
y
g
o
n
C
o
r
r
i
d
o
r
I
D
x
y
w
i
d
t
h
h
e
i
g
h
t
I
D
x
y
s
e
q
I
D
x
y
s
e
q
s
e
g
_
n
o
I
D
x
y
w
i
d
t
h
h
e
i
g
h
t
L
o
c
a
t
i
o
n
P
a
t
h
s
o
u
r
c
e
d
e
s
t
i
n
a
t
i
o
n
D
i
r
e
c
t
E
x
i
t
P
a
t
h
s
o
u
r
c
e
d
e
s
t
i
n
a
t
i
o
n
d
i
s
t
a
n
c
e
m
a
p
I
D
n
a
m
e
E
x
i
t
B
e
l
o
n
g
s
L
o
c
a
t
i
o
n
B
e
l
o
n
g
s
O
w
n
e
r
s
h
i
p
i
m
a
g
e
p
a
t
h
E
x
t
e
r
n
a
l
R
e
l
a
t
i
o
n
r
a
t
i
o


Figure 6.6

ER diagram of database design



Wireless Map Ser
ver for PDAs (DL7)


Page
38


7
7
.
.
3
3
.
.


M
M
I
I
N
N
U
U
T
T
E
E
S
S


Minutes of the
1
2
th

FYP Meeting


Date:


16 February 2004

Time:


4:3
0 p
.
m
.

Place:


FYP Lab

Attending:

Fu Kit Yan, Kian



Yeung Ching Wai, Steven

Absent:


N
one

R
ecorder:

Kian



1.

Report on progress

Fu Kit Yan reported that the GUI displaying tool had started to build with the
Document / View architecture. The tool could display local image and had
implemented some scroll, zoom in and zoom out function on it and se
nding
HTTP request was still in progress.
Yeung Ching Wai reported that

by using the
function
URLDownloadToCacheFile(LPUNKNOWN
lpUnkcaller
,
LPCTSTR
szURL
,
LPTSTR
szFileName
, DWORD
dwBufLen
gth
, DWORD
dwReserved
,
IBindStatusCallback *
pBSC
)
, downloading data into Internet cache could be done
.


2.

Problem discussion

Fu Kit Yan pointed out that
we needed to set the external relation between
different maps which w
ould be done in the GUI floorplan editing tool. Yeung
Ching Wai said that it was very difficult to calculate the path distance between
two entities because they might not be able to connect with a straight line. Fu Kit
Yan suggested that we could ask the

TA Hu Haibo for his advice.


3.

Date and time of next meeting

To be confirmed.


4.

Meeting adjournment

The meeting was adjourned at
6
:
0
0 p.m..

Wireless Map Ser
ver for PDAs (DL7)


Page
39


Minutes of the
1
3
th

FYP Meeting


Date:


1 March 2004

Time:


3
:3
0 p
.
m
.

Place:


FYP Lab

Attending:

Fu Kit Yan, Kian



Yeung Ching Wai, Steven

Absent:


N
one

Recorder:

Kian



1.

Report on progress

Yeung Ching Wai reported that

the compact exit hierarchy has been built.
Fu Kit
Yan reported that the GUI displaying tool could get image from the Internet and
display it. Also, t
he client could send HTTP request and get the result back from
the Java Servlet program. Besides, the setting external relation between
different maps had been built in the GUI floorplan editing tool.


2.

Problem discussion

We discussed in order to reduce th
e workload of the client, most large
calculations should be done on the server side, such as checking current
location and shortest path query.


3.

Date and time of next meeting

To be confirmed.


4.

Meeting adjournment

The meeting was adjourned at 5:
0
0 p.m..

Wireless Map Ser
ver for PDAs (DL7)


Page
40


Mi
nutes of the 14
th

FYP Meeting


Date:


2
1

March 2004

Time:


3
:
00 p
.
m
.

Place:

Haibo’s office

Attending:

Hu Haibo (TA)

Fu Kit Yan, Kian



Yeung Ching Wai, Steven

Absent:

N
one

Recorder:

Steven



1.

Report on progress

Fu Kit Yan and Y
eung Ching Wai
demonstrated
the results done to Hu Haibo
and asked Hu Haibo to give comments and suggestions.


2.

Problem discussion

Hu
Haibo
pointed out

that the available map system was using static map. To
make our project more outstanding, he suggested to implement the client side
in
a context
-
aware manner


only the neighbours of the current location is redrawn
and displayed. Also, shortest path query should be implemented. Fu Kit Yan
and Yeung Ching Wai agreed with Hu Haibo’s suggestion.


3.

Date and time of next meeting

To be conf
irmed.


4.

Meeting adjournment

The meeting was adjourned at 4:
0
0 p.m..

Wireless Map Ser
ver for PDAs (DL7)


Page
41


Minutes of the 15
th

FYP Meeting


Date:


2
4

March 2004

Time:


4
:
00 p
.
m
.

Place:

Room 3534

Attending:

Dr. Lee Dik Lun (Advisor)

Hu Haibo (TA)

Fu Kit Yan, Kian



Yeung Ching Wai, Steven

Abse
nt:

N
one

Recorder:

Steven



1.

Demonstration

Fu Kit Yan and Y
eung Ching Wai demonstrated the GUI floor plan editing tool

and

PDA displaying tool

to Dr. Lee and Hu Haibo
.


2.

Problem discussion

In client side, a context
-
aware manner


only the neighbours of the
current
location should be redrawn and displayed. Also, shortest path query should be
implemented. Dr. Lee suggested to contact EMO to get the campus map data
for demonstration.



3.

Date and time of next meeting

To be confirmed.


4.

Meeting adjournment

The me
eting was adjourned at 5:
0
0 p.m..

Wireless Map Ser
ver for PDAs (DL7)


Page
42


Minutes of the 16
th

FYP Meeting


Date:


26 March 2004

Time:


3
:3
0 p
.
m
.

Place:

FYP Lab

Attending:

Fu Kit Yan, Kian



Yeung Ching Wai, Steven

Absent:

N
one

Recorder:

Kian



1.

Problem discussion

In order to transmit the con
text
-
aware location map data to the client, we need to
standardize the output result. We chose to use XML format because it could
organize data more concisely. We then discussed the output format of the XML.


2.

Date and time of next meeting

To be confirmed
.


3.

Meeting adjournment

The meeting was adjourned at 4:
0
0 p.m..

Wireless Map Ser
ver for PDAs (DL7)


Page
43


Minutes of the 1
7
th

FYP Meeting


Date:


1

April 2004

Time:


4
:
00 p
.
m
.

Place:

Haibo’s office

Attending:

Hu Haibo (TA)

Fu Kit Yan, Kian



Yeung Ching Wai, Steven

Absent:

N
one

Recorder:

Steven



1.

Problem discussion

We
had some confusion to find the shortest path using CEH. We discussed
some special cases: find the shortest path between two nodes in two blocks, but
they were not directly
reachable

and some special trees. Hu Haibo clarified the
i
dea.



2.

Date and time of next meeting

To be confirmed.


3.

Meeting adjournment

The meeting was adjourned at 5:
0
0 p.m..

Wireless Map Ser
ver for PDAs (DL7)


Page
44


Minutes of the
1
8
th

FYP Meeting


Date:


7 April 2004

Time:


3
:3
0 p
.
m
.

Place:


FYP Lab

Attending:

Fu Kit Yan, Kian



Yeung Ching Wai, Steven

Absent:


N
one

Recorder:

Kian



1.

Report on progress

Yeung Ching Wai reported that

the shortest path calculation had been built by
using the visibility graph and compact exit hierarchy.
Fu Kit Yan reported that
the creating XML result in Java Servlet had b
een done and GUI display tool on
the PDA could display the context
-
aware location map by querying the Java
Servlet and its result.


2.

Problem discussion

We needed to integrate the current work before performing the shortest path
query on the PDA. After inte
gration, we first needed to test each part to ensure
without error and then implement the shortest path query.


3.

Date and time of next meeting

To be confirmed.


4.

Meeting adjournment

The meeting was adjourned at 5:
0
0 p.m..

Wireless Map Ser
ver for PDAs (DL7)


Page
45


Minutes of the 19
th

FYP Meeting


Da
te:


1
5
April 2004

Time:


4
:3
0 p
.
m
.

Place:

Haibo’s office

Attending:

Hu Haibo (TA)

Fu Kit Yan, Kian



Yeung Ching Wai, Steven

Absent:

N
one

Recorder:

Steven



1.

Demonstration

We demonstrated the context
-
aware displaying tool and the shortest path query
part

to Hu Haibo.


2.

Problem discussion

There was a problem in find the shortest path using CEH: two exits were not
directly reachable in two blocks but required to find the distance between. Hu
Haibo suggested to resolve the path using neighbour nodes in the t
wo blocks.


3.

Date and time of next meeting

To be confirmed.


4.

Meeting adjournment

The meeting was adjourned at 5:
0
0 p.m..

Wireless Map Ser
ver for PDAs (DL7)


Page
46


Minutes of the
20
19
th

FYP Meeting


Date:


22
April 2004

Time:


1:3
0 p
.
m
.

Place:

Room 3534

Attending:

Dr. Lee Dik Lun (Advisor)

Fu Kit
Yan, Kian



Yeung Ching Wai, Steven

Absent:

N
one

Recorder:

Steven



1.

Demonstration

We demonstrated the context
-
aware displaying tool and the shortest path query
part to
Dr. Lee
.


2.

Problem discussion

Dr. Lee suggested to display the
previous

path in another
colour for the shortest
path step
-
by
-
step guidance, to display me
ssages in status bar and to show
next
level
neighbours

in context aware mode when zoom out level was getting higher.
We discussed the feasibility and adopted the idea.


We also discussed abo
ut the final report. Dr. Lee suggested to introduce the
semantic location model at the beginning and add more screen captures for the
PDA map navigation tool.



3.

Date and time of next meeting

To be confirmed.


4.

Meeting adjournment

The meeting was
adjourned
at
2
:
20

p.m..