1. Phát biểu bài toán
4.5. Thiết kế giao diện
Màn hình PDA có kắch thước tương ựối nhỏ nên cần thiết kế giao diện sao cho gọn gàng, dành tối ựa màn hình cho bản ựồ. Thanh thực ựơn cần tổ chức ựơn giản. Thanh công cụ chỉ cần chứa các chức năng thường ựược sử dụng nhất như phóng to, thu nhỏ, dịch chuyển, xem thông tin hay tìm kiếm.
Hình 3.9. Giao diện chương trình
4.6. Thiết kế dữ liệu bản ựồ
Dữ liệu bản ựồ sử dụng trong luận văn này là dữ liệu vec tơ, tuân theo chuẩn dữ liệu của ESRI Inc. Dữ liệu ựược chia thành các lớp bản ựồ (layer). Mỗi lớp mô tả một loại thực thể (quận, sông, hồ, ựường giao thôngẦ) và ựược tổ chức như sau:
Dữ liệu hình học lưu dưới dạng shape file (tệp *.shp)
Dữ liệu hình học ựược lập chỉ mục ựể tăng tốc ựộ tìm kiếm và lưu dưới dạng tệp chỉ mục (tệp *.shx)
Dữ liệu thống kê lưu dưới dạng tệp DBase (tệp *.dbf) và ựược mã hóa theo chuẩn unicode. Dữ liệu ựược tổ chức lưu trữ cho cả tiếng Anh và tiếng Việt ựảm bảo tắnh mở của hệ thống ựể phát triển ựa ngôn ngữ về sau.
Các lớp bản ựồ
o Quận (tệp districts.*) o Sông (tệp rivers.*) o Hồ (tệp lakes.*) o Cầu (tệp bridges.*)
Trang 64 o đường phố (tệp roads.*) o Khách sạn (tệp hotels.*) o Bảo tàng (tệp museums.*) o Nhà thờ (tệp churchs.*) o đền/chùa (tệp pagodas.*) Thuộc tắnh và dữ liệu thống kê Thuộc tắnh lớp Quận
STT Tên thuộc tắnh Mô tả Kiểu
1 NAME Tên quận hành chắnh Chuỗi ký tự
2 NAMEE Tên quận hành chắnh (Tiếng Anh)
Chuỗi ký tự
3 LinkHTML Trường liên kết ựến tệp HTML mô tả các thông tin liên quan ựến Quận (lịch sử/ ựịa lýẦ)
Chuỗi ký tự
Thuộc tắnh lớp Sông
STT Tên thuộc tắnh Mô tả Kiểu
1 NAME Tên sông Chuỗi ký tự
2 NAMEE Tên sông (Tiếng Anh) Chuỗi ký tự 3 LinkHTML Trường liên kết ựến tệp HTML
mô tả các thông tin liên quan ựến sông (lịch sử/ ựịa lýẦ)
Chuỗi ký tự
Thuộc tắnh lớp Hồ
STT Tên thuộc tắnh Mô tả Kiểu
1 NAME Tên hồ Chuỗi ký tự
2 NAMEE Tên hồ (Tiếng Anh) Chuỗi ký tự 3 LinkHTML Trường liên kết ựến tệp HTML
mô tả các thông tin liên quan ựến hồ (lịch sử/ ựịa lýẦ)
Chuỗi ký tự
Trang 65
STT Tên thuộc tắnh Mô tả Kiểu
1 NAME Tên cầu Chuỗi ký tự
2 NAMEE Tên cầu (Tiếng Anh) Chuỗi ký tự 3 LinkHTML Trường liên kết ựến tệp HTML
mô tả các thông tin liên quan ựến cầu (lịch sử/ ựịa lýẦ)
Chuỗi ký tự
Thuộc tắnh lớp đường phố
STT Tên thuộc tắnh Mô tả Kiểu
1 NAME Tên ựường phố Chuỗi ký tự
2 NAMEE Tên ựường phố (Tiếng Anh) Chuỗi ký tự
3 DORONG độ rộng ựường Số thực
4 LUULUONG Lưu lượng giao thông Số thực (Người/giây) 5 LOẠI DUONG Loại ựường: cấp 1, vành ựaiẦ Số nguyên
6 DODAI độ dài ựường Số thực (km)
7 CHIEUDUONG đường 1 chiều/ 2 chiều Số nguyên 8 LinkHTML Trường liên kết ựến tệp HTML
mô tả các thông tin liên quan ựến ựường/ phố (lịch sử/ ựịa lýẦ)
Chuỗi ký tự
Thuộc tắnh lớp Khách sạn
STT Tên thuộc tắnh Mô tả đơn vị tắnh
1 NAME Tên khách sạn Chuỗi ký tự
2 NAMEE Tên khách sạn (Tiếng Anh) Chuỗi ký tự 3 LinkHTML Trường liên kết ựến tệp HTML
mô tả các thông tin liên quan ựến khách sạn (lịch sử/ ựịa lýẦ)
Chuỗi ký tự
Trang 66
STT Tên thuộc tắnh Mô tả đơn vị tắnh
1 NAME Tên bảo tàng Chuỗi ký tự
2 NAMEE Tên bảo tàng (Tiếng Anh) Chuỗi ký tự 3 LinkHTML Trường liên kết ựến tệp HTML
mô tả các thông tin liên quan ựến bảo tàng (lịch sử/ ựịa lýẦ)
Chuỗi ký tự
Thuộc tắnh lớp Nhà thờ
STT Tên thuộc tắnh Mô tả đơn vị tắnh
1 NAME Tên nhà thờ Chuỗi ký tự
2 NAMEE Tên nhà thờ (Tiếng Anh) Chuỗi ký tự 3 LinkHTML Trường liên kết ựến tệp HTML
mô tả các thông tin liên quan ựến nhà thờ (lịch sử/ ựịa lýẦ)
Chuỗi ký tự
Thuộc tắnh lớp đền/chùa
STT Tên thuộc tắnh Mô tả đơn vị tắnh
1 NAME Tên ựền/chùa Chuỗi ký tự
2 NAMEE Tên ựền/ chùa (Tiếng Anh) Chuỗi ký tự 3 LinkHTML Trường liên kết ựến tệp HTML
mô tả các thông tin liên quan ựến ựền chùa (lịch sử/ ựịa lýẦ)
Chuỗi ký tự
4.7. Xây dựng các chức năng
4.7.1. Nạp dữ liệu bản ựồ
Chức năng này cho phép người sử dụng chọn dữ liệu bản ựồ muốn thao tác. Phiên bản hiện tại cho phép mở dữ liệu bản ựồ Hà Nội. Các phiên bản tiếp theo sẽ cập nhật thêm dữ liệu các tỉnh/ thành phố khác.
Cách thức thực hiện: chọn thực ựơn Chức Năng Mở Bản đồ... Các thao tác xử lý trong chức năng này:
Trang 67
o Chọn tệp bản ựồ từựường dẫn o đọc và xử lý tệp bản ựồ o Hiển thị bản ựồ toàn cảnh
Hình 3.10. Lưu ựồ nạp và hiển thị dữ liệu bản ựồ Mô tả chi tiết:
đầu vào là tệp dữ liệu bản ựồ. Tệp này mô tả các thông tin ựến số lớp bản ựồ, cách thức hiển thị từng lớp. Sau khi chọn, dữ liệu bản ựồ sẽ ựược nạp vào bộ nhớ nhằm tăng tốc ựộựọc và hiển thị. Bản ựồ ban ựầu sẽựược hiển thị toàn bộ khu vực.
4.7.2. Phóng to bản ựồ
Chức năng này cho phép người sử dụng phóng to bản ựồ hiện thời ựể nhìn rõ các chi tiết nhỏ.
Cách thức thực hiện: chọn thực ựơn Chức Năng Duyệt Bản đồ Phóng To hoặc chọn trực tiếp chức năng Phóng To từ thanh công cụ.
o Các thao tác xử lý trong chức năng này: o Bản ựồựược phóng to theo tỉ lệ nhất ựịnh
o Thanh công cụ hiển thị chức năng ựang ựược chọn sử dụng (phóng to) o Nếu người sử dụng nhấn bút vào bản ựồ
o Tâm bản ựồ chuyển về vị trắ nhấn bút o Bản ựồ tiếp tục ựược phóng to
Trang 68
Hình 3.11. Lưu ựồ thực hiện phóng to bản ựồ
4.7.3. Thu nhỏ bản ựồ
Chức năng này cho phép người sử dụng thu nhỏ bản ựồ hiện thời ựể nhìn bao quát hơn.
Cách thức thực hiện: chọn thực ựơn Chức Năng Duyệt Bản đồ Thu Nhỏ hoặc chọn trực tiếp chức năng Thu Nhỏ từ thanh công cụ.
Các thao tác xử lý trong chức năng này:
o Bản ựồựược thu nhỏ theo tỉ lệ nhất ựịnh
o Thanh công cụ hiển thị chức năng ựang ựược chọn sử dụng (thu nhỏ) o Người sử dụng nhấn bút vào bản ựồ
o Tâm bản ựồ chuyển về vị trắ nhấn bút o Bản ựồ tiếp tục ựược thu nhỏ
Trang 69
Hình 3.12. Lưu ựồ thực hiện thu nhỏ bản ựồ
4.7.4. Dịch chuyển bản ựồ
Chức năng này cho phép người sử dụng dịch chuyển bản ựồ sang vị trắ quan sát khác.
Cách thức thực hiện: chọn thực ựơn Chức Năng Duyệt Bản đồ Dịch chuyển hoặc chọn trực tiếp chức năng Dịch Chuyển từ thanh công cụ.
Các thao tác xử lý trong chức năng này:
o Thanh công cụ hiển thị chức năng ựang ựược chọn sử dụng (dịch chuyển) o Người sử dụng nhấn bút vào bản ựồ
Trang 70 Bắt ựầu Kết thúc Hiển thị Thanh công cụ hiển thị chức năng dịch chuyển ựang ựược chọn Nhấn bút lên bản ựồ? Không Có Chuyển tâm bản ựồ về tọa ựộ nhấn bút
Hình 3.13. Lưu ựồ thực hiện dịch chuyển bản ựồ
4.7.5. Xem thông tin
Chức năng này cho phép người sử dụng xem thông tin của một vị trắ trên bản ựồ. Cách thức thực hiện: chọn thực ựơn Chức Năng Duyệt Bản đồ Xem Thông Tin hoặc chọn trực tiếp chức năng Xem Thông Tin từ thanh công cụ.
Các thao tác xử lý trong chức năng này:
o Thanh công cụ hiển thị chức năng ựang ựược chọn sử dụng (xem thông tin)
o Người sử dụng nhấn bút vào bản ựồ
o Xác ựịnh thông tin ứng với lớp bản ựồ hoạt ựộng (active layer) tại vị trắ nhấn bút
Trang 71 Bắt ựầu Kết thúc Hiển thị Thanh công cụ hiển thị chức năng xem thông tin
ựang ựược chọn
Nhấn bút lên bản ựồ?
Không
Có
Xác ựịnh thông tin tại vị trắ nhấn bút
Hình 3.14. Lưu ựồ thực hiện xem thông tin trên bản ựồ
4.7.6. Tìm kiếm thông tin
Chức năng này cho phép người sử dụng tìm kiếm thông tin thuộc tắnh trên bản ựồ. Có thể là tên ựường/phố, tên khách sạnẦ
Cách thức thực hiện: chọn thực ựơn Chức Năng Tìm KiếmẦ hoặc chọn trực tiếp chức năng Tìm Kiếm từ thanh công cụ.
Các thao tác xử lý trong chức năng này:
o Hiển thị hộp thoại cho phép nhập thuộc tắnh cần tìm o Tìm kiếm thông tin
Trang 72 Bắt ựầu Nhập thông tin cần tìm Kết quả? Tìm kiếm Kết thúc Phóng to - Hiển thị Không tìm thấy Tìm thấy Hủy bỏ Thông báo không có
Hình 3.15. Lưu ựồ thực hiện tìm kiếm thông tin trên bản ựồ
4.7.7. Lập trình, xây dựng ứng dụng
Ngôn ngữ lập trình ựược chọn ựể xây dựng chương trình PAMap là C# trên nền .NET Compact Framework 2.0 SP1. Công cụ sử dụng là Visual Studio 2005.
Một ựoạn mã chương trình:
namespace PAMapViewer {
public partial class FormMain : Form
{
PAMap.Map myMap;
const double MILEperKILOMETER = 1.60926939;
FormFinder frmFinder; Ầ
public void OpenHanoiMap()
{ Ầ
VectorLayer layRoads = new VectorLayer("đường phố");
ShapeFile shpRoads = new ShapeFile(@".\Data\Roads.shp"); shpRoads.Encoding = System.Text.Encoding.UTF8; layRoads.DataSource = shpRoads;
layRoads.MaxVisible = 0.01; //(LOD implementation)
Ầ myMap.Layers.Add(layRoads); Ầ myMap.ZoomToExtents(); } Ầ } }
Trang 73
5. Kt qu
Trên cơ sở những nghiên cứu trên ựây, tôi ựã tiến hành xây dựng ứng dụng bản ựồ Hà Nội thử nghiệm chạy ựộc lập trên PDA bằng công cụ Visual Studio 2005, ngôn ngữ C# trên nền .NET Compact Framework 2.0. Ứng dụng ựược ựặt tên là PAMap - Hà Nội phiên bản 1.0 có giao diện tiếng Việt. PDA sử dụng ựể thử nghiệm là thiết bị O2 XDA IIs, CPU Intel PXA263: 400Mhz, bộ nhớ ROM: 96MB, RAM: 128MB, màn hình QVGA: 320x240 TFT.
Chương trình hoạt ựộng khá tốt, có thể hiển thị bản ựồ thành phố Hà Nội với một số lớp dữ liệu cơ bản: lớp ựường biên hành chắnh, lớp ựường giao thông và một số lớp tiện ắch: trường học, bệnh viện, nhà hát, bảo tàng, ựình chùaẦ Người sử dụng có thể thực hiện các thao tác cơ bản như phóng to, thu nhỏ, duyệt bản ựồ, xem và tìm kiếm thông tin thuộc tắnh với phông chữ tiếng Việt, sử dụng GPS ựể ựịnh vịẦ
Một số màn hình chương trình
Trang 74
Hình 3.20. Xem thông tin trên bản ựồ
Trang 75
Hình 3.22. Thiết lập hệ thống Hình 3.23. Thiết lập GPS
Trang 76
KẾT LUẬN
đặc thù của các hệ thống GIS là thực hiện khá nhiều các xử lý ựồ họa phức tạp ựòi hỏi hệ thống phải có tốc ựộ xử lý cao. Hiện tại các thiết bị PDA nhanh nhất mới có tốc ựộ xử lý khoảng trên 600 MHz ựủ ựể ựáp ứng một số thao tác ựồ họa cơ bản. Tuy nhiên, cùng với những tiến bộ nhanh chóng trong công nghệ sản xuất vi mạch, chắp ựiện tử, trong tương lai gần các thiết bị di ựộng sẽ có khả năng xử lý ựồ họa tốt hơn nhiều, hoàn toàn có khả năng ựáp ứng cho các ứng dụng GIS 3D phức tạp. Giải pháp sử dụng kết nối Internet rất phù hợp với những thiết bị PDA có tốc ựộ xử lý thấp nhưng phải ựảm bảo ựường truyền Internet tốt và liên tục. Giải pháp xây dựng ứng dụng ựộc lập không yêu cầu có ựường truyền Internet nhưng lại ựòi hỏi PDA có tốc ựộ xử lý tương ựối cao. Việc lựa chọn giải pháp xây dựng ứng dụng GIS trên các thiết bị di ựộng hoàn toàn phụ thuộc vào nhu cầu của thị trường, giá cả và của chắnh người sử dụng.
Luận văn ựã ựặt ra và giải quyết bài toán xây dựng bản ựồ số trên PDA với một số chức năng cơ bản của bất kỳ hệ thống GIS nào. Các vấn ựề ựã ựược nghiên cứu bao gồm:
o Nghiên cứu lý thuyết về GIS, các mô hình dữ liệu không gian và cách thức biểu diễn chúng trên máy tắnh cũng như trên PDA, nghiên cứu về cách phân lớp dữ liệu bản ựồ, về mô hình cơ sở dữ liệu biểu diễn bản ựồ. o Nghiên cứu về các thiết bị số trợ giúp cá nhân: phần cứng, hệ ựiều hành,
cách thức hệ ựiều hành ựiều khiển các ứng dụng phần mềm hoạt ựộng và tương tác với các thiết bị ngoại vi.
o Nghiên cứu về lý thuyết ựồ thị áp dụng trong tìm ựường ựi ngắn nhất trong bản ựồ.
o Nghiên cứu về ựồ họa máy tắnh ựể biểu diễn các ựối tượng bản ựồ, các phương pháp tối ưu tốc ựộ hiển thị.
o Nghiên cứu, tìm hiểu về công nghệ ựịnh vị vệ tinh GPS, các công nghệ truyền thông không dây: GSM/GPRS, Wifi, WiMaxẦ
o Nghiên cứu về ứng dụng bản ựồ số và công nghệ phát triển ứng dụng bản ựồ số trên PDA: Dịch vụ Web, Mobile GIS và các giải pháp phát triển ứng dụng bản ựồ số trên PDA.
o Nghiên cứu lý thuyết về ngôn ngữ mô hình hóa thống nhất UML và sử dụng công cụ Rational Rose ựể phân tắch, thiết kếứng dụng PAMap. o Nghiên cứu công nghệ .NET Compact Framework và sử dụng công cụ hỗ
trợ phát triển ứng dụng Visual Studio 2005 của Microsoft ựể xây dựng ứng dụng PAMap.
Do thời gian có hạn, kết quả luận văn là phần mềm PAMap v1.0 vẫn còn cần phải tiếp tục nghiên cứu tiếp trong tương lai, ựặc biệt là hoàn thiện dữ liệu bản ựồ, mở rộng cho bản ựồ các thành phố lớn khác như TP HCM, Hải Phòng, HuếẦ và cần nghiên cứu tắch hợp những công nghệ tiên tiến như nhận dạng và tổng hợp tiếng nói cũng như công nghệ biểu diễn bản ựồ 3 chiều trên PDAẦ
Trang 77
TÀI LIỆU THAM KHẢO
Tiếng Việt
1. đặng Văn đức - Hệ thống thông tin ựịa lý, Nhà xuất bản Khoa học Kỹ thuật, Hà Nội, 2001
2. Nguyễn Tiến Phương, đặng Văn đức, Trần Mạnh Trường, Một phương pháp xây dựng ứng dụng bản ựồ số trên thiết bị trợ giúp các nhân (PDA), Kỷ yếu hội thảo Quốc gia về Công nghệ thông tin, đà Lạt, 2006.
Tiếng Anh
3. A. Hinze and G. Bunchanan, Context-awareness in mobile tourist
information systems: Chalenges for user interaction, In 7th MobileHCI, 2005 4. Aarne Klemetti EVTEK, Media Technology - PDA Operating Systems
5. B.E. Mennecke and T.J. Strader, Mobile commerce: technology, theory and
applications, Idea Group Publishing, Hershey, PA, 2002
6. ESRI, Inc Ờ Internet Map Server, USA, 1998
7. Hansmann, U., Pervasive Computing Handbook, Springer-Verlag Berlin
and Heidelberg GmbH & Co. K, 2001
8. Microsoft Corp. Ờ Windows Embedded: Embedded Devices, Technology &
Embedded Development, www.microsoft.com/windows/embedded, 2007
9. Microsoft Corp. Ờ MSDN Library for Visual Studio 2005, USA, 2006
10.Open Geospatial Consortium, OpenGIS Implementation Specification for
Geographic information, http://www.opengeospatial.org
11.The Free Dictionary, PDA in the free online Encyclopedia,