TR NG I H
C KHOA H
C T NHIÊN
KHOA CÔNG NGH
THÔNG TIN
MÔN CÔNG NGH
PH
N M
M
e&f
NGUY
N TH
LÝ - NGUY
N SAO K
NG D
NG PH
N M
M MÃ NGU
TR NG I H
C KHOA H
C T NHIÊN
KHOA CÔNG NGH
THÔNG TIN
MÔN CÔNG NGH
PH
N M
M
e&f
NGUY
N TH
LÝ
- 0112187
NGUY
N SAO K
- 0112186
NG D
KHÓA LU
N C NHÂN TIN H
C
GIÁO VIÊN H NG D
N
Th.s NGUY
N MINH NAM
NIÊN KHOÁ 2001-2005
-2-
IC
M N
Chúng em chân thành cám
n Khoa Công ngh
Thông tin, tr ng
ih
c
Khoa h
c T
nhiên t
b
o chúng em trong su
t th
i gian th
c hi
n tài.
Chúng
em
chân thành
cám
n quý
th
y
cô
trong
n sâu s
c i v
i cha m
, nh
ng ng
i
ã
ch
m sóc,
nuôi d
y chúng con thành
ng i
và
luôn ng
viên tinh
th
p và
nghiên c
u.
c dù chúng em
ã c
g
ng hoàn thành lu
n v
n trong ph
m vi và kh
ng cho phép nh
ng ch
c ch
n s
không tránh kh
i
n Th
Lý – 0112187
Nguy
n Sao K
- 0112186
-3-
TÓM T
T LU
N V
N
Lu
n v
n c t
ch
c thành các ph
n chính nh
sau:
Ch ng 1: Gi
s
d
li
u h ng it ng PERST và nh
ng so
sánh v
i các cách t
ch
c c
s
d
li
u quan h
và các h
c
u v
GIS: gi
i thi
u t
ng quan v
GIS, các gi
i pháp và
ng
ng v
GIS và
ng d
ng GIS trên PocketPC
Ch ng 5: Gi
i thi
u v
chu
ng d
ng b
n trên PocketPC.
Ch ng 7: ng d
ng b
n : mô hình phân tích thi
t k
.
Ch ng 8: K
t lu
n,
ánh giá và h ng phát tri
n
Ch ng 9: Nh
ng tài li
u tham kh
o khi th
NG
.
10
T S KHÁI NI
M, THU
T NG VÀ T VI
T T
T
11
CH NG 1 : Hi
n tr
ng và yêu c
u
15
1.1 Hi
n tr
ng:
15
1.2 Gi
2.3 Transparent API:
31
2.3.1 Dùng.NET Remoting API:
31
2.3.2 Dùng các thu
c tính
o (virtual
properties): 32
2.4 C
ch
th
c hi
n giao tác
(Transaction): 33
2.5 Nh
ng tr ng h
p nên dùng PERST:
37
2.6 Các thông s
c
qu
n tr
c
s
d
li
u h ng it ng khác:
45
CH NG 3 : Gi
i thi
u v
mô hình Topology.50
3.1 Gi
i thi
u:
50
i thi
u v
các
ng d
ng và gi
i pháp v
GIS:
60
4.2 Mô hình d
li
u c
a thông tin a lý:
61
4.3 Thu th
p d
li
u:
+
-
Tree: 71
4.6 ng d
ng b
n
: 72
4.6.1 Các ki
u b
n :
72
4.6.2 Các it ng c
a b
n
: 72
4.7 ng d
ng GIS trên PocketPC:.73
CH NG 5 : Gi
i thi
OpenGIS (OpenGIS Services
): 78
5.2.3 M
t mô hình nh
ng c
ng ng thông tin (Information Communities Model ):
79
5.2.4 c m:
79
5.2.5 Phân lo
i:.81
5.3 OpenGIS Abstract Specification:.82
5.3.1 Essential Model (mô hình b
n ch
t ):
83
5.3.2 Abstract Model:
ng d
ng trên PocketPC:
.89
6.3.1 T
c và các h
tr
kh
n
ng hi
n th :
89
6.3.2 Kh
n
ng và hình th
c l
u tr
: 90
ut
c hi
n th :
93
6.5 T
ch
c d
li
u b
n trên PocketPC:.93
CH NG 7 : ng d
ng b
n
: 95
7.1 Phân tích và xác nh yêu c
u
n nh
t:
99
7.2.2.4 Tìm chu trình t
i
u:
101
7.2.3 S l
p Class
Diagram: 102
7.2.3.1 S t
ng
quát: 102
7.2.3.2 S l
p d
li
u
: 103
7.2.3.3 S l
p v
n trên Desktop:
124
7.3.2 Giao di
n trên PocketPC:
131
7.4 Cài
t: 131
CH NG 8 : K
t Lu
n, ánh giá và h ng phát tri
n
132
8.1 K
t lu
n,
ánh
giá: 132
8.2 H ng phát tri
n:
132
CH NG 9 : Tài li
i quy
t bài toán
: 134
10.2 Bài toán tìm chu trình t
i
u
136
10.2.1 Phát bi
u bài
toán 136
10.2.2 Gi
i quy
t bài toán
: 137
-7-
DANH SÁCH CÁC HÌNH
Hình
3.2-1 Các it ng trong mô hình Topolog
y 51
Hình
3.4-1 Quan h
u tr.
61
Hình
4.2-2 So sánh Raster và Vector
64
Hình
4.3-1 Ph ng pháp Scanning
.65
Hình
4.5.1-1 Cây t
phân
.
67
Hình
4.5.2-1 K-D Tree
68
Hình
4.5.3-1 R-Tree
69
Hình
5.3.1-1 L
p khái ni
m
85
Hình
7.2.1-1 S s
d
ng t
ng
quát 96
Hình
7.2.2.1-1 Use Case - Tìm ki
m
Edge
97
Hình
7.2.2.2-1 Use Case: Tìm ki
m
Region
98
li
u
103
Hình
7.2.3.3-1 S l
p v.103
Hình
7.2.3.4-1 S s
ki
n
104
Hình
7.2.4-1 L
p CNode
106
Hình
7.2.4-2 L
t 113
Hình
7.2.5-4 Collabration Diagram: Tìm ng ng
n nh
t
114
Hình
7.2.5-5 Sequence Diagram: Tìm Edge
115
Hình
7.2.5-6 Collabration Diagram: Tìm Edge
116
Hình
7.2.5-7 Sequence Diagram: Tìm chu trình t
i
u
117
Hình
7.2.5-8 Collabrotion Diagram: Tìm chu trình t
Hình
7.2.5-12 Collaboration Diagram: T
l
l
i b
n
121
Hình
7.2.5-13 Sequence Diagram: Tìm a m
121
Hình
7.2.5-14 Collaboration Diagram: Tìm a m
122
Hình
7.2.5-15 Sequence Diagram: Tìm giao l123
Hình
7.2.5-16 Collaboration Diagram: Tìm giao l
7.3.1-4 Thanh th
c n File
128
Hình
7.3.1-5 Thanh th
c n
View 128
Hình
7.3.1-6 Khung nhìn b
n thu nh.130
Hình
7.3.1-7 Khung Layer130
Hình
7.3.1-8 Khung hi
n th
p A va B
25
ng
2.2.5-1 Các ki
u Index c PERST h
tr
:
29
ng
2.6-1 H
ng s c nh ngh a s
n trong l
p
StorageImpl 42
ng
2.8-1 So sánh các c tính c
a các h
u h ng it
ng 49
ng
3.4-1 Các c
p Topology trong các l
p VPF
55
ng
3.4-2 Các c
t c yêu c
u nh ngh a quan h
Topology trong
VPF 56
ng
3.5-1. nh ngh a khung ch
nh
t nh
nh
p CDatabase105
ng
7.2.4-2 L
p CMapView
105
ng
7.2.4-3 L
p CMapEvent
106
ng
7.2.4-4 Thu
c tính l
p CNode
107
ng
7.2.4-5
Ph ng th
ng chính trên thanh th
c n
129
- 10 -
Khái ni
m nh ngh a Ghi chú
OODBMS (Object-
Oriented Database
Management System)
qu
n tr
c
s
d
li
u
ng it ng
PERST
Là
m
gi
a
database
và
ch ng
trình
r
t
nh
,
PERST
tr
c
ti
p
l
u
thành i t ng và ng c
i
Topology
Là
c
u
trúc
cho
mô
hình
ng l i giao thông
GIS ( Geography th
ng
thông
tin a
- 11 -
Information System )
lý.
Là
và
các
s ki
n
y ra trên trái t.
Thông tin không gian
Thông
tin
v
nh
ng c
m
liên
quan n
hình
ng,
v
trí.
Ví
nh t
a c
a
m, ng…
D
ng
Topology:
mô
t quan
h
gi
a
các i
t ng
hình
c. Ví d nh
nh
ng c
m liên quan n
th
ng
kê,
thông
tin
s
,
thông
tin c
tr
ng
gán
cho
i
b n
t h tr
cá
nhân,
giúp
ng i
s
ng
l
u
tr các
thông
tin
cá
nhân,
công
trên
t thi
t b
nh
g
n
Pocket PC
Khái
ni
m
này
có
th
dùng ch :
+
H u
hành
nhúng
ng h u
hành Pocket PC
Edge
it
ng c
nh trong mô
hình Topology
Trong bài, Edge t ng
ng v
i ng. Khi nh
c
i Edge, hay ng có th
hi
u ngh a nh
nhau.
- 13 -
Region it ng vùng
ây
không c
p n
qu
n
c
t
i
tên ng,
qu
n
huy
n
mà
ch
nh
c t
i ID vì c
s
d
li
u không thông tin tên
và
yêu
c
u
1.1 Hi
n tr
ng:
Trên th
gi
i hi
n nay
ã
có
nhi
u ph
n m
m v
GIS nh
Street Finder, SmartMap…. Các
n ph
m trên
a ph
n s
d
ng c
s
d
li
u c t
ch
c trên các h
qu
n tr
c
s
d
li
u th ng m
i n
u có dùng.
2.S
khó kh
n và có khi là “r
c r
i” trong cách l
p trình giao ti
p v
ng cách
s
ng h
qu
n tr
c
s
d
li
u h ng it ng PERST (mã ngu
n m
).
PERST là m
t h
c
s
ch
g
m
kho
ng
5000
dòng
mã.
Yêu
c
u
c
u
hình
c
u. M
c dù n gi
n nh
v
y nh
ng
PERST
n h
tr y tính ACID trong vi
c th
c hi
n giao tác (transaction) và h
tr
vi
c ph
c h
i (recovery) t ng i nhanh khi h
nên
có
kh
n
ng
phát
tri
n
ng
d
ng trên
các thi
t b
di ng dùng WinCE hay PocketPC.
- 15 -
Vì v
quan tr
ng quy
t nh s
thành công hay th
t b
i c
a
t h
th
ng thông tin a lí là vi
c l
a ch
n mô hình c
u trúc d
li
u thích
hình
này s c c
p
sau
trong lu
n v
n). Vì d
li
u Topology trên PERST không có s
n nên chúng ta
n xây d
ng l
i d
li
u theo mô hình Topology. D
li
u
b
ng
s
ph
i
h
p
các
ki
n
th
c
v
GIS,PERST và ho
ng c
n tính
ng l
u tr
. PERST c thi
t k
dành riêng cho l
p trình và không có giao
di
n h
a qu
n tr . Vi
c s
d
ng PERST khá n gi
n và t c
t
ngôn ng
l
p trình
xác nh.
Hi
n t
i
PERST
ch
h
tr
cho 2 ngôn ng
l
p trình là Java và C#.
Không
gi
biên d ch hay các b
ti
n
lý c bi
t khác. Nh
v
y, PERST có kh
n
ng cung c
p c “tính
trong
su
t” trong l
p trình m
c cao. Các hàm API c
a PERST ti
khác
vi
t
b
ng
Java).
V
i
gi
i
h
n
(benchmark)
007, PERST t
o database nhanh g
p 100 l
s
d
li
u h ng
it
ng th ng m
i khác là ObjectStore PSE
Pro, PERST nhanh h
n g
p 4 l
n.
PERST là m
t h
c
s
d
li
m
kho
ng
5000
dòng
mã.
Yêu
c
u
c
u
hình
c
a
PERST t ng i th
n nh
v
y nh
ng
PERST
n h
tr y tính ACID trong vi
c th
c hi
n giao tác (transaction) và h
tr
vi
c ph
c h
i (recovery) t ng i nhanh khi h
th
ng g
n i Java sang
C#
(m
c dù ph
i có nhi
u thay i c
n th
c hi
n m
i có c b
n hoàn ch
nh).
c dù b
n cài t dùng C# h
tr
nhi
u ki
ng
di
n khác, các tính n
ng c
a hai b
n là nh
nhau. Riêng PERST.NET có h
tr
c
vi
c
phát tri
n trên
môi
tr ng compact.NET
framework
y
PocketPC.
2.2 c tính:
Trong
ph
n
này
chúng
ta
s i
vào
các
tính
ch
t
quan
tr
nguyên g
c ti
ng Anh s
c
gi nguyên
do
không
có
t ti
ng
Vi
t
thay
th
ng
n
u tr
(persistent hay còn d ch là b
n v
ng).
t
bây gi
, ta s
g
i t
t các it ng này là các it ng persistent.
Các
it
ng này
ct
ng l
u vào database khi nó c tham chi
u t
m
i
g
i
tr
c
ti
p,
t ng
minh
ph ng
t
h
c
store c
a m
t it ng khi mu
t
m
t
cách c
bi
t
(dùng
ph ng
t
h
c
Storage.getRoot).
Còn
các i
t ng
persistent
ng cách dùng các
it
ng bao ch
a
(container
class)
nh
Index,Link
hay Relation.
Không
gi
ng
nh
các
h
c
s
p persistent u ph
i d
n xu
t t
l
p Persistent. Có
ngh a
là
các
l
p
“ngo
i
lai”
(không
d
cái
giá
ph
i
tr
c
a
s n
gi
n
và
không dùng n các b
biên d ch hay ti
n x
lý c bi
t. Và các thành ph
Bool, int, short, double, enum
…
Ki
u
chu
i
: Ki
u System.String.
Ki
u
ngày
th
a t
l
p
Persistent hay các giao di
n (interface) k
th
a t
giao di
n IPersistent.
Ki
u
giá
này
c l
u tr
c ti
p trong it ng ch
a chúng.
Ki
u
d
li
u
t giao
d
i
n
IPersistent
hay t
giao
di
n IValue
và c
ánh d
u
là
Serializable.
C
ch
Serialization