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 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 đồ

pdf202 trang | Chia sẻ: luyenbuizn | Lượt xem: 1246 | Lượt tải: 0download
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:

  • pdfLBS.pdf
Tài liệu liên quan