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ệ ·

pdf202 trang | Chia sẻ: vietpd | Lượt xem: 1819 | Lượt tải: 3download
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