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 số chức năng tìm kiếm thông tin - Pdf 11


KHOA CNTT – ĐH KHTN

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
VÕ SỸ NAM – 9912616
ĐỖ LỆNH HÙNG SƠN – 9912064 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 SỐ
CHỨC NĂNG TÌM KIẾM THÔNG TIN LUẬN VĂN CỬ NHÂN TIN HỌC


NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

KHOA CNTT – ĐH KHTN LỜI CÁM ƠN

Luận văn của chúng em sẽ rất khó hoàn thành nếu không có sự truyền đạt
kiến thức quí báu và sự hướng dẫn tận tình của Thầy Dương Anh Đức và thầy Lê
Thụy Anh. Chúng em xin chân thành cám ơn sự chỉ bảo của các thầy.
Chúng con xin gửi tất cả lòng biết ơn, sự kính trọng đến ông bà, cha mẹ,
cùng toàn thể gia đình, những người đã nuôi dạy, đã cho chúng con niềm tin và nghị
lực để vượt qua mọi khó khăn.
Chúng em xin trân trọng cám ơn quý Thầy cô trong Khoa Công nghệ thông
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

lẫn lĩnh vực phần mềm. Kích thước cũng như khả năng của các thiết bị ngày càng
được cải thiện rất nhiều. Từ các máy tính có kích thước rất lớn như mainframe, hiện
nay, trên thế giới đã xuất hiện các loại thiết bị hỗ trợ cá nhân di động, gọi là PDA
(Personal Digital Assistant), hết sức nhỏ gọn và tiện lợi, đặc biệt đối với những
người có nhu cầu di chuyển nhiều. Các thiết bị thông minh, không dây và thuận tiện
này đang ngày càng khẳng định vị trí của mình với những đặc tính của 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ó 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 Á
(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
SỐ CHỨC NĂNG TÌM KIẾM THÔNG TIN” và đã xây dựng ứng dụng với dữ
liệu là bản đồ Tp.Hồ Chí Minh.
KHOA CNTT – ĐH KHTN

KHOA CNTT – ĐH KHTN MỤC LỤC Danh sách hình i

Danh sách bảng iii
Một số khái niệm và thuật ngữ v
Chương 1 : Mở đầu 1
1.1 GIS, các ứng dụng và giải pháp về GIS 1
1.2 Ứng dụng GIS trên Pocket PC 2
1.3 Các giải thuật nghiên cứu về GIS 3
1.4 Mục tiêu của đề tài 3
Chương 2 : Tổng quan về Pocket PC và Windows CE 3.0 5
2.1 Giới thiệu về các thiết bị PDA 5
2.2 Tổng quan về Windows CE 6
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


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
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
7.2 Hướng phát triển 134
Tài liệu tham khảo 136
Phụ lục 139
KHOA CNTT – ĐH KHTN
Danh sách hình
Hình 2-1: Phân bố bộ nhớ trong Windows CE 14
Hình 4-1: Đoạn thẳng giao vùng nhìn 33
Hình 4-2: Cung giao vùng nhìn 34
Hình 4-3: Lưu đồ vẽ đối tượng 38
Hình 5-1: Liên hệ giữa cung và điểm 57
Hình 6-20: Sequence Diagram: Hiển thị bản đồ 102
Hình 6-21: Collaboration Diagram: Hiển thị bản đồ 103
Hình 6-22: Sequence Diagram: Tìm các đường giao nhau 104
Hình 6-23: Collaboration Diagram: Tìm các đường giao nhau 105
Hình 6-24: Sequence Diagram: Tìm giao lộ 106
Hình 6-25: Collaboration Diagram: Tìm giao lộ 107
Hình 6-26: Sequence Diagram: Tìm đường đi ngắn nhất 108
Hình 6-27: Collaboration Diagram: Tìm đường đi ngắn nhất 109
Hình 6-28: Sequence Diagram: Tìm địa điểm 109
Hình 6-29: Collaboration Diagram: Tìm địa điểm 110
Hình 6-30: Sequence Diagram: Tìm con đường 111
Hình 6-31: Collaboration Diagram: Tìm con đường 112
Hình 6-32: Sequence Diagram: Dịch chuyển vùng nhìn 113
Hình 6-33: Collaboration Diagram: Dịch chuyển vùng nhìn 114
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
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

Bảng 5-9: Cấu trúc file quận huyện 67
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

KHOA CNTT – ĐH KHTN Bảng 6-5: Lớp RoadData 93
Bảng 6-6: Lớp RoadPath 93
Bảng 6-7: Lớp RoadArc 94
Bảng 6-8: Lớp GraphData 95
Bảng 6-9: Lớp Node 95
Bảng 6-10: Lớp DistrictData 96
Bảng 6-11: Lớp DistrictArea 97
Bảng 6-12:Lớp PlaceData 98
Bảng 6-13: Lớp Place 98

Hệ thống thông tin địa lý. Sử
dụng công nghệ này là một công
nghệ dựa trên máy tính để xây
dựng bản đồ, phân tích và xử lý
các đối tượng tồn tại và các sự
kiện xảy ra trên trái đất.

Thông tin
không gian
Thông tin về những đặc điểm liên
quan đến hình dạng, vị trí, quan
hệ của các đối tượng địa lý.
Bao gồm hai dạng:
• 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:
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 vùng xác
định.

v


Pocket PC do Microsoft
phát triển dựa trên nhân
của Hệ điều hành
Windows CE 3.0
• Các thiết bị PDA sử dụng
hệ điều hành Pocket PC

Palm-size Một dạng thiết bị cầm tay, sử
dụng Windows CE 2.21
Đang có khuynh hướng
bị Pocket PC thay thế
do có nguồn điện và
khả năng không tốt
Handheld PC Một dạng thiết bị cầm tay, sử
dụng Windows CE 2.21
Có kích thước lớn hơn
Pocket PC
Palm OS Hệ điều hành nhúng do Palm phát
triển, sử dụng trên các thiết bị
cầm tay
Là một trong những hệ
điều hành nhúng phổ
biến nhất hiện nay, có
khả năng chạy nhanh
hơn hệ điều hành
vi


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
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,
trên những hệ thống máy PC và thời gian gần đây là trên cả các thiết bị PDA.
Một số ứng dụng GIS nổi tiếng trên thế giới hiện nay đang được ứng dụng
rộng rãi như MapInfo, Arc/Info, Spatial Database Engine (SDE), ArcView GIS :
được sử dụng với mục đích quản lý, tích hợp, quy hoạch và khai thác các dữ liệu
bản đồ.
Tại Việt Nam, công nghệ GIS cũng đã được nghiên cứu và có được một số
sản phẩm có kết quả đáng khích lệ. Thời gian gần đây, việc nghiên cứu công nghệ
GIS đã cho ra hàng loạt ứng dụng áp dụng trong thực tế tại Tp.Hồ Chí Minh, như
StreetFinder của DolSoft, hệ thống GIS trên website Ngân hàng bản đồ trực tuyến
của VDC, DMC, Dolsoft (www.basao.com.vn), hệ thống chỉ dẫn giao thông của
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

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

KHOA CNTT – ĐH KHTN

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
tra điểm trong/ngoài đa giác hay các giải thuật tìm kiếm trên cấu trúc dữ liệu hoặc
tìm kiếm lộ trình tối ưu )
Các bài toán về GIS hiện nay vẫn đang được nghiên cứu và có những cải tiến
rất tốt, kể cả trong các bài toán phức tạp.
1.4 Mục tiêu của đề tài
Hiện nay, một ứng dụng bản đồ điện tử tại Việt Nam nói chung, và Tp.Hồ
Chí Minh trên môi trường Pocket PC là rất cần thiết khi lượng khách du lịch từ
nước ngoài đến tham quan Việt Nam ngày càng tăng, cũng như sự phổ biến ngày

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
đường nào đó (vì nhiều lí do như kẹt xe, ngập lụt )
4

KHOA CNTT – ĐH KHTN

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
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ở
nên hết sức thông dụng trên thị trường thế giới. Tuy nhiên, đang tồn tại một cuộc
cách mạng tiềm ẩn và hứa hẹn khác, đó là sự ra đời của các thiết bị tính toán, xử lý
di động hay còn gọi là thiết bị hỗ trợ cá nhân (PDA-Personal Digital Assistant).
Trong vài năm gần đây, các thiết bị dạng này đang ngày càng phổ biến. Tuy
nhiên, vào thời điểm ban đầu, mỗi thiết bị sử dụng hệ điều hành của riêng nó (các
phần mềm trên thiết bị có thể do các nhà cung cấp phần mềm độc lập, bán bản
quyền cho nhà cung cấp thiết bị ). Việc này đã dẫn đến sự phân chia thị trường của
các hệ điều hành cho thiết bị di động, hay còn gọi là hệ điều hành nhúng, ngăn cản

khác nhau. Điều này có nghĩa là các kĩ sư có thể chọn lựa những phần nào của hệ
điều hành cần sử dụng, ví dụ như một thiết bị có thể không cần bàn phím hoặc màn
hình, nhưng có thể đòi hỏi sử dụng được mạng. Bằng cách chọn lựa những module
mà thiết bị cần, kích thước và giá thành của thiết bị có thể được giảm xuống.
Tuy nhiên, sự điều chỉnh này lại có thể là một khó khăn cho các nhà phát
triển ứng dụng, vì có thể Windows CE hỗ trợ một tính năng nào đó, nhưng thiết bị
nguồn được sử dụng lại không hỗ trợ.
Hiện thời, có khá nhiều sự lẫn lộn quanh các phiên bản của Windows CE
cũng như cách gọi tên. Sau đây là một vài phiên bản hiện thời của Windows CE:
• Windows CE 3.0: Phiên bản này được thiết kế để cung cấp các đặc
tính của một hệ điều hành thời gian thực và một số phát triển khác.
Thiết bị Pocket PC sử dụng một dạng biến thể phiên bản này.
• 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

KHOA CNTT – ĐH KHTN

Chương 2 :Tổng quan về Pocket PC và Windows CE 3.0
2.3 Tổng quan về Pocket PC
KHOA CNTT – ĐH KHTN

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
điều: các hàm được chọn lọc lại để sử dụng hoặc không hỗ trợ các hàm này nữa
(phụ thuộc vào yêu cầu xác định của thiết bị, như H/PC hay P/PC). Trong các hàm
được khai báo và cài đặt trùng nhau giữa Win32 API và các thư viện runtime của
ngôn ngữ lập trình (ví dụ: lstrlen/strlen, time/GetSystemTime…),
WinCE sẽ chỉ cung cấp và hỗ trợ một hàm.
Một thay đổi lớn về mặt cấu tạo là cách Win CE cung cấp các thư viện hệ
thống. Win CE không còn cung cấp nhiều thư viện khác nhau như GDI, Kernel và
User nữa, mà chỉ cung cấp duy nhất một thư viện coredll.lib. Thư viện này cung cấp
tất cả các hàm API cũng như nhiều hàm nội (internal) không được cung cấp tài liệu.
2.4.1 Các hàm Win32 API
Khoảng 3600 hàm Win32 API được hỗ trợ trong Windows NT và Windows
95/98, còn số hàm API mà Windows 2000 lớn hơn rất nhiều. Trong khi đó, phiên
bản 1.0 của WinCE chỉ hỗ trợ 500 trong số các hàm này, trong phiên bản 2.0( được
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
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,

Vì một hay nhiều nguyên nhân, một số phần cơ bản trong Win32 API cũng
không được hỗ trợ. Các phần này bao gồm:
• Hook
• Generic, flat, and universal thunks
• Services and the event log
• Profiling (GetThreadTime và GetProcessTime)
• Bảo mật (SACLs, DACLs, …)

Từ phiên bản 2.1, Windows CE đã thêm vào một số hỗ trợ cho vấn đề mã hoá
(gọi là Cryptography API) cũng như hỗ trợ cho COM (CompChỉ mộtnt Object
Model)

2.4.2 Các hàm API và SDK phụ trợ
Các hàm này không nằm trong tập hợp các hàm được xem là cơ bản của
Win32. Trong khi Win32 hỗ trợ một số lượng khổng lồ các hàm SDK và API ngoại
vi, thì Windows CE chỉ hỗ trợ rất ít các hàm này.
Một số những tính năng quan trọng được Windows CE hỗ trợ như:
9


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status