Luận văn Tìm hiểu về location services cho di động và xây dựng ứng dụng minh họa
Tìm hiểu các công nghệ liên quan trên phần cứng và phần mềm · Công nghệ phần cứng & xử lý · Công nghệ định vị · Ưu và khuyết của các công nghệ ·
Bạn đang xem trước 20 trang tài liệu Luận văn Tìm hiểu về location services cho di động và xây dựng ứng dụng minh họa, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
KHOA CÔNG NGHỆ THÔNG TIN
BỘ MÔN CÔNG NGHỆ PHẦN MỀM
NGUYỂN VÕ THANH PHÚ – 0512269
LÂM THỊ NGỌC NHÀN – 0512248
TÌM HIỂU VỀ LOCATION SERVICES CHO DI
ĐỘNG VÀ XÂY DỰNG ỨNG DỤNG MINH HỌA
KHÓA LUẬN TỐT NGHIỆP CỬ NHÂN CNTT
GIÁO VIÊN HƯỚNG DẪN
Th.S NGÔ HUY BIÊN
2KHÓA 2005 - 2009
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
TpHCM, ngày ….. tháng …… năm ……
Giáo viên hướng dẫn
3
4NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
……………………………………………………………………………………………
TpHCM, ngày ….. tháng …… năm ……
5 Giáo viên phản biện
6LỜI CẢM ƠN
Chúng em xin cảm ơn khoa công nghệ thông tin, trường Đại học Khoa học tự nhiên
thành phố Hồ Chí Minh đã tạo điều kiện cho chúng em thực hiện luận văn này.
Xin cảm ơn thầy Ngô Huy Biên đã hướng dẫn chúng em thực hiện luận văn này.
Xin cảm ơn các quý Thầy Cô trong Khoa đã tận tình giảng dạy, trang bị những kiến
thức quý báu cho chúng em trong những năm học vừa qua.
Nhóm sinh viên thực hiện
Nguyễn Võ Thanh Phú – Lâm Thị Ngọc Nhàn
Tháng 07/2009
7 Trường đại học khoa học tự nhiên
Khoa công nghệ thông tin
Bộ môn công nghệ phần mềm
Đề cương chi tiết
Tên Đề Tài: Tìm hiểu về Location Services cho di động và xây dựng ứng dụng minh họa
Giáo viên hướng dẫn: Ngô Huy Biên
Thời gian thực hiện: 31/12/2008 – 04/07/2009
Sinh viên thực hiện:
Nguyễn Võ Thanh Phú – 0512269
Lâm Thị Ngọc Nhàn – 0512248
Loại đề tài: Tìm hiểu công nghệ và xây dựng ứng dụng minh họa
Nội Dung Đề Tài:
1. Nội dung và yêu cầu
- Tìm hiểu về công nghệ cung cấp dịch vụ dựa theo vị trí (location based service)
- Xây dựng ứng dụng tìm kiếm dựa theo vị trí, với các chức năng sau
· Tìm thông tin dựa trên vị trí của người dùng
· Kết hợp dữ liệu từ một số nguồn khác nhau để phục vụ người dùng
· Hướng dẫn trực quan dưới dạng bản đồ
2. Phương pháp thực hiện
- Tìm hiểu về các dịch vụ dựa theo vị trí
8· Tìm hiểu các công nghệ liên quan trên phần cứng và phần mềm
· Công nghệ phần cứng & xử lý
· Công nghệ định vị
· Ưu và khuyết của các công nghệ
· Lịch sử phát triển các công nghệ liên quan
- Các nghiên cứu trong cùng lĩnh vực
· Các chuẩn và tổ chức hiện có liên quan tới lĩnh vực này
· Những vấn đề mở và những khó khăn đang gặp phải
· Những công nghệ có triển vọng
· Để xuất hướng nghiên cứu và liên hệ đề tài
- Tìm hiểu các hệ thống cung cấp dịch vụ hiện có
· Hoàn cảnh ra đời
· Lình vực ứng dụng
· Ưu và khuyết điểm của các hệ thống ứng dụng này
· Bài học rút ra từ các hệ thống này
- Tìm hiểu việc xây dựng một dịch vụ dựa trên vị trí của người dùng
· Tìm hiểu mô hình web service và các ưu điểm của nó so với việc xây dựng
một ứng dụng truyền thống
9· Xác định các nhu cầu của một ứng dụng theo hướng dịch vụ dựa trên vị trí
· Dữ liệu
· Xử lý
· Đồ họa
· Liên lạc
· Tốc độ
· Mô hình chung của một ứng dụng location service bao gồm cả server và
client
· Phân tích
· Thiết kế
· Đánh giá
· Giới thiệu các công nghệ được sử dụng, lược sử (hiện trạng và hướng phát
triển), ưu khuyết điểm và lý do lựa chọn
· Dữ liệu: MySQL
· Nến tảng ứng dụng: J2EE và J2ME
· Liên lạc: XML
- Xây dựng ứng dụng cung cấp dịch vụ dựa trên vị trí người dùng, cụ thể là local
search
· Các yêu cầu thực tiễn của ứng dụng
10
· Cung cấp kết quả tìm kiếm dựa trên địa điểm
· Tính tương tác và mở với người dùng (cho phép thêm thông tin như
thông tin địa điểm, thông tin hướng dẫn)
· Tích hợp với các hệ thống sẵn có (ví dụ như microblogging)
· Đề xuất cách xây dựng ứng dụng với các công nghệ đã chọn
· Mô hình hóa dữ liệu cho web service và tận dụng các kiểu dữ liệu
thưa theo chuẩn OpenGIS của MySQL 5
· Xây dựng một web service với J2EE
· Xây dựng một ứng dụng di động với J2ME
· Hỗ trợ xử lý XML trong Java
· Đánh giá mức độ hoàn tất (dựa vào các nhu cầu chung của một ứng dụng
cung cấp dịch vụ dựa theo vị trí)
· Các khó khăn gặp phải và đề xuất cải tiến cho
· Mô hình ứng dụng
· Công cụ phát triển
3. Kết quả
- Tổng hợp các thông tin về việc cung cấp dịch vụ dựa theo vị trí gồm
· Các khái niệm và công nghệ
· Tầm quan trọng và khả năng ứng dụng của các dịch vụ dựa theo vị trí
11
· Hiện trạng của công nghệ cung cấp dịch vụ dựa theo vị trí
· Thuận lợi
· Khó khăn
· Xu hướng phát triển của các dịch vụ dựa theo vị trí
- Xây dựng được một ứng dụng cung cấp dịch vụ dựa theo vị trí
· Đặt nền tảng cho các ứng dụng kế thừa, các hướng phát triển cho ứng dụng
· Giải quyết một số khuyết điểm đã gặp trong các ứng dụng khác
Kế Hoạch Thực Hiện:
Từ ngày Mô tả công việc
20/12/2008 Gặp gỡ giáo viên, xác định yêu cầu của đề tài
29/12/2009 Tìm hiểu khái niệm web service
15/01/2009 Chọn ứng dụng minh họa
26/01/2009 Tìm hiểu các công nghệ định vị
09/02/2009 Tìm hiểu và đánh gía các ứng dụng hiện có
16/02/2009 Đánh giá các platform server hiện có
22/02/2009 Chọn nguồn dữ liệu và nền tảng lập trình server, tìm hiểu nền tảng đã
chọn
01/03/2009 Đánh giá các platform client hiện có
09/03/2009 Chọn nguồn dữ liệu và nền tảng lập trình client, tìm hiểu nền tảng đã
chọn
15/03/2009 Xác định các yêu cầu cho server
23/03/2009 Xác định các yêu cầu cho client
31/03/2009 Thiết kế hệ thống
15/04/2009 Xác định phương thức liên lạc giữa client và server
23/04/2009 Mô hình hóa dữ liệu
01/05/2009 Code server với chức năng location search
10/05/2009 Code server với chức năng tìm đường
18/05/2009 Tìm hiểu phương thức liên lạc với các web service khác
12
26/05/2009 Chuẩn bị test cho server
01/06/2009 Code client
22/06/2009 Kiểm thử và báo cáo
29/06/2009 Bảo trì code
04/07/2009 Tổng kết báo cáo & Đóng gói phần mềm
Xác nhận của GVHD Ngày 04 tháng 07 năm 2009
SV Thực hiện
µµµ
13
MỤC LỤC
Chương 1 GIỚI THIỆU
26
Chương 2 CÔNG NGHỆ
29
2.1 Công nghệ định vị 29
2.1.1 Các hệ thống vệ tinh định vị hiện có 30
2.1.1.1 NAVSTAR GPS: 30
2.1.1.2 GLONASS (GLObal NAvigation Satellite System) 31
2.1.1.3 Galilleo 32
2.1.2 Trạm thu phát (Base station) 32
2.1.3 Các loại thiết bị có tính năng định vị cho người dùng 34
2.1.4 Cách thức định vị 36
2.1.4.1 Cell identification / Cell of origin 36
2.1.4.2 Định vị từ nhiều phía (multilateration) 37
2.1.4.2.1 Time difference of arrival (TDOA) 37
2.1.4.2.2 Time of arrival (TOA) 39
2.1.4.2.3 Angle of arrival (AOA) 40
2.1.4.2.4 Enhanced observed time difference (E-OTD) 40
2.1.4.2.5 Advanced forward link trilateration (A-FLT) 41
2.1.4.3 Định vị bằng vệ tinh: hệ thống định vị toàn cầu (GPS) 41
2.1.4.3.1 Các thành phần của GPS: user, ground & space section 41
2.1.4.3.2 Phương pháp định vị 42
2.1.4.3.3 Các cải tiến 43
14
2.1.5 Khác biệt giữa các hệ thống định vị được ứng dụng trong LBS với các hệ
thống tương tự 46
2.1.5.1 Khác biệt với các hệ thống định vị thời gian thực 46
2.1.5.2 Sự khác biệt với các hệ thống định hướng và theo dõi 48
2.1.6 Tính riêng tư khi sử dụng công nghệ định vị 49
2.2 Hệ thống thông tin địa lý (GIS) 49
2.2.1 Lịch sử 50
2.2.2 Dữ liệu cho GIS 51
2.2.3 Xử lý thông tin với GIS 53
2.2.3.1 Mô hình hóa dữ liệu 54
2.2.3.2 Mô hình hóa các mạng lưới 54
2.2.3.3 Mô hình hóa bản đồ 55
2.2.3.4 Thống kê địa lý 55
2.2.3.5 Mã hóa địa chỉ (geocoding) 56
2.2.4 Trình bày thông tin với GIS 56
2.2.4.1 Bản đồ 56
2.2.4.2 Đồ họa máy tính 57
2.3 Công nghệ truyền tải dữ liệu 57
2.3.1 WAP/GPRS/EDGE 57
2.3.2 Bluetooth/Wifi/WiMax 58
2.3.3 Truyền thông vệ tinh 59
Chương 3 CÁC NGHIÊN CỨU, CHUẨN VÀ ỨNG DỤNG HIỆN TẠI
61
3.1 Nghiên cứu 61
3.1.1 Các công ty & tổ chức nổi bật 61
15
3.1.2 Các vấn đề mở 62
3.2 Chuẩn 62
3.3 Các ứng dụng thương mại 64
3.3.1 Google 64
3.3.2 Yahoo 68
3.3.3 Vietmap 69
3.3.4 DiaDiem.com 70
3.3.5 Vietbando.com 71
3.3.6 Vimap 73
3.3.7 SMS Locator 73
Chương 4 XÂY DỰNG SERVER PHỤC VỤ LBS
75
4.1 Giới thiệu về server và web service 75
4.1.1 Vai trò và khả năng của hệ thống server 75
4.1.2 Yêu cầu cho ứng dụng trên server 77
4.1.2.1 Có thể tái sử dụng, dễ bảo trì 77
4.1.2.2 Bảo mật 78
4.1.2.3 An toàn (secure & reliable) 78
4.1.3 Ưu điểm của thiết kế có server 79
4.2 Xây dựng hệ thống server phục vụ LBS 79
4.2.1 Phân tích 79
4.2.1.1 Giới thiệu về web service 80
4.2.1.2 Kiến trúc của web service trong ứng dụng LBS 82
4.2.1.3 Mashup 83
4.2.1.4 Các phương pháp khác 84
16
4.2.1.4.1 SAAS 84
4.2.1.4.2 Client only 85
4.2.2 Ngôn ngữ 85
4.2.2.1 Giới thiệu Java 86
4.2.2.2 Ưu điểm của Java 87
4.2.2.2.1 Là ngôn ngữ lập trình thế hệ thứ 3 (3GL) với nhiều cải tiến 87
4.2.2.2.2 Là ngôn ngữ được thông dịch (interpreted) 87
4.2.2.2.3 Phát triển về mặt công nghệ 88
4.2.2.3 Khuyết điểm của Java 89
4.2.2.4 Kết luận về Java 89
4.2.2.5 Các ngôn ngữ khác có thể dùng để triển khai web service 90
4.2.2.5.1 ASP.NET 90
4.2.2.5.2 PHP 90
4.2.2.5.3 Ruby on Rails 91
4.2.3 Cơ sở dữ liệu 91
4.2.3.1 Giới thiệu MySQL 91
4.2.3.2 MySQL spatial extension 92
4.2.3.2.1 Biểu diễn dữ liệu 92
4.2.3.2.2 Truy xuất thuộc tính cũa dữ liệu địa lý 93
4.2.3.2.3 Thao tác trên dữ liệu địa lý 96
4.2.3.3 Ứng dụng MySQL vào xây dựng LBS 98
Chương 5 XÂY DỰNG CLIENT CHO LBS
102
5.1 Định nghĩa 102
5.2 Môi trường client 102
17
5.2.1 Windows Mobile và Microsoft Auto 102
5.2.2 Symbian 104
5.2.3 J2ME 105
5.3 Các vấn đề khi phát triển ứng dụng trên client là thiết bị di động 106
5.3.1 Dữ liệu 106
5.3.2 Xử lý và tốc độ 107
5.3.3 Liên lạc 107
5.3.4 Đồ họa 108
Chương 6 XÂY DỰNG ỨNG DỤNG LBS
109
6.1 Phát biểu bài toán 109
6.1.1 Giới thiệu 109
6.1.2 Mô tả tổng quan 109
6.1.3 Sử dụng 110
6.2 Phân tích yêu cầu 111
6.2.1 Usecase 111
6.2.1.1 Danh sách các actor 111
6.2.1.2 Danh sách các usecase 111
6.2.1.3 Usecase “Định vị” 112
6.2.1.4 Usecase “Hiển thị vị trí” 113
6.2.1.5 Usecase “Hiển thị đường đi” 113
6.2.1.6 Usecase “Di chuyển trên bản đồ” 114
6.2.1.7 Usecase “Tìm đường” 114
6.2.1.8 Usecase “Tìm địa danh” 115
6.2.1.9 Usecase “Tìm địa danh gần đúng” 115
18
6.2.1.10 Usecase “Liệt kê loại địa điểm” 116
6.2.1.11 Usecase “Hiển thị danh sách kết quả” 117
6.2.1.12 Usecase “Tìm đường” 117
6.2.1.13 Usecase “Thay đổi phương pháp tìm kiếm” 118
6.2.1.14 Usecase “Bật / tắt chức năng định vị” 118
6.3 Thiết kế và phát triển ứng dụng 119
6.3.1 Công cụ, môi trường và tổng quan hệ thống 119
6.3.1.1 Công cụ và môi trường 119
6.3.1.2 Cơ sở dữ liệu và hoạt động của hệ thống 120
6.3.2 Cơ sở dữ liệu 123
6.3.3 Sơ đồ lớp mức thiết kế ở server 126
6.3.3.1 Lớp LocationBasedServices 128
6.3.3.2 Package business 129
6.3.3.2.1 Lớp Finder 129
6.3.3.2.2 Lớp Router 129
6.3.3.3 Package data 129
6.3.3.3.1 Lớp StreetData 129
6.3.3.3.2 Lớp LocationSearchResultData 129
6.3.3.3.3 Lớp StreetNodeData 129
6.3.3.3.4 Lớp VenueTypeData 129
6.3.3.3.5 Lớp Configuration 130
6.3.3.4 Package objects 130
6.3.3.4.1 Lớp LocationSearchResult 130
6.3.3.4.2 Lớp StreetNode 130
6.3.3.4.3 Lớp SimpleStreetNode 130
6.3.3.4.4 Lớp DijkstraVertex 130
19
6.3.3.4.5 Lớp Street 130
6.3.3.4.6 Lớp Coordinate 130
6.3.3.4.7 Lớp VenueType 131
6.3.4 Sơ đồ lớp mức thiết kế ở client 131
6.3.4.1 Các lớp trong package location based service 131
6.3.4.1.1 Lớp LocationBasedService 131
6.3.4.1.2 Lớp LocationBasedService_Stub 132
6.3.4.1.3 Lớp LocationSearchResult, Coordinate và SimpleStreetNode 132
6.3.4.2 Lớp GoogleMaps 132
6.3.4.3 Lớp CloudMade 132
6.3.4.4 Lớp MicroDouble 132
6.3.5 Thiết kế giao diện 132
6.3.5.1 Sơ đồ tương tác giữa các màn hình 134
6.3.5.2 Màn hình chính 135
6.3.5.3 Màn hình tìm kiếm 137
6.3.5.4 Màn hình tìm kiếm theo loại địa điểm 138
6.3.5.5 Màn hình kết quả tìm kiếm 138
6.3.5.6 Màn hình tùy chọn ứng dụng 140
6.3.6 Các API, lớp và hàm của các tác giá khác được sử dụng trong đề tài 141
6.3.6.1 Google Maps static API & Lớp Google Map 141
6.3.6.2 Cloud made routing API 141
6.3.6.3 JSONObject 142
6.3.6.4 MicroFloat 142
6.4 Kiểm thử (testing) 142
6.4.1 Acceptance system test cho server và client 143
6.4.2 Unit test trên server 143
20
6.4.2.1 LocationBasedServicesTest 143
6.4.2.2 Finder test 144
6.4.2.3 Router test 144
6.4.2.4 LocationSearchResultData test 145
6.4.2.5 StreetData test 146
6.4.2.6 StreetNodeData test 147
6.4.2.7 VenueTypeData test 148
6.4.2.8 Coordinate test 148
6.4.2.9 DijkstraVertex test 149
6.4.2.10 LocationSearchResult test 150
6.4.2.11 SimpleStreetNode test 150
6.4.2.12 StreetNode test 150
6.4.2.13 Street test 151
6.4.3 Conformance test trên server 151
6.4.3.1 Các test case đã thực hiện trên hàm Find 152
6.4.3.2 Các test case đã thực hiện trên hàm FindFuzzy 154
6.4.3.3 Các test case đã thực hiện trên hàm FindStreet 154
6.4.3.4 Các test case đã thực hiện trên hàm Route 155
6.4.4 Performance test trên server 156
6.4.4.1 Cấu hình các hệ thống tham gia test 157
6.4.4.2 Test 1: Null test 157
6.4.4.3 Test 2: Các request bình thường 159
6.5 Tích hợp và triển khai 159
6.5.1 Client 160
6.5.2 Server 160
6.5.3 Mô hình triển khai thực tế nhằm đánh giá ứng dụng 162
21
6.6 Đánh giá và so sánh 163
6.6.1 Lưu trữ 163
6.6.2 Xử lý 164
6.6.3 So sánh tính năng với các ứng dụng khác 165
6.6.3.1 Kết quả chạy Google Maps 166
6.6.3.2 Kết quả chạy Vimap 168
6.6.3.3 Kết quả chạy SMS Locator 169
6.6.3.4 Kết quả chạy ứng dụng minh họa – locations service client 170
Chương 7 TỔNG KẾT
173
7.1 Kết quả đạt được 173
7.2 Hướng phát triển 173
7.2.1 Cải thiện hiệu năng 173
7.2.2 Cải thiện mô hình triển khai 174
7.2.3 Thêm tính năng cho ứng dụng 174
7.2.4 Tăng tính tiện dụng cho người dùng 174
TÀI LIỆU THAM KHẢO
175
MỤC LỤC HÌNH
Hình 1 Trạm thu phát được ngụy trang 33
Hình 2 Thiết bị GPS 34
Hình 3 PDA có tính năng GPS 34
Hình 4 Máy tính dashtop 35
22
Hình 5 Định vị theo phương pháp Cell identification 37
Hình 6 Định vị theo phương pháp TDOA 39
Hình 7 Định vị theo phương pháp TOA 40
Hình 8 Định vị theo phương pháp AOA 40
Hình 9 Các thành phần của GPS 42
Hình 10 Định vị bằng vệ tinh 43
Hình 11 Kiến trúc WAAS 44
Hình 12 Kiến trúc LAAS 45
Hình 13 Mô hình A-GPS 46
Hình 14 Thẻ nhận dạng bằng Ultrasound đeo trên tay bệnh nhận trong một bệnh viện 47
Hình 15 Sơ đồ hệ thống định vị bằng Radar. Vật cần định vị không nhận được vị trí của
mình 48
Hình 16 Bản đồ của Snow, các chấm đen thể hiện các ổ dịch 50
Hình 17 Dữ liệu dưới dạng thuộc tính kèm theo điểm, đường và đa giác 53
Hình 18 Kiến trúc các dịch vụ web của OGC 64
Hình 19 Kết quả tìm đường trên Google map mobile 65
Hình 20 MyLocation có thể định vị người dùng chính xác tới một mức nhất định 66
Hình 21 Google Latitude trên iPhone 68
23
Hình 22 Yahoo map 69
Hình 23 Vietmap 70
Hình 24 3D trên địa điểm 71
Hình 25 Việt bản đồ mobile 72
Hình 26 Ảnh minh họa Vimap từ trang chủ Vimap 73
Hình 27 Triển khai web service 81
Hình 28 Kiến trúc server phục vụ LBS 82
Hình 30 Các đối lớp tượng trong MySQL GIS extenstion 92
Hình 31 So sánh tốc độ của hai phương pháp tính 100
Hình 32 Usecase của ứng dụng 111
Hình 33 Các điểm tạo thành đường Nguyễn Hữu Thọ và Nguyễn Văn Linh trong OSM
so với trên bản đồ - các nút ở gần giao điểm của 2 đường không nằm trùng nhau 122
Hình 34 EER cho CSDL ở server 123
Hình 35 Các lớp ở server (1) 126
Hình 36 Các lớp ở server (2) 127
Hình 37 Các lớp ở client 131
Hình 38 Ứng dụng chạy trên thiết bị giả lập có kích thước màn hình nhỏ hơn thiết kế
(130x160) 134
24
Hình 39 Sơ đồ tương tác giữa các màn hình 134
Hình 40 Menu chính của ứng dụng 135
Hình 41 Ứng dụng hiển thị kết quả tìm kiếm theo 2 cách: đường đi và đánh dấu điểm
đầu, cuối 136
Hình 42 Màn hình tìm kiếm 137
Hình 43 Màn hình liệt kê loại địa điểm 138
Hình 44 Màn hình kết quả 139
Hình 45 Màn hình tủy chọn 140
Hình 47 Giao diện editor của SOAP UI 152
Hình 48 Kết quả performance test 1 158
Hình 49 Kết quả performance test 2 159
Hình 50 Màn hình deploy ứng dụng trong giao diện quản lý của GlassFish 161
Hình 51 Mô hình triển khai ứng dụng 162
Hình 52 Định vị với CellID và MyLocation trên google maps 166
Hình 53 Màn hình tìm kiếm địa điểm và hiển thị kết quả 167
Hình 54 Google maps không thể dẫn đường ở Việt Nam (hình trái) nhưng hoạt động tốt
ở NewYork (hình phải) 167
Hình 55 Màn hình xám ban đầu và màn hình bản đồ của Vimap 169
Hình 56 Tin nhắn gửi đến SMS Locator và kết quả trả về (tin được gửi khi người dùng
25
đứng ở giao lộ Mạc Đĩnh Chi – Nguyễn Thị Minh Khai 169
Hình 57 Bản đồ và bản đồ hiển thị đường đi trên thiết bị thật 170
Hình 58 Màn hình tìm đường và hiển thị kết quả trên thiết bị thật 171
Hình 59 Màn hình tìm địa điểm và kết quả tìm 171
26
MỤC LỤC BẢNG
Bảng 1Danh sách actor 111
Bảng 2Danh sách usecase 112
Bảng 3Mô tả bảng POI trong CSDL 123
Bảng 4Mô tả bảng StreetNode trong CSDL 123
Bảng 5Mô tả bảng Street trong CSDL 124
Bảng 6Mô tả bảng Street - StreetNode trong CSDL 124
Bảng 6Mô tả bảng Place trong CSDL 125
Bảng 6Mô tả bảng PlaceType trong CSDL 125
Bảng 7Mô tả màn hình chính của ứng dụng client 136
Bảng 8Mô tả màn hình tìm kiếm của ứng dụng client 137
Bảng 9Mô tả màn hình liệt kê loại địa điểm 138
Bảng 10Mô tả màn hình kết quả của ứng dụng client 139
Bảng 11Mô tả màn hình tùy chọn của ứng dụng client 141
Bảng 12Các testcase cho lớp LocationBasedServices 144
Bảng 13Các testcase cho lớp Router 145
Bảng 14Các testcase cho lớp LocationSearchResultData 146
27
Bảng 15Các testcase cho lớp StreetData 147
Bảng 16Các testcase cho lớp StreetNodeData 147
Bảng 17Các testcase cho lớp VenueTypeData 148
Bảng 18Các testcase cho lớp Coordinate 148
Bảng 19Các testcase cho lớp DijkstraVertex 150
Bảng 20Các testcase cho lớp LocationSearchResult 150
Bảng 21Các testcase cho lớp StreetNode 151
Bảng 22Các testcase cho lớp Street 151
Bảng 23Các testcase thực hiện trên hàm Find 153
Bảng 24Các testcase thực hiện trên hàm FindFuzzy 154
Bảng 25Các testcase thực hiện trên hàm FindStreet 155
Bảng 26Các testcase thực hiện trên hàm Route 156
Bảng 27Cấu hình các hệ thống tham gia performance test 157
Bảng 28Số record được lưu trong CSDL của ứng dụng 163
Bảng 29Giới hạn lưu trữ của MySQL 164
Bảng 30Kết quả thử nghiệm các tính năng và thời gian đáp ứng của các ứng dụng 165
28
TÓM TẮT LUẬN VĂN
Thông tin chung về đề tài:
Tên đề tài: Tìm hiểu về Location Services cho di động và xây dựng ứng
dụng minh họa
GVHD: ThS. Ngô Huy Biên
Sinh viên thực hiện:
0512269 – Nguyễn Võ Thanh Phú
0512248 – Lâm Thị Ngọc Nhàn
Tóm tắt nội dung luận văn:
- Phân tích điểm mạnh và yếu của các công nghệ liên quan tới dịch vụ dựa trên vị trí
- Xu hướng ứng dụng dịch vụ dựa theo vị trí hiện nay
- Đề ra một hướng phát triển tương đối chung cho các dịch vụ dựa theo vị trí.
- Phát triển một ứng dụng cung cấp dịch vụ dựa theo vị trí gồm các chức năng:
+ Tìm đường ở Việt Nam với cơ sở dữ liệu mở, có sẵn
+ Local search
Một số từ khóa chính liên quan đến nội dun