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 đồ
202 trang |
Chia sẻ: luyenbuizn | Lượt xem: 1246 | Lượt tải: 0
Bạn đang xem trước 20 trang nội dung tài liệu 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 dung đề tài:
Location, Service, Application, Mobile, Pathfinding, Local search
Lĩnh vực áp dụng:
Công nghệ di động
Các thuật tóan, phương pháp, quy trình chính được nghiên cứu trong đề tài
- Location service được cung cấp dưới dạng Web service
- Fuzzy text search
- GIS Function
Các công cụ, công nghệ chính được nghiên cứu trong đề tài
MySQL GIS, J2EE Webservice, J2ME
29
30
1 GIỚI THIỆU
Vài thập kỷ qua, công nghệ thông tin đã có những bước phát triển vượt bậc để đáp ứng
nhu cầu của của con người. Trong khi chỉ cách đây vài thập kỷ việc mang một chiếc
máy tính theo bên mình còn là chuyện không tưởng khi một chiếc máy có khả năng xử
lý chỉ vào ngàn phép tính một giây đã lớn bằng cả căn phòng thì giờ đây bất kỳ ai cũng
đã có thể hoàn thành công việc của mình ngay trên đường đi chỉ với một chiếc điện
thoại di động.
Bên cạnh sự phát triển của công nghệ chế tạo thiết bị thì kỹ thuật sử dụng thiết bị, mà
cụ thể là các dịch vụ và sản phẩm phần mềm kèm theo cũng có sự tiến hóa tương ứng.
Theo trào lưu ấy, việc kết hợp giữa các thiết bị hiện đại (mang đến tính tiện dụng) và
các dịch vụ mới (mang đến tiện ích) để sinh ra lợi ích tối đa cho người dùng là tất yếu,
mà thiết bị di động đang là trung tâm của xu hướng này, thể hiện qua hàng loạt các sản
phẩm gần đây của các nhà cung cấp dịch vụ có tiếng trên toàn thế giới như Google với
hệ điều hành Android hay Apple với iPhone; giờ đây người sở hữu thiết bị di động
không còn bị gói gọn trong văn phòng nữa mà có thể thực hiện công việc hàng ngày từ
bất cứ nơi đâu.
Khi hướng phát triển truyền thống cung cấp xử lý dựa trên thông tin của người dùng đã
phát triển gần đến mức giới hạn, một hướng mới đã được mở ra: cung cấp khả năng xử
lý dựa trên thông tin của môi trường chung quanh. Từ việc biết được người dùng đang
ở trong hoàn cảnh nào, thiết bị có thể đưa ra những phương án hỗ trợ người dùng tốt
nhất một cách tự động (không đòi hỏi dữ liệu hoặc thao tác từ phía người dùng). Các
thông tin “nền” về môi trường xung quanh đó bao gồm vị trí của người dùng.
Khả năng định vị đã được bắt đầu có trong một số thiết bị chuyên dụng từ cách đây vài
thập kỉ. Tuy nhiên mãi đến gần đây mới bắt đầu được tích hợp vào các thiết bị dành cho
31
người dùng phổ thông, cung cấp nền tảng để các các dịch vụ dựa trên vị trí (location
based service -LBS) có thể hoạt động. Nói một cách ngắn gọn, dịch vụ dựa theo vị trí là
một dịch vụ cung cấp nội dung và khả năng tương tác với người dùng dựa trên vị trí
hiện tại của người dùng.
Loại dịch vụ này tuy ra đời sau nhưng các dịch vụ dựa theo vị trí đã được kèm theo hầu
hết các thiết bị di động có hỗ trợ; trong đó phổ biến nhất là dịch vụ bản đồ số và tìm
đường đi.
Giờ việc định vị một thiết bị đã trở nên khá dễ dàng vì từ chỗ phụ thuộc hoàn toàn vào
vệ tinh quân sự, giờ đã được cải tiến nhờ sự kết hợp của nhiều công nghệ khác nhau.
Hiện nay trên thế giới đã có nhiều đề tài nghiên cứu và cả ứng dụng về việc kết hợp
công nghệ để cung cấp dịch vụ dựa theo vị trí người dùng. Tuy nhiên sự phát triển của
công nghệ cũng có mặt trái của nó: tạo ra quá nhiều lựa chọn - các ứng dụng mới có thể
sẽ gặp khó khăn trong việc chọn lựa công nghệ cho mình.
Đề tài sẽ tập trung 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 cũng như đề ra một
hướng phát triển tương đối chung cho các dịch vụ dựa theo vị trí.
Hiện nay ở Việt Nam các dịch vụ dựa theo vị trí vẫn còn phát triển khá nhỏ lẻ, vẫn
chưa có ứng dụng nào tích hợp tất cả các tính năng một người đi đường bình thường
cần. Do đó nhằm mục đích minh họa, đề tài cũng sẽ hướng đến việc 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.
Để tài sẽ gồm các phần chính sau:
- Chương 2 Công nghệ sẽ giới thiệu và chỉ ra tiềm năng của các công nghệ liên
quan tới định vị, cung cấp nội dung và thông tin địa lý. Tất cả những công nghệ
32
này hiện đã và đang được kết hợp với nhau để tạo ra các dịch vụ mới.
- Chương 3 Các nghiên cứu, chuẩn và ứng dụng hiện tại sẽ giới thiệu tình hình
phát triển của các dịch vụ dựa theo vị trí, các ứng dụng đã thành công và những
bài học có thể rút ra từ chúng.
- Chương 4 Xây dựng server phục vụ LBS sẽ giới thiệu các khái niệm liên quan
tới server và web serivce, một hướng phát triển ứng dụng web được ưa chuộng
gần đây và lợi thế khi phát triển ứng dụng cung cấp dịch vụ dựa theo vị trí theo
mô hình này.
- Chương 5 Xây dựng client phục vụ LBS sẽ giới thiệu các môi trường phát
triển cho client phổ biến và ưu khuyết điểm của chúng. Đồng thời cũng chọn ra
môi trường phù hợp nhất để phát triển ứng dụng client cho LBS.
- Chương 6 Phát triển ứng dụng sẽ mô tả quy trình phát triển một ứng dụng cụ
thể cung cấp LBS
- Chương 7 Kết luận
33
2 CÔNG NGHỆ
Vì dựa vào thông tin trong môi trường bên ngoài thiết bị nên các dịch vụ dựa vào vị trí
được xếp vào loại dịch vụ khai
Các file đính kèm theo tài liệu này:
- LBS.pdf