TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HỒ CHÍ MINH
KHOA CÔNG NGHỆ THÔNG TIN
BỘ MÔN CÔNG NGHỆ PHẦN MỀM
– 9912616
K
H
TN
VÕ SỸ NAM
ĐỖ LỆNH HÙNG SƠN – 9912064
H
XÂY DỰNG MỘT ỨNG DỤNG BẢN ĐỒ TRÊN
Đ
MÁY POCKET PC 2002 (WINDOWS CE 3.0)
–
CHO PHÉP HIỂN THỊ MỘT BẢN ĐỒ
C
N
TT
ĐIỆN TỬ VÀ CUNG CẤP MỘT SỐ
H
O
A
Viết thuê luận văn thạc sĩ
[email protected] - 0972.162.399
K
H
TN
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
H
..................................................................................................................................
Đ
..................................................................................................................................
..................................................................................................................................
–
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
H
..................................................................................................................................
..................................................................................................................................
Đ
..................................................................................................................................
–
..................................................................................................................................
..................................................................................................................................
C
N
TT
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
tin trường Đại học Khoa học Tự nhiên Tp.Hồ Chí Minh đã tận tình giảng dạy,
truyền đạt những kiến thức quý báu và tạo điều kiện cho chúng em được thực hiện
Đ
luận văn này.
–
Xin chân thành cám ơn sự giúp đỡ, động viên và chỉ bảo rất nhiệt tình của
các anh chị đi trước và tất cả bạn bè. Các anh chị, các bạn luôn có mặt trong những
C
N
TT
thời điểm khó khăn nhất, tiếp thêm động lực và ý chí, giúp chúng tôi hoàn thành
được luận văn.
Mặc dù đã cố gắng nỗ lực hết sức mình, song chắc chắn luận văn không khỏi
còn nhiều thiếu sót. Chúng em rất mong nhận được sự thông cảm và chỉ bảo tận tình
K
H
O
A
của quý Thầy cô và các bạn.
Pocket PC là một dạng thiết bị PDA rất phổ biến và đang được sử dụng rộng
–
rãi trên thế giới với nhiều tiện lợi và các phần mềm hữu ích. Trên môi trường này,
C
N
TT
đã có rất nhiều ứng dụng được phát triển với mục đích hỗ trợ tối đa người sử dụng
thường xuyên phải di chuyển nhiều, như sổ tay điện tử, xem phim, nghe nhạc, bản
đồ du lịch điện tử...
Tại thị trường Việt Nam, Pocket PC cũng đang ngày càng trở nên thông dụng
hơn. Trong bối cảnh Việt Nam chuẩn bị đăng cai Đại hội Thể thao Đông Nam Á
K
H
O
A
(SEA Games) lần thứ 22, chúng em nhận thấy việc cho ra đời một ứng dụng bản đồ
điện tử trên Pocket PC là hết sức cần thiết, tại Việt Nam nói chung và Tp.Hồ Chí
Minh nói riêng.
Với ý tưởng trên, chúng em đã tập trung thực hiện đề tài “XÂY DỰNG
MỘT ỨNG DỤNG BẢN ĐỒ TRÊN MÁY POCKET PC 2002 (WINDOWS CE
3.0) CHO PHÉP HIỂN THỊ MỘT BẢN ĐỒ ĐIỆN TỬ VÀ CUNG CẤP MỘT
điện tử trên Pocket PC 2002 (Windows CE 3.0) như hạn chế về tốc độ tính toán,
Chương 4: Các giải pháp cho ứng dụng bản đồ trên Pocket PC giới thiệu
–
và phân tích các giải pháp thực hiện đối với việc xây dựng ứng dụng bản đồ điện tử
C
N
TT
trên Pocket PC như hiển thị, tìm kiếm, giải pháp tiếng Việt.
Chương 5: Tổ chức dữ liệu bản đồ trên Pocket PC trình bày về dữ liệu
nguồn và các vấn đề liên quan tới phương diện tổ chức lưu trữ thông tin và dữ liệu
Pocket PC. Các giải thuật để xây dựng và tổ chức lại dữ liệu từ dữ liệu nguồn cũng
được giới thiệu trong chương này.
K
H
O
A
Chương 6: Ứng dụng Pocket Map giới thiệu về ứng dụng bản đồ điện tử
Tp.Hồ Chí Minh trên Pocket PC 2002, mô tả các khảo sát hiện trạng, đặc tả yêu cầu
và các phân tích thiết kế cho một số chức năng chính của ứng dụng. Chương này
cũng giới thiệu giao diện và cách sử dụng của một số chức năng chính của ứng
dụng.
–
2.1 Giới thiệu về các thiết bị PDA .........................................................5
2.2 Tổng quan về Windows CE.............................................................6
C
N
TT
2.3 Tổng quan về Pocket PC ................................................................7
2.4 Khả năng lập trình trên Pocket PC và Windows CE 3.0......................8
Chương 3 : Một số vấn đề khi xây dựng ứng dụng bản đồ trên
Pocket PC
.................................................................................. 20
3.1 Khả năng tính toán của Pocket PC ................................................ 20
K
H
O
A
3.2 Tốc độ và các hỗ trợ khả năng hiển thị ......................................... 21
3.3 Khả năng và hình thức lưu trữ...................................................... 25
3.4 Cấp phát bộ nhớ ......................................................................... 28
3.5 Tương tác giữa người sử dụng và thiết bị ...................................... 29
Chương 4 : Các giải pháp cho ứng dụng bản đồ trên Pocket PC . 31
6.4 Sơ đồ lớp Class Diagram .............................................................. 89
6.5 Mô tả các lớp .............................................................................. 91
–
6.6 Các lưu đồ hoạt động ................................................................ 102
C
N
TT
6.7 Thiết kế màn hình ..................................................................... 116
6.8 Cài đặt và thử nghiệm ............................................................... 123
6.9 Hướng dẫn sử dụng................................................................... 125
Chương 7 : Tổng kết.................................................................. 133
7.1 Kết luận.................................................................................... 133
K
H
O
A
7.2 Hướng phát triển....................................................................... 134
Tài liệu tham khảo....................................................................... 136
Phụ lục ....... ................................................................................ 139
Viết thuê luận văn thạc sĩ
[email protected] - 0972.162.399
C
N
TT
Hình 6-7: Sơ đồ lớp vẽ..........................................................................90
Hình 6-8: Sơ đồ lớp sự kiện...................................................................90
Hình 6-9: Lớp dữ liệu đường .................................................................92
Hình 6-10: Lớp GraphData ....................................................................94
Hình 6-11: Lớp DistrictData...................................................................96
K
H
O
A
Hình 6-12: Lớp PlaceData .....................................................................97
Hình 6-13: Lớp RoadView .....................................................................98
Hình 6-14: Lớp DistrictView...................................................................99
Hình 6-15: Lớp PlaceView ................................................................... 100
Hình 6-16: Lớp DragEvent................................................................... 100
Hình 6-17: Lớp DetailEvent ................................................................. 101
Hình 6-18: Lớp ShortestPathEvent ....................................................... 101
Hình 6-19: Lớp ZoomEvent ................................................................. 102
i
Viết thuê luận văn thạc sĩ
[email protected] - 0972.162.399
N
TT
Hình 6-34: Sequence Diagram: Tỉ lệ lại bản đồ ..................................... 115
Hình 6-35: Collaboration Diagram: Tỉ lệ lại bản đồ ................................ 115
Hình 6-36: Màn hình chính .................................................................. 116
Hình 6-37: Menu chính ....................................................................... 116
Hình 6-38: Nút bấm đặc biệt ............................................................... 117
K
H
O
A
Hình 6-39: Màn hình tìm thông tin ....................................................... 119
Hình 6-40: Màn hình tên thông tin ....................................................... 120
Hình 6-41: Màn hình thông tin chi tiết.................................................. 120
Hình 6-42: Màn hình tìm đường đi ngắn nhất ....................................... 121
Hình 6-43: Màn hình sử dụng chính ..................................................... 126
Hình 6-44: Màn hình tìm thông tin ....................................................... 127
Hình 6-45: Màn hình tìm đường đi ngắn nhất ....................................... 129
Hình 6-46: Màn hình tìm đường đi ngắn nhất ....................................... 130
Hình 6-47: Màn hình tìm đường đi ngắn nhất ....................................... 131
ii
Viết thuê luận văn thạc sĩ
[email protected] - 0972.162.399
Bảng 5-5: Cấu trúc mẫu tin dạng Point ..................................................60
Bảng 5-6: Chỉ số trong file .MNT và thứ tự mẫu tin trong file DBF ............61
Bảng 5-7: Chỉ số trong file .SHP và thứ tự mẫu tin trong file DBF .............61
Bảng 5-8: Dữ liệu DBF quận/huyện........................................................63
Bảng 5-9: Cấu trúc file quận huyện........................................................67
K
H
O
A
Bảng 5-10: File dữ liệu đường dạngDBF .................................................67
Bảng 5-11: File dữ liệu đường ...............................................................69
Bảng 5-12: File dữ liệu địa điểm DBF .....................................................69
Bảng 5-13: File dữ liệu địa điểm ............................................................70
Bảng 5-14: Giá trị đường một chiều .......................................................71
Bảng 6-1: Các chức năng chính .............................................................80
Bảng 6-2: Lớp MapData ........................................................................91
Bảng 6-3: Lớp MapView ........................................................................91
Bảng 6-4: Lớp MapEvent.......................................................................91
iii
Viết thuê luận văn thạc sĩ
[email protected] - 0972.162.399
Bảng 6-5: Lớp RoadData.......................................................................93
Bảng 6-6: Lớp RoadPath .......................................................................93
Bảng 6-19: Bảng các nút tìm đường đi ngắn nhất ................................. 122
Bảng 6-20: Kết qủa thử nghiệm trên máy ảo ........................................ 124
Bảng 6-21: Kết qủa thử nghiệm trên máy thật...................................... 125
Bảng 6-22: Các menu tìm đốI tượng.................................................... 128
K
H
O
A
Bảng 6-23: Các nút bấm tìm đường đi ngắn nhất.................................. 132
iv
Viết thuê luận văn thạc sĩ
[email protected] - 0972.162.399
Một số khái niệm và thuật ngữ
Định nghĩa
Ghi chú
K
H
TN
Khái niệm
GIS
N
TT
hệ của các đối tượng địa lý.
• Dạng hình học:
mô tả các đặc
điểm hình dạng,
vị trí. Ví dụ như
tọa độ của điểm,
đường…
• Dạng Topology:
K
H
O
A
mô tả quan hệ
giữa
các
đối
tượng hình học.
Ví dụ như những
vùng nào kề với
một
định.
thông tin cá nhân, công việc cần
K
H
TN
PDA
thiết cũng như các phần mềm tối
thiểu trên một thiết bị nhỏ gọn
Pocket PC
Khái niệm này có thể dùng để
• Hệ
H
chỉ:
điều
hành
nhúng
Đ
Pocket PC do Microsoft
của
–
bị Pocket PC thay thế
do có nguồn điện và
khả năng không tốt
Một dạng thiết bị cầm tay, sử Có kích thước lớn hơn
dụng Windows CE 2.21
Pocket PC
Hệ điều hành nhúng do Palm phát Là một trong những hệ
triển, sử dụng trên các thiết bị điều hành nhúng phổ
cầm tay
biến nhất hiện nay, có
khả năng chạy nhanh
hơn
vi
Viết thuê luận văn thạc sĩ
[email protected] - 0972.162.399
hệ
điều
hành
Đ
H
Linux trên Desktop
vii
Viết thuê luận văn thạc sĩ
[email protected] - 0972.162.399
Chương 1 :Mở đầu
Chương 1 :
Mở đầu
1.1 GIS, các ứng dụng và giải pháp về GIS
K
H
TN
GIS (Geography Information System ) là một công nghệ ra đời vào những
năm 60 của thế kỉ 20. Công nghệ GIS cho phép đáp ứng các nhu cầu liên quan tới
quản lý cũng như khai thác và sử dụng các thông tin, dữ liệu địa lý. Từ giai đoạn
đầu, được sử dụng trên các hệ thống máy tính lớn ở Mỹ và Canada, đến nay, công
nghệ GIS đã được áp dụng và triển khai hết sức rộng rãi trên phạm vi toàn thế giới,
nhóm AMI Group - Đại học Khoa học Tự nhiên Tp.Hồ Chí Minh.
Các giải pháp về GIS thường được chia làm hai nhóm chính:
• Giải quyết các bài toán phức tạp liên quan đến mạng giao thông
Các bài toán như tìm kiếm đường đi tối ưu, điều phối lộ trình giao thông...
thường được áp dụng trên các hệ thống máy tính lớn, có cấu hình mạnh.
• Hiển thị và tìm kiếm các thông tin bản đồ.
Đây là dạng ứng dụng bản đồ điện tử, cung cấp các khả năng cho phép người
sử dụng xem bản đồ và tìm kiếm một số thông tin cần thiết, thường được áp dụng
trên các máy tính thông thường và nhỏ.
1
Viết thuê luận văn thạc sĩ
[email protected] - 0972.162.399
Chương 1 :Mở đầu
1.2 Ứng dụng GIS trên Pocket PC
Sự phát triển mạnh mẽ của Internet, cũng như khả năng của công nghệ phần
cứng, đã dẫn đến sự ra đời của các thiết bị ứng dụng Internet. Theo các nhà nghiên
K
H
TN
cứu thị trường, mặc dù PC vẫn giữ vai trò chủ yếu trong việc xử lý và hỗ trợ công
điều hành Windows CE gặp phải các vấn đề về tối ưu hoá bộ nhớ cũng như tốc độ
K
H
O
A
và thường có tốc độ chậm hơn nhiều so với các ứng dụng trên PC thông thường.
Ngoài ra, do khả năng lưu trữ có giới hạn, việc ứng dụng GIS trên môi trường này
cũng gặp không ít khó khăn.
Trên thị trường, một số sản phẩm GIS trên Pocket PC đã được phổ biến rộng
rãi như Pocket Street của Microsoft, MapInPocket của Information Technologies
India Ltd...
2
Viết thuê luận văn thạc sĩ
[email protected] - 0972.162.399
Chương 1 :Mở đầu
1.3 Các giải thuật nghiên cứu về GIS
Công nghệ GIS liên quan trực tiếp tới lý thuyết đồ thị cũng như trí tuệ nhân
tạo trong việc đưa ra các giải thuật để giải quyết các bài toán liên quan. Đây là
những lĩnh vực nghiên cứu được đầu tư rất nhiều với các cải tiến cũng như đã đưa
ra được nhiều giải thuật tốt hoặc tối ưu (chẳng hạn như các giải thuật clipping, kiểm
Pocket PC đặc biệt thích hợp với dạng ứng dụng bản đồ điện tử hỗ trợ người dùng
xem bản đồ và tìm kiếm các thông tin cần thiết trong quá trình di chuyển.
Do vậy, từ nhu cầu nói trên, chúng em đã đầu tư xây dựng đề tài ““Xây dựng
một ứng dụng bản đồ trên Pocket PC 2002 (Windows CE 3.0) cho phép hiển thị
một bản đồ điện tử và cung cấp một số chức năng tìm kiếm thông tin”.
K
H
O
A
Đề tài phải giải quyết một số công việc chính:
•
Nghiên cứu về Pocket PC 2002 và Hệ điều hành nhúng Windows CE
3.0 để thấy được sự khác biệt về trong mô hình với Windows trên Desktop, cũng
như làm rõ được khả năng lập trình trên môi trường này.
•
Dựa vào những hiểu biết này, xem xét việc xây dựng một ứng dụng
bản đồ sẽ phải liên quan trực tiếp tới những vấn đề nào, sau đó, trình bày các giải
pháp thực hiện để xây dựng một ứng dụng bản đồ trên Pocket PC 2002.
•
Triển khai vào một ứng dụng cụ thể là bản đồ Tp.Hồ Chí Minh. Ứng
dụng cho phép xem bản đồ Thành phố một cách trực quan, tìm kiếm các thông tin
K
H
TN
ràng buộc phải qua một số giao lộ, con đường hoặc phải tránh một số giao lộ, con
4
Viết thuê luận văn thạc sĩ
[email protected] - 0972.162.399
Chương 2 :Tổng quan về Pocket PC và Windows CE 3.0
Chương 2 : Tổng quan về Pocket PC
và Windows CE 3.0
2.1 Giới thiệu về các thiết bị PDA
K
H
TN
Khoảng hai mươi năm trước, đã có một cuộc cách mạng về máy tính khi máy
tính IBM PC ra đời. Máy tính trở nên thông dụng với mọi người do không còn
mang kích thước quá lớn. Sau đó, máy tính xach tay (Laptop PC) xuất hiện, cho
phép người sử dụng dùng máy tính của mình ở khắp nơi, từ nhà đến văn phòng. Các
máy PC là những thiết bị tính toán với năng lực mạnh mẽ nhưng mềm dẻo, đã trở
H
• Palm OS do Palm cung cấp
• EPOC của Symbian
• Embedded Linux, hệ điều hành ban đầu chỉ được phát triển cho máy
chủ và máy desktop
Trong đó, Pocket PC và Windows CE có ưu thế hơn do là một hệ điều hành
họ Windows, khá quen thuộc với người sử dụng lẫn lập trình viên.
5
Viết thuê luận văn thạc sĩ
[email protected] - 0972.162.399
Chương 2 :Tổng quan về Pocket PC và Windows CE 3.0
2.2 Tổng quan về Windows CE
Windows CE là một hệ điều hành nhúng do Microsoft phát triển, được tích
hợp vào các thiết bị giải trí, các máy subnotebook, máy tính cầm tay (handheld PC,
palm-size PC…), các điện thoại di động, hoặc những hệ thống thông tin và giải trí
trên xe hơi (AutoPC)…
K
H
TN
Windows CE là hệ điều hành họ Windows, song được thiết kế cho các thiết
bị di động, nên có tính năng nhỏ gọn, đồng thời “có thể điều chỉnh” (modular) và dễ
chuyên biệt hóa để có thể thích ứng trong việc điều khiển nhiều hệ thống nhúng
O
A
• Windows CE 2.12: Được sử dụng chủ yếu bởi các nhà sản xuất thiết bị
nhúng dùng Microsoft Platform Builder. Phiên bản này không nhắm
tới các thiết bị cho người tiêu thụ cuối.
• Windows CE 2.21: Phiên bản của Windows CE dùng cho các thiết bị
Windows Handheld và Palm-size.
6
Viết thuê luận văn thạc sĩ
[email protected] - 0972.162.399
Chương 2 :Tổng quan về Pocket PC và Windows CE 3.0
2.3 Tổng quan về Pocket PC
Vào đầu năm 2000, Microsoft giới thiệu một phiên bản của hệ điều hành
Windows cho các thiết bị di động gọi là Pocket PC. Hệ điều hành Pocket PC là một
phiên bản của Windows CE 3.0, với các tính năng và giao diện được thiết kế riêng
cho các thiết bị hỗ trợ cá nhân (PDA – Personal Digital Assistant) và máy tính cầm
K
H
TN
tay (handheld PC). Có thể hiểu Pocket PC là một phiên bản của Windows CE được
cài đặt nhằm tối ưu cho các thiết bị này. Phiên bản hiện đang được sử dụng rộng rãi
K
H
O
A
Từ đây, trong luận văn, khi đề cập đến Pocket PC xin hiểu đây là thiết bị
Pocket PC chạy trên phiên bản hệ điều hành Pocket PC 2002, được phát triển trên
nhân hệ điều hành nhúng Windows CE 3.0. Ngoài ra, do là một biến thể của
Windows CE 3.0, nên khi đề cập tới các vấn đề liên quan như khả năng lập trình,
hạn chế về tốc độ, giải pháp của Windows CE… xin hiểu đó cũng là các vấn đề gặp
phải với Pocket PC.
7
Viết thuê luận văn thạc sĩ
[email protected] - 0972.162.399
Chương 2 :Tổng quan về Pocket PC và Windows CE 3.0
2.4 Khả năng lập trình trên Pocket PC và Windows CE 3.0
Trong phương diện lập trình, có nhiều điểm khác biệt từ lớn cho tới nhỏ giữa
Windows CE và phiên bản Windows trên Desktop.
Lý do gây ra sự khác biệt này là do Windows CE được xây dựng và thiết kế
từ kiến trúc nền sao cho nó có thể ở mức nhỏ nhất có thể. Windows CE bảo đảm 2
K
H
cấu hình cho H/PC và P/PC), số hàm này tăng gấp 3, khoảng 1500 hàm.
Các hàm của Windows CE sử dụng mô hình khai báo hàm cho các phiên bản
K
H
O
A
ANSI và UNICODE giống trên desktop. Dựa vào macro UNICODE, hệ điều hành
sẽ chọn khai báo hàm tương ứng khi biên dịch chương trình. Tuy nhiên, thực chất,
chỉ có phiên bản Unicode của các hàm API này được cài đặt, vì vậy, bất kì chương
trình nào được xây dựng nhằm mục đích sử dụng trong môi trường Windows CE
đều phải định nghĩa macro UNICODE.
Trong môi trường Windows CE, các ứng dụng dạng Win32 console không
được hỗ trợ. Mọi ứng dụng đều bắt buộc phải có hàm WinMain (thay cho
main()), trong đó, tham số dòng lệnh lpCmdLine là một chuỗi Unicode. Tuy
nhiên, ứng dụng không bắt buộc phải có vòng lặp xử lý thông điệp. Các ứng dụng
8
Viết thuê luận văn thạc sĩ
[email protected] - 0972.162.399
Chương 2 :Tổng quan về Pocket PC và Windows CE 3.0
dialog-based hoặc không có giao diện để người dùng tương tác vẫn làm việc bình
WM_WINDOWPOSCHANGING hoặc biểu tượng Restore trên menu hệ thống cũng
không còn cần thiết
Cấu hình hệ thống cho chương trình trên Windows CE toàn bộ sử dụng
Registry như trên desktop, không sử dụng các biến môi trường hay các file INI. Mọi
H
chương trình đều phải sử dụng Registry, có cơ chế gần như tương tự với Registry
trên Windows- phiên bản desktop.
Đ
Vì một hay nhiều nguyên nhân, một số phần cơ bản trong Win32 API cũng
• Hook
–
không được hỗ trợ. Các phần này bao gồm:
C
N
TT
• Generic, flat, and universal thunks
• Services and the event log
• Profiling (GetThreadTime và GetProcessTime)
• Bảo mật (SACLs, DACLs, …)