Sản phẩm mang lại sẽ góp phần cho ra đời các phần mềm, các dịch vụ thực sự hữu ích, phù hợp và đáp ứng tối đa nhu cầu trong nước.Xuất phát từ những vấn đề nêu trên, đề tài “Kiến trúc dịc
Trang 1LỜI CẢM ƠN
Trước tiên tôi xin chân thành cảm ơn PGS.TS Đặng Văn Đức, Viện Công nghệ thông tin, Viện hàm lâm Khoa học và Công nghệ Việt Nam, người đã định hướng và tận tình hướng dẫn, giúp đỡ tôi trong suốt quá trình thực hiện luận văn tốt nghiệp
Tôi xin chân thành cảm ơn các thầy giáo khoa Công nghệ Thông tin, trường Đại học Công nghệ thông tin và truyền thông, Đại học Thái Nguyên, những người đã tận tình truyền đạt các kiến thức, quan tâm, động viên trong suốt thời gian tôi học tập
và nghiên cứu tại Trường
Nhân đây cho phép tôi gửi lời cảm ơn tới nhóm các bạn học cùng lớp K10A, lớp chuyên ngành Khoa học máy tính, các bạn đồng nghiệp đã thường xuyên quan tâm, giúp đỡ, chia sẻ kinh nghiệm, cung cấp các tài liệu hữu ích trong thời gian tôi học tập, nghiên cứu tại Trường cũng như trong trong quá trình thực hiện luận văn tốt nghiệp vừa qua
Cuối cùng tôi xin bảy tỏ sự biết ơn sâu sắc đến cha mẹ, những người thân trong gia đình đã luôn ở bên tôi, động viên, chia sẻ và dành cho tôi những gì tốt đẹp nhất trong suốt thời gian tôi học cao học cũng như trong thời gian tôi thực hiện luận văn tốt nghiệp này
Thái Nguyên, tháng 08 năm 2013
Vũ Văn Hưng
Trang 2LỜI CAM ĐOAN
Tôi xin cam đoan bản luận văn “Kiến trúc dịch vụ dựa trên vị trí địa lý và ứng dụng” là công trình nghiên cứu của tôi dưới sự hướng dẫn khoa học của PGS.TS Đặng Văn Đức, tham khảo các nguồn tài liệu đã được chỉ rõ trong trích dẫn và danh mục tài liệu tham khảo Các nội dung công bố và kết quả trình bày trong luận văn này
là trung thực và chưa từng được ai công bố trong bất cứ công trình nào
Thái Nguyên, tháng 08 năm 2013
Vũ Văn Hưng
Trang 3MỤC LỤC
LỜI CẢM ƠN i
LỜI CAM ĐOAN ii
MỤC LỤC iii
DANH MỤC CÁC TỪ VIẾT TẮT VÀ THUẬT NGỮ vi
DANH SÁCH BẢNG BIỂU vii
DANH MỤC CÁC HÌNH VẼ xii
MỞ ĐẦU 1
Chương 1 3
KHÁI QUÁT VỀ DỊCH VỤ DỰA TRÊN VỊ TRÍ (LBS) 3
1.1 Khái niệm cơ sở 3
1.1.1 Khái niệm về LBS 3
1.1.2 Các thành phần của LBS 4
1.1.3 Các kiểu dịch vụ LBS 6
1.1.4 Xử lý các yêu cầu của LBS 6
1.2 Khả năng ứng dụng LBS 8
1.2.1 Tính hữu dụng của LBS 8
1.2.2 Khả năng ứng dụng 10
1.3 Tình hình nghiên cứu hiện nay trong và ngoài nước 10
Chương 2 12
THIẾT KẾ DỊCH VỤ LBS 12
2.1 Kiến trúc tổng thể một hệ thống LBS 12
2.2 Tích hợp Web-GIS 13
2.2.1 Công nghệ bản đồ trực tuyến 13
2.2.2 Các giải pháp bản đồ trực tuyến 14
2.2.2.1 Công nghệ GeoServer 14
2.2.2.2 Thư viện JavaScript nguồn mở OpenLayers 23
2.3 Thiết bị di động 25
2.3.1 Các loại thiết bị 25
2.3.2 Các hạn chế của thiết bị 26
2.4 Hệ thống truyền tin 27
Trang 42.4.1 Mạng thông tin di động không dây 27
2.4.2 Mạng không dây diện rộng 28
2.4.3 Mạng không dây cục bộ 28
2.4.4 Mạng không dây cá nhân 29
2.5 Hệ thống định vị toàn cầu 31
2.5.1 Giới thiệu chung 31
2.5.2 Hệ thống định vị toàn cầu GPS 33
2.6 Hệ thống máy chủ Internet 38
2.6.1 Mô hình triển khai trên nền dịch vụ Web 38
2.6.2 Mô hình triển khai dựa trên dịch vụ SMS 40
2.6.3 Mô hình kết hợp dịch vụ web và SMS 42
Chương 3 44
XÂY DỰNG THỬ NGHIỆM DỊCH VỤ THÔNG TIN 44
(Information Service) 44
3.1 Phát biểu bài toán 44
3.2 Thiết kế hệ thống 44
3.2.1 Các biểu đồ ca sử dụng của hệ thống 44
3.2.1.1 Xác định các tác nhân và các ca sử dụng 44
3.2.1.2 Biểu đồ ca sử dụng tổng quát 45
3.2.1.3 Phân rã một số biểu đồ ca sử dụng 46
46
46
3.2.1.4 Đặc tả chi tiết một số ca sử dụng chính 48
3.2.2 Các biểu đồ tương tác 51
3.2.2.1 Biểu đồ tuần tự ca sử dụng đăng nhập 51
3.2.2.2 Biểu đồ tuần tự ca sử dụng tìm phương tiện 52
3.2.2.3 Biểu đồ tuần tự ca sử dụng tìm đường 53
3.2.2.4 Biểu đồ tuần tự ca sử dụng cập nhật trạng thái 53
3.2.2.5 Biểu đồ tuần tự ca sử dụng đăng nhập 54
3.2.2.6 Biểu đồ tuần tự ca sử dụng theo dõi vết 54
3.3 Phát triển phần mềm trên máy chủ với phần mềm nguồn mở 55
Trang 53.3.1 Trung tâm điều khiển 55
3.3.2 Giao tiếp giữa phương tiện với trung tâm điều khiển 56
3.3.2.1 Giao tiếp qua SMS 56
3.3.2.2 Mô hình hệ thống sử dụng GPRS: 57
3.3.3 Thiết kế Cơ sở dữ liệu 60
3.4 Phát triển dịch vụ thông tin trên thiết bị di động 60
3.4.1 Một số giao diện của hệ thống 61
a Phần giao diện phía người sử dụng 61
3.4.2 Phần quản trị website: 65
KẾT LUẬN 67
TÀI LIỆU THAM KHẢO 68
Trang 6DANH MỤC CÁC TỪ VIẾT TẮT VÀ THUẬT NGỮ
CSDL Cơ sở dữ liệu
GIS Hệ thống thông tin địa lý (Geographic Information Systems)
GPS Hệ thống định vị toàn cầu (Global Positioning System)
GPRS Dịch vụ vô tuyến gói chung (General Packet Radio Service)
GSM Hệ thống thông tin di động toàn cầu (Global System for Mobile
Communications)
LBS Dịch vụ dựa trên vị trí địa lý (Location-based Service)
WLAN Mạng không dây cục bộ (Wireless Local Area Networks)
WPAN Mạng không dây cá nhân (Wireless Personal Area Networks)
WWAN Mạng không dây diện rộng (Wireless Wide Area Network)
SMS Dịch vụ tin nhắn ngắn (Short Message Services)
Trang 7DANH SÁCH BẢNG BIỂU
LỜI CẢM ƠN i
LỜI CAM ĐOAN ii
MỤC LỤC iii
DANH MỤC CÁC TỪ VIẾT TẮT VÀ THUẬT NGỮ vi
DANH SÁCH BẢNG BIỂU vii
DANH MỤC CÁC HÌNH VẼ xii
MỞ ĐẦU 1
Chương 1 3
KHÁI QUÁT VỀ DỊCH VỤ DỰA TRÊN VỊ TRÍ (LBS) 3
1.1 Khái niệm cơ sở 3
1.1.1 Khái niệm về LBS 3
Hình 1.1 LBS là phần giao của các công nghệ 4
1.1.2 Các thành phần của LBS 4
Hình 1.2 Các thành phần cơ bản của LBS 5
1.1.3 Các kiểu dịch vụ LBS 6
1.1.4 Xử lý các yêu cầu của LBS 6
Hình 1.3 Luồng thông tin giữa các thành phần của LBS 7
1.2 Khả năng ứng dụng LBS 8
1.2.1 Tính hữu dụng của LBS 8
Bảng 1.1 Mối quan hệ giữa 5 hành động di động cơ sở 9
1.2.2 Khả năng ứng dụng 10
1.3 Tình hình nghiên cứu hiện nay trong và ngoài nước 10
Chương 2 12
THIẾT KẾ DỊCH VỤ LBS 12
2.1 Kiến trúc tổng thể một hệ thống LBS 12
Hình 2.1 Luồng thông tin giữa các thành phần của LBS 12
2.2 Tích hợp Web-GIS 13
2.2.1 Công nghệ bản đồ trực tuyến 13
Hình 2.2 Sơ đồ hoạt động của WebGIS 14
2.2.2 Các giải pháp bản đồ trực tuyến 14
Trang 82.2.2.1 Công nghệ GeoServer 14
Hình 2.3 Mô hình giao diện tĩnh của Web OGC 21
Hình 2.4 Mô hình giao diện động của Web OGC 22
Hình 2.5 WFS dynamic interface web notification model 22
Hình 2.6 WFS dynamic interface web notification polling model 23
2.2.2.2 Thư viện JavaScript nguồn mở OpenLayers 23
2.3 Thiết bị di động 25
2.3.1 Các loại thiết bị 25
Hình 2.7 Hình ảnh minh họa các thiết bị di động dùng trong LBS 26
2.3.2 Các hạn chế của thiết bị 26
2.4 Hệ thống truyền tin 27
2.4.1 Mạng thông tin di động không dây 27
Hình 2.8 Phân loại mạng không dây di động 27
2.4.2 Mạng không dây diện rộng 28
Hình 2.9 Mạng không dây diện rộng (WWAN) 28
2.4.3 Mạng không dây cục bộ 28
Hình 2.10 Mạng không dây cục bộ (WLAN) 29
2.4.4 Mạng không dây cá nhân 29
Hình 2.11 Mạng không dây cá nhân (WPAN) 30
Bảng 2.1 Đặc điểm và sự khác nhau giữa các công nghệ mạng không dây 30
2.5 Hệ thống định vị toàn cầu 31
2.5.1 Giới thiệu chung 31
Hình 2.12 Định vị dựa trên mạng truyền thông 31
Hình 2.13 Định vị dựa trên thiết bị đầu cuối 32
2.5.2 Hệ thống định vị toàn cầu GPS 33
Hình 2.14 Các phần của hệ thống GPS 35
Hình 2.15 Quỹ đạo các vệ tinh của hệ thống GPS 36
2.6 Hệ thống máy chủ Internet 38
2.6.1 Mô hình triển khai trên nền dịch vụ Web 38
Hình 2.16 Mô hình dịch vụ LBS trên nền Web 39
Trang 92.6.2 Mô hình triển khai dựa trên dịch vụ SMS 40
Hình 2.17 Mô hình dịch vụ LBS trên dịch vụ tin nhắn SMS 41
2.6.3 Mô hình kết hợp dịch vụ web và SMS 42
Hình 2.18 Mô hình dịch vụ LBS trên nền Web và SMS 43
Chương 3 44
XÂY DỰNG THỬ NGHIỆM DỊCH VỤ THÔNG TIN 44
(Information Service) 44
3.1 Phát biểu bài toán 44
3.2 Thiết kế hệ thống 44
3.2.1 Các biểu đồ ca sử dụng của hệ thống 44
3.2.1.1 Xác định các tác nhân và các ca sử dụng 44
3.2.1.2 Biểu đồ ca sử dụng tổng quát 45
Hình 3.1 Biểu đồ ca sử dụng tổng quát 45
3.2.1.3 Phân rã một số biểu đồ ca sử dụng 46
46
Hình 3.2 Biểu đồ ca sử dụng Quản lý phương tiện 46
46
Hình 3.3 Biểu đồ ca sử dụng Quản lý thông tin phương tiện 46
Hình 3.4 Biểu đồ ca sử dụng Tìm kiếm thông tin 47
Hình 3.5 Biểu đồ ca sử dụng Hiển thị bản đồ 47
Hình 3.6 Biểu đồ ca sử dụng Quản lý trang tin 48
Hình 3.7 Biểu đồ ca sử dụng Quản lý tài khoản 48
3.2.1.4 Đặc tả chi tiết một số ca sử dụng chính 48
3.2.2 Các biểu đồ tương tác 51
3.2.2.1 Biểu đồ tuần tự ca sử dụng đăng nhập 51
Hình 3.8 Biểu đồ ca sử dụng Quản lý tài khoản 51
3.2.2.2 Biểu đồ tuần tự ca sử dụng tìm phương tiện 52
Hình 3.9 Biểu đồ tuần tự ca sử dụng tìm phương tiện 52
3.2.2.3 Biểu đồ tuần tự ca sử dụng tìm đường 53
Hình 3.10 Biểu đồ tuần tự ca sử dụng tìm đường 53
3.2.2.4 Biểu đồ tuần tự ca sử dụng cập nhật trạng thái 53
Trang 10Hình 3.11 Biểu đồ tuần tự ca sử dụng cập nhật trạng thái 53
3.2.2.5 Biểu đồ tuần tự ca sử dụng đăng nhập 54
Hình 3.12 Biểu đồ tuần tự ca sử dụng đăng nhập 54
3.2.2.6 Biểu đồ tuần tự ca sử dụng theo dõi vết 54
Hình 3.13 Biểu đồ tuần tự ca sử dụng theo dõi vết 54
3.3 Phát triển phần mềm trên máy chủ với phần mềm nguồn mở 55
3.3.1 Trung tâm điều khiển 55
Hình 3.14 Mô hình trung tâm điều khiển 55
3.3.2 Giao tiếp giữa phương tiện với trung tâm điều khiển 56
3.3.2.1 Giao tiếp qua SMS 56
Hình 3.15 Hệ thống với kết nối qua SMS 57
3.3.2.2 Mô hình hệ thống sử dụng GPRS: 57
Hình 3.16 Hệ thống với kết nối GPRS 59
3.3.3 Thiết kế Cơ sở dữ liệu 60
Hình 3.17 Các bảng dữ liệu và mối quan hệ 60
3.4 Phát triển dịch vụ thông tin trên thiết bị di động 60
3.4.1 Một số giao diện của hệ thống 61
a Phần giao diện phía người sử dụng 61
Hình 3.18 Giao diện phía người sử dụng 61
Hình 3.19 Giao diện tra cứu 62
Hình 3.20 Giao diện tìm kiếm phương tiện 62
Hình 3.21 Giao diện kết quả tìm theo số xe 63
Hình 3.22 Giao diện chức năng cảnh báo 63
Hình 3.23 Giao diện chức năng xem vết 64
Hình 3.24 Giao diện chức năng hiển thị 64
3.4.2 Phần quản trị website: 65
Hình 3.25 Giao diện phần quản trị 65
Hình 3.26 Quản lý người sử dụng 65
Hình 3.27 Chức năng thêm user 65
Hình 3.28 Chức năng sửa thông tin user 66
Trang 11Hình 3.30 Chức năng quản lý danh sách phương tiện 66
Hình 3.31 Chức năng sửa thông tin phương tiện 66
KẾT LUẬN 67
TÀI LIỆU THAM KHẢO 68
Trang 12DANH MỤC CÁC HÌNH VẼ
LỜI CẢM ƠN i
LỜI CAM ĐOAN ii
MỤC LỤC iii
DANH MỤC CÁC TỪ VIẾT TẮT VÀ THUẬT NGỮ vi
DANH SÁCH BẢNG BIỂU vii
DANH MỤC CÁC HÌNH VẼ xii
MỞ ĐẦU 1
Chương 1 3
KHÁI QUÁT VỀ DỊCH VỤ DỰA TRÊN VỊ TRÍ (LBS) 3
1.1 Khái niệm cơ sở 3
1.1.1 Khái niệm về LBS 3
Hình 1.1 LBS là phần giao của các công nghệ 4
1.1.2 Các thành phần của LBS 4
Hình 1.2 Các thành phần cơ bản của LBS 5
1.1.3 Các kiểu dịch vụ LBS 6
1.1.4 Xử lý các yêu cầu của LBS 6
Hình 1.3 Luồng thông tin giữa các thành phần của LBS 7
1.2 Khả năng ứng dụng LBS 8
1.2.1 Tính hữu dụng của LBS 8
Bảng 1.1 Mối quan hệ giữa 5 hành động di động cơ sở 9
1.2.2 Khả năng ứng dụng 10
1.3 Tình hình nghiên cứu hiện nay trong và ngoài nước 10
Chương 2 12
THIẾT KẾ DỊCH VỤ LBS 12
2.1 Kiến trúc tổng thể một hệ thống LBS 12
Hình 2.1 Luồng thông tin giữa các thành phần của LBS 12
2.2 Tích hợp Web-GIS 13
2.2.1 Công nghệ bản đồ trực tuyến 13
Hình 2.2 Sơ đồ hoạt động của WebGIS 14
2.2.2 Các giải pháp bản đồ trực tuyến 14
Trang 132.2.2.1 Công nghệ GeoServer 14
Hình 2.3 Mô hình giao diện tĩnh của Web OGC 21
Hình 2.4 Mô hình giao diện động của Web OGC 22
Hình 2.5 WFS dynamic interface web notification model 22
Hình 2.6 WFS dynamic interface web notification polling model 23
2.2.2.2 Thư viện JavaScript nguồn mở OpenLayers 23
2.3 Thiết bị di động 25
2.3.1 Các loại thiết bị 25
Hình 2.7 Hình ảnh minh họa các thiết bị di động dùng trong LBS 26
2.3.2 Các hạn chế của thiết bị 26
2.4 Hệ thống truyền tin 27
2.4.1 Mạng thông tin di động không dây 27
Hình 2.8 Phân loại mạng không dây di động 27
2.4.2 Mạng không dây diện rộng 28
Hình 2.9 Mạng không dây diện rộng (WWAN) 28
2.4.3 Mạng không dây cục bộ 28
Hình 2.10 Mạng không dây cục bộ (WLAN) 29
2.4.4 Mạng không dây cá nhân 29
Hình 2.11 Mạng không dây cá nhân (WPAN) 30
Bảng 2.1 Đặc điểm và sự khác nhau giữa các công nghệ mạng không dây 30
2.5 Hệ thống định vị toàn cầu 31
2.5.1 Giới thiệu chung 31
Hình 2.12 Định vị dựa trên mạng truyền thông 31
Hình 2.13 Định vị dựa trên thiết bị đầu cuối 32
2.5.2 Hệ thống định vị toàn cầu GPS 33
Hình 2.14 Các phần của hệ thống GPS 35
Hình 2.15 Quỹ đạo các vệ tinh của hệ thống GPS 36
2.6 Hệ thống máy chủ Internet 38
2.6.1 Mô hình triển khai trên nền dịch vụ Web 38
Hình 2.16 Mô hình dịch vụ LBS trên nền Web 39
Trang 142.6.2 Mô hình triển khai dựa trên dịch vụ SMS 40
Hình 2.17 Mô hình dịch vụ LBS trên dịch vụ tin nhắn SMS 41
2.6.3 Mô hình kết hợp dịch vụ web và SMS 42
Hình 2.18 Mô hình dịch vụ LBS trên nền Web và SMS 43
Chương 3 44
XÂY DỰNG THỬ NGHIỆM DỊCH VỤ THÔNG TIN 44
(Information Service) 44
3.1 Phát biểu bài toán 44
3.2 Thiết kế hệ thống 44
3.2.1 Các biểu đồ ca sử dụng của hệ thống 44
3.2.1.1 Xác định các tác nhân và các ca sử dụng 44
3.2.1.2 Biểu đồ ca sử dụng tổng quát 45
Hình 3.1 Biểu đồ ca sử dụng tổng quát 45
3.2.1.3 Phân rã một số biểu đồ ca sử dụng 46
46
Hình 3.2 Biểu đồ ca sử dụng Quản lý phương tiện 46
46
Hình 3.3 Biểu đồ ca sử dụng Quản lý thông tin phương tiện 46
Hình 3.4 Biểu đồ ca sử dụng Tìm kiếm thông tin 47
Hình 3.5 Biểu đồ ca sử dụng Hiển thị bản đồ 47
Hình 3.6 Biểu đồ ca sử dụng Quản lý trang tin 48
Hình 3.7 Biểu đồ ca sử dụng Quản lý tài khoản 48
3.2.1.4 Đặc tả chi tiết một số ca sử dụng chính 48
3.2.2 Các biểu đồ tương tác 51
3.2.2.1 Biểu đồ tuần tự ca sử dụng đăng nhập 51
Hình 3.8 Biểu đồ ca sử dụng Quản lý tài khoản 51
3.2.2.2 Biểu đồ tuần tự ca sử dụng tìm phương tiện 52
Hình 3.9 Biểu đồ tuần tự ca sử dụng tìm phương tiện 52
3.2.2.3 Biểu đồ tuần tự ca sử dụng tìm đường 53
Hình 3.10 Biểu đồ tuần tự ca sử dụng tìm đường 53
3.2.2.4 Biểu đồ tuần tự ca sử dụng cập nhật trạng thái 53
Trang 15Hình 3.11 Biểu đồ tuần tự ca sử dụng cập nhật trạng thái 53
3.2.2.5 Biểu đồ tuần tự ca sử dụng đăng nhập 54
Hình 3.12 Biểu đồ tuần tự ca sử dụng đăng nhập 54
3.2.2.6 Biểu đồ tuần tự ca sử dụng theo dõi vết 54
Hình 3.13 Biểu đồ tuần tự ca sử dụng theo dõi vết 54
3.3 Phát triển phần mềm trên máy chủ với phần mềm nguồn mở 55
3.3.1 Trung tâm điều khiển 55
Hình 3.14 Mô hình trung tâm điều khiển 55
3.3.2 Giao tiếp giữa phương tiện với trung tâm điều khiển 56
3.3.2.1 Giao tiếp qua SMS 56
Hình 3.15 Hệ thống với kết nối qua SMS 57
3.3.2.2 Mô hình hệ thống sử dụng GPRS: 57
Hình 3.16 Hệ thống với kết nối GPRS 59
3.3.3 Thiết kế Cơ sở dữ liệu 60
Hình 3.17 Các bảng dữ liệu và mối quan hệ 60
3.4 Phát triển dịch vụ thông tin trên thiết bị di động 60
3.4.1 Một số giao diện của hệ thống 61
a Phần giao diện phía người sử dụng 61
Hình 3.18 Giao diện phía người sử dụng 61
Hình 3.19 Giao diện tra cứu 62
Hình 3.20 Giao diện tìm kiếm phương tiện 62
Hình 3.21 Giao diện kết quả tìm theo số xe 63
Hình 3.22 Giao diện chức năng cảnh báo 63
Hình 3.23 Giao diện chức năng xem vết 64
Hình 3.24 Giao diện chức năng hiển thị 64
3.4.2 Phần quản trị website: 65
Hình 3.25 Giao diện phần quản trị 65
Hình 3.26 Quản lý người sử dụng 65
Hình 3.27 Chức năng thêm user 65
Hình 3.28 Chức năng sửa thông tin user 66
Trang 16Hình 3.30 Chức năng quản lý danh sách phương tiện 66
Hình 3.31 Chức năng sửa thông tin phương tiện 66
KẾT LUẬN 67
TÀI LIỆU THAM KHẢO 68
Trang 17vị toàn cầu Mặc dù đã có nhiều sản phẩm phần mềm, dịch vụ dựa trên vị trí địa lý được triển khai khá hiệu quả nhưng những sản phẩm, dịch vụ mang đặc thù riêng, phù hợp với điều kiện kinh tế, xã hội hiện tại của Việt Nam thì vẫn còn rất thiếu Việc nghiên cứu, xây dựng và triển khai các dịch vụ này cho phù hợp với điều kiện thực tế của Việt Nam là rất cần thiết Sản phẩm mang lại sẽ góp phần cho ra đời các phần mềm, các dịch vụ thực sự hữu ích, phù hợp và đáp ứng tối đa nhu cầu trong nước.
Xuất phát từ những vấn đề nêu trên, đề tài “Kiến trúc dịch vụ dựa trên vị trí và ứng dụng” nhằm mục tiêu tiếp cận, nghiên cứu các đặc điểm, ứng dụng, cơ sở hạ tầng, các mô hình triển khai dịch vụ dựa trên vị trí địa lý; tìm hiểu bài toán triển khai
hệ thống cung cấp dịch vụ chỉ đường cho các thiết bị di động (như điện thoại có định
vi toàn cầu); trên cơ sở đó xây dựng dịch vụ tìm đường ứng dụng thử nghiệm cho điện thoại di động có tính đến các yếu tố thường xuyên thay đổi đồng thời lại có tác động lớn đến chất lượng đường đi tìm được đó là sự tắc đường, úng lụt cục bộ, Việc triển khai thành công dịch vụ này sẽ có ý nghĩa rất lớn trong quá trình tìm lời giải cho bài toán tắc đường, úng lụt cục bộ trong các thành phố lớn đang xuất hiện ngày một nhiều và có ảnh hưởng rất nhiều tới đời sống xã hội hiện nay đồng thời cũng là cơ sở
để phát triển các dịch vụ khác dựa trên vị trí địa lý, đáp ứng các yêu cầu trong điều kiện cụ thể của Việt Nam
Luận văn được trình bày thành 3 phần bao gồm: phần mở đầu, phần nội dung
và phần kết luận:
Phần mở đầu: giới thiệu khái quát về đề tài, mục tiêu, ý nghĩa khoa học và xã
hội mang lại thông qua việc giải quyết các vấn đề được nêu trong đề tài
Phần nội dung: được chia thành 3 chương:
Chương 1: Tổng quan về LBS
Giới thiệu tổng quan về LBS, trình bày các định nghĩa về LBS, nêu ra các thành phần chính của LBS, mô tả hoạt động, các xử lý yêu cầu dịch vụ của LBS và đi vào phân tích đặc điểm, vai trò một số thành phần chính của LBS
Trang 18Chương 2: Thiết kế dịch vụ LBS
Giới thiệu tổng quan một số mô hình dịch vụ LBS, phân tích đặc điểm, ưu và nhược điểm của mỗi mô hình Lựa chọn và triển khai thiết kế dịch vụ LBS tìm đường
đi tại Nam Định
Chương 3: Cài đặt thử nghiệm
Trình bày các nội dung cài đặt thử nghiệm dịch vụ LBS tìm đường đi tại Nam Định Lựa chọn mô hình, kiểu dịch vụ, công nghệ áp dụng và kết quả
Phần kết luận: trình bày tóm tắt kết quả đạt được của đề tài cũng như hướng
phát triển để sản phẩm của đề tài thực sự trở lên hữu ích và áp dụng tốt vào thực tiễn
Trang 19Chương 1 KHÁI QUÁT VỀ DỊCH VỤ DỰA TRÊN VỊ TRÍ (LBS)
Giới thiệu tổng quan về LBS, trình bày các định nghĩa về LBS, nêu ra các thành phần chính của LBS, mô tả hoạt động, các xử lý yêu cầu dịch vụ của LBS và đi vào phân tích đặc điểm, vai trò một số thành phần chính của LBS.
1.1 Khái niệm cơ sở
1.1.1 Khái niệm về LBS
LBS viết tắt của Location-based Service (dịch vụ dựa trên vị trí địa lý) là dịch
vụ được tạo ra từ sự kết hợp của công nghệ GPS (Global Positioning System – Hệ thống định vị toàn cầu), công nghệ truyền thông không dây, công nghệ GIS (Geographic Information Systems - Hệ thống thông tin địa lý) và công nghệ Internet
Điện thoại di động và Internet đã tạo nên cuộc cách mạng trong lĩnh vực truyền thông và có tác động đến lớn đến đời sống xã hội, làm thay đổi lối sống của nhiều người Việc gia tăng về số lượng điện thoại di động, điện thoại thông minh, các thiết bị trợ giúp cá nhân kỹ thuật số (PDA- Personal Digital Assistants), cho phép chúng ta có thể truy cập Internet bất cứ đâu, ở bất cứ thời điểm nào mong muốn Từ Internet, ta có thể nhận được mọi thông tin mà ta cần (tin tức sự kiện, thông tin mua sắm, dự báo thời tiết, vị trí các nhà hàng – khách sạn – bệnh viện, ) Với các hỗ trợ
từ Internet, mạng di động, thiết bị định vị toàn cầu, bản đồ số ta có thể dễ dàng tìm ra được một nhà hàng, hay siêu thị gần nhất Các nhu cầu tương tự như vậy ngày nay dễ dàng được đáp ứng nhờ vào một loại dịch vụ mới, dịch vụ dựa trên vị trí địa lý – LBS Có nhiều cách định nghĩa về LBS như:
LBS là dịch vụ thông tin có thể truy cập bằng các thiết bị di động thông qua môi trường mạng di động và mang lại các lợi ích nhờ vào sự khai thác vị trí của thiết
bị di động [1][6].
Định nghĩa tương tự thứ hai về LBS được đưa ra bởi OpenGeospatial
Consortium (OGC, 2005), một tổ chức tiêu chuẩn quốc tế:
LBS - Một dịch vụ IP không dây sử dụng các thông tin địa lý để phục vụ cho người dùng di động Mọi ứng dụng dịch vụ đều khai thác vị trí của các thiết bị di động đầu cuối.
Từ các định nghĩa này cho thấy, LBS là phần giao giữa ba nhóm công nghệ là các công nghệ thông tin và truyền thông hiện đại như các hệ thống truyền thông di động, thiết bị di động cầm tay với Internet và các hệ thống thông tin địa lý (GIS)/cơ
sở dữ liệu (CSDL) không gian
Trang 20Hình 1.1 LBS là phần giao của các công nghệ
Hình 1.1 cho thấy LBS chính là phần giao của các công nghệ, bên cạnh đó, nó cho thấy sự hình thành các hệ thống thông tin tích hợp:
Hệ thống “Web GIS” được hình thành từ việc tích hợp Internet với GIS/CSDL không gian
Hệ thống “GIS di động” được hình thành từ việc tích hợp GIS/CSDL không gian với các thiết bị di động
Hệ thống “Internet di động” được hình thành từ việc tích hợp Internet với các thiết bị di động
Còn dịch vụ LBS được hình thành từ việc tích hợp ba loại công nghệ Internet, GIS/CSDL không gian và các thiết bị di động
Luận văn tập trung nghiên cứu về LBS, các thành phần, các mô hình triển khai của LBS, trên cơ sở đó kiến trúc hệ thống mô hình ứng dụng LBS trong quản lí xe cơ giới
1.1.2 Các thành phần của LBS
LBS bao gồm các thành phần chính sau (thể hiện trên hình 1.2):
Các thiết bị di động: Là các công cụ để người dùng yêu cầu và truy cập các
thông tin mong muốn Kết quả trả về có thể là lời nói, tranh ảnh hay văn bản Các thiết bị có thể là điện thoại di động, thiết bị hỗ trợ cá nhân kỹ thuật số (PDA), máy tính xách tay, thậm chí là thiết bị dẫn đường trên ô tô
GIS/CSDL không gian
Các thiết bị
di động
Internet
Trang 21Mạng truyền thông: thành phần thứ hai là mạng truyền thông với vai trò
truyền các dữ liệu người dùng, các yêu cầu dịch vụ từ các thiết bị di động đầu cuối đến các nhà cung cấp dịch vụ và sau đó tải các thông tin về phía người dùng
Hệ thống định vị: Để dịch vụ có thể hoạt động được, cần thiết phải xác định
được vị trí của người dùng Vị trí của người có thể được xác định bằng thiết bị định vị toàn cầu (GPS) hay thông qua mạng truyền thông Thậm chí còn có thể xác định nhờ vào các dấu hiệu hoạt động, các tín hiệu sóng radio Nếu vị trí không thể xác định một cách tự động thông qua mạng hay các thiết bị định vị thì người sử dụng có thể cập nhật bằng tay và tự cung cấp cho hệ thống
Hình 1.2 Các thành phần cơ bản của LBS
Thiết bị di động (người dùng)
Hệ thống định vị
Mạng truyền thông
Các nhà cung cấp dịch vụ và nội dung
Các nhà cung cấp dịch vụ và ứng dụng: Các nhà cung cấp dịch có thể cung
cấp các dịch vụ khác nhau cho người dùng và có trách nhiệm xử lý các yêu cầu dịch
vụ của người dùng Các dịch vụ cung cấp có thể là tính toán vị trí, tìm đường đi, tìm các trang vàng (yellow pages) theo các khía cạnh về vị trí hoặc tìm kiếm các thông tin xác định của các đối tượng mà người dùng quan tâm
Nhà cung cấp dữ liệu và nội dung: Nhà cung cấp dịch vụ thường không lưu
trữ và bảo quản các thông tin mà người dùng quan tâm Các dữ liệu và nội dung liên
Các thành phần của LBS
Các thành phần của
Trang 22quan như bản đồ, dữ liệu về giao thông đều được lưu trữ tại các công ty, các cơ quan có thẩm quyền.
1.1.3 Các kiểu dịch vụ LBS
Có hai kiểu dịch vụ là Push (đẩy) và Pull (kéo) được phân biệt dựa vào đặc điểm là thông tin được cung cấp có tương tác với người dùng hay không:
Dịch vụ kiểu Pull: cung cấp thông tin theo các yêu cầu trực tiếp của người
dùng Kiểu dịch vụ này tương tự như khi người dùng duyệt một trang web trên Internet bằng cách gõ địa chỉ trang web vào thanh địa chỉ của trình duyệt và yêu cầu
mở Hơn nữa, các dịch vụ kiểu Pull có thể chia thành các dịch vụ chức năng
(functional services) kiểu như gọi xe taxi hay xe cứu thương chỉ bằng một động tác
nhấn nút trên thiết bị và các dịch vụ thông tin (information services) giống như việc
tìm kiếm một nhà hàng, hay quán bia gần nhất vậy
Dịch vụ kiểu Push: cung cấp thông tin theo yêu cầu trực tiếp hoặc không trực
tiếp của người dùng Dịch vụ hoạt động theo các sự kiện Các sự kiện có thể xuất hiện khi đi vào một vùng xác định hay theo thời gian Ví dụ như các thông tin quảng cáo
tự động được gửi đến cho người dùng khi họ đi vào khu phố buôn bán, có nhiều nhà hàng, siêu thị hay thông tin cảnh báo về thời tiết khi có sự thay đổi
1.1.4 Xử lý các yêu cầu của LBS
Mục 1.1.2 đã giới thiệu các thành phần của LBS bao gồm: các thiết bị di động, mạng truyền thông, internet, hệ thống định vị, các nhà cung cấp dịch vụ và nội dung Vậy các thành phần này có mối quan hệ và tương tác với nhau thế nào trong dịch vụ LBS?
Giả sử người dùng khai thác dịch vụ LBS để tìm kiếm một nhà hàng gần nhất Thông tin mà người dùng cần là đường đi đến nhà hàng Khi đó người dùng có thể sử dụng thiết bị di động mà họ có (ví dụ như một Smart Phone hay một PDA), khởi động chức năng cần thiết để gửi yêu cầu Luồng thông tin yêu cầu của người dùng cũng như các trả lời được thể hiện trên hình 1.3:
Trang 23Hình 1.3 Luồng thông tin giữa các thành phần của LBS
Sau khi chức năng được kích hoạt, vị trí của thiết bị di động (cũng chính là vị trí của người dùng) được xác định và cung cấp bởi dịch vụ định vị Vị trí này có thể được xác định nhờ vào dịch vụ GPS hoặc một dịch vụ định vị bởi mạng truyền thông Tiếp theo đó, thiết bị di động của người dùng sẽ gửi các thông tin yêu cầu bao gồm đối tượng cần tìm kiếm và vị trí hiện tại thông qua một mạng truyền thông được gọi gateway
Gateway có nhiệm vụ truyền tải các thông điệp giữa mạng truyền thông di động và internet Các thông điệp có thể được truyền tải thông qua một vài máy chủ ứng dụng để đến một máy chủ xác định đồng thời lưu giữ lại các thông tin về yêu cầu
Tiếp theo dịch vụ sẽ tìm các tuyến đường dẫn đến nhà hàng cần tìm thỏa mãn yêu cầu tìm kiếm và đánh dấu lại
Sau khi đã có được các thông tin cần thiết, dịch vụ sẽ hoạt động trên bộ đệm không gian để tìm đường đi đến các nhà hàng Sau khi tính toán và liệt kê ra được danh sách các nhà hàng gần nhất, dịch vụ sẽ gửi lại cho người dùng kết quả thông qua
Công ty X
Nhà cung cấp dữ liệu/nội dung Thiết bị/
người dùng
Mạng truyền thông
Internet
Hệ thống định vị
Trang 24mạng internet, gateway, qua mạng thông tin di động đến với thiết bị di động của người dùng.
Kết quả tìm kiếm có thể được gửi về cho người dùng dưới dạng văn bản (một danh sách các nhà hàng được sắp xếp theo thứ tự khoảng cách) hoặc vẽ trên bản đồ Tiếp theo đó, người dùng có thể yêu cầu thêm các thông tin chi tiết về nhà hàng họ quan tâm (sẽ làm kích hoạt các dịch vụ khác) Cuối cùng họ chọn một nhà hàng cụ thể và tiếp tục yêu cầu chỉ đường đi đến nhà hàng
1.2 Khả năng ứng dụng LBS
1.2.1 Tính hữu dụng của LBS
Nói đến LBS là nói đến các câu hỏi và các câu trả lời của người dùng Ví dụ: Tôi đang ở đâu? Các bạn của tôi ở đâu? Cái gì ở gần tôi? LBS cung cấp các thông tin người dùng cần Điều đó tạo nên sự hữu dụng của LBS
Khi mọi người muốn tự tìm kiếm một điều gì đó trong một môi trường mà họ chưa rõ, hành động của họ thường là phỏng đoán Mọi người muốn tìm một nơi nào
đó để ăn, có thể là cửa hàng dược, nơi rút tiền, nơi đỗ taxi … Khi ở nước ngoài, họ có thêm một số nhu cầu khác như: tìm địa điểm du lịch hấp dẫn, một khách sạn hoặc nơi đổi ngoại tệ… Khi lái xe nhờ các thiết bị giúp cho người lái xe tìm được đường đi dù không biết rõ thành phố đó Như vậy ta thấy rất rõ các hành động của người dùng như thế nào và những kiểu thông tin như trên là rất cần thiết Lợi ích thứ hai của LBS thông qua các ví dụ trên cho thấy là rất thuận tiện và nhanh chóng
+ Locating: Biết người hoặc một vật ở đâu
+ Searching: người sử dụng có thể tìm người, đối tượng hoặc một sự kiện + Navigating: họ đòi hỏi cách để dẫn đường
+ Identifying: Các câu hỏi khác yêu cầu về nhận dạng các thuộc tính của một vị trí + Checking: họ có thể muốn tìm kiếm các sự kiện ở vị trí hiện tại hoặc ở gần đó Nó
có thể được người sử dụng ghi nhớ không chỉ về thông tin địa lý mà cả về thời gian
Mối quan hệ giữa 5 hành động di động cơ sở được miêu tả qua bảng (bảng 1.1) sau:
Trang 25Bảng 1.1 Mối quan hệ giữa 5 hành động di động cơ sở
Sự định hướng và
sự định vị : locating
Tìm đường trong không gian, lập kế hoạch cho một hành trình Navigation
Làm thế nào tôi đến được (tên địa điểm, địa chỉ, tọa
độ xy…)?
Xác định vị trí, mã hóa, giải mã thông tin địa lý, đường đi
Search: Tìm kiếm người hoặc đối tượng?
Nơi nào gần nhất, phù hợp nhất với một người hoặc một đối tượng nào đó?
Xác định vị trí, mã hóa, tính toán khoảng cách và khoanh vùng, tìm các mối quan hệIdentification:
Nhận dạng và nhận
ra một người hoặc đối tượng
Cái gì hoặc ai ở đây hay ở một nơi nào đó?
Danh mục, lựa chọn, chủ đề, không gian, tìm kiếm
Event check:
Kiểm tra các sự kiện, xác định tình trạng của đối tượng
Cái gì xảy ra ở đây hay ở đâu đó?
Thông tin tìm kiếm, nhận dạng và kiểm tra
Hai hành động cơ bản định vị và dẫn đường dựa chủ yếu vào dữ liệu về
không gian địa lý Còn hành động tìm kiếm, nhận dạng và kiểm tra thì cần một lượng lớn thông tin phong phú và đa dạng Hơn nữa thông tin và không gian địa lý có nhiều kiểu thông tin:
+ Những thông tin tĩnh (Static information)phần lớn là các nội dung ví dụ là
các trang vàng Thông tin lưu trữ không thay đổi theo thời gian có thể được lấy từ các phương tiện như sách, báo, bản đồ, tivi, internet…
Trang 26+ Thông tin có tính thời sự (Topical information) có thể thay đổi theo sự di
chuyển của người dùng Trong trường hợp này, thông tin được kiểm tra trước đó từ các phương tiện trên có thể không còn giá trị Ví dụ thông tin có tính thời sự là thông tin về giao thông, dự báo thời tiết, bán vé nhà hát hoặc chat trực tuyến Hơn nữa, người dùng cần hướng dẫn điều khiển như thế nào trong các tình huống thay đổi Ví
dụ kế hoạch các chuyến thì có thể lưu trữ ở bất cứ nơi nào, nhưng tại thời điểm di chuyển, người sử dụng muốn biết thông tin về thời gian trễ và ước lượng thời gian đến
+ Thông tin an toàn (safely information) có mấu chốt quan trọng, ví dụ thông
tin hiện tại về trạng thái của đường phố hoặc kiểm tra cuộc hành quân, thời tiết thay đổi, sự nguy hiểm của băng tan… Người lái xe hoặc lái tầu cần các thông tin trong những tình huống khẩn cấp, ví dụ giúp đỡ trong tình huống ô tô bị hỏng
+ Thông tin cá nhân (personal information): Người dùng tham gia và cung
cấp các ý kiến cá nhân của họ và giới thiệu có thể làm tăng chất lượng một số dịch vụ với thông tin cá nhân [2] [3] [5]
1.2.2 Khả năng ứng dụng
LBS có khả năng đưa ra hai đường là liên lạc thông tin và sự tương tác qua lại giữa khách hàng với dịch vụ Vì thế, người sử dụng có thể cho nhà cung cấp dịch vụ biết trong bối cảnh hiện tại loại thông tin họ cần và phù hợp với họ, với vị trí của họ
Hệ thống sẽ cung cấp các thông tin hoàn toàn phù hợp tới người sử dụng
Các ứng dụng phổ biến hiện nay của các dịch vụ LBS là rất phong phú và đa dạng Chúng được phân chia thành các nhóm chính sau đây:
• Dẫn đường ô tô, hướng dẫn người đi bộ
• Theo dõi (tracking), quản lý đội ngũ xe cơ giới, các gói bưu phẩm…
• Các dịch vụ cứu nạn/cứu hộ (Emergency Services): cứu nạn xe cộ hỏng hóc trên đường, hỏa hoạn, cấp cứu sức khỏe
• Tìm kiếm các tiện ích, quảng cáo, dịch vụ du lịch, vận tải, tìm kiếm nội dung (trang vàng)
• Người sử dụng phát sinh nội dung bản đồ
• Chia sẻ nội dung bản đồ
• Tìm kiếm thông tin, truyền thông điệp trong mạng xã hội
1.3 Tình hình nghiên cứu hiện nay trong và ngoài nước
Các lĩnh vực ứng dụng của LBS rất đa dạng, có thể kể đến như quản lý và điều hành giao thông đô thị; theo dõi, dự báo thời tiết; cảnh báo sóng thần, động đất; theo dõi và xử lý cứu hộ, cứu nạn… Mặc dù đã có nhiều sản phẩm phần mềm, dịch vụ dựa
Trang 27trên vị trí địa lý được triển khai khá hiệu quả nhưng những sản phẩm, dịch vụ mang đặc thù riêng, phù hợp với điều kiện kinh tế, xã hội hiện tại của Việt Nam thì vẫn còn rất thiếu Việc nghiên cứu, xây dựng và triển khai các dịch vụ này cho phù hợp với điều kiện thực tế của Việt Nam là rất cần thiết Sản phẩm mang lại sẽ góp phần cho ra đời các phần mềm, các dịch vụ thực sự hữu ích, phù hợp và đáp ứng tối đa nhu cầu trong nước.
Theo số liệu thống kê của Integrated Data Communications, Inc (IDC) và Strategis Group LBS đang là một dịch vụ đem lại lợi nhuận cao tại Mỹ và châu Âu, trong tương lai LBS được dự đoán sẽ tiếp tục phát triển rất mạnh tại các thị trường này Ở Việt Nam hiện tại còn ít người biết đến dịch vụ LBS, lý do chính là cước phí các dịch vụ truyền dữ liệu di động còn cao trong khi băng thông các dịch vụ này còn thấp chưa đủ điều kiện để các nhà cung cấp có thể triển khai dịch vụ Trong tương lai gần tình hình sẽ được cải thiện khi băng thông các mạng di động được mở rộng và cước phí truyền thông giảm Thì có thể xây dựng thành công một hệ thống LBS hữu dụng trong thực tế
Trang 28Chương 2 THIẾT KẾ DỊCH VỤ LBS
Chương 2 giới thiệu kiến trúc tổng thể và các kiểu thiết dịch vụ LBS, các thành phần cơ bản của LBS: Các thiết bị di động, hệ thống định vị toàn cầu, truyền tin không dây, tích hợp Web-GIS…
2.1 Kiến trúc tổng thể một hệ thống LBS
Như đã giới thiệu các thành phần của LBS bao gồm: các thiết bị di động, mạng truyền thông, Internet, hệ thống định vị, các nhà cung cấp dịch vụ và nội dung Vậy các thành phần này có mối quan hệ và tương tác với nhau thế nào trong dịch vụ LBS?
Giả sử người dùng khai thác dịch vụ LBS để tìm kiếm một nhà hàng gần nhất Thông tin mà người dùng cần là đường đi đến nhà hàng Khi đó người dùng có thể sử dụng thiết bị di động mà họ có (ví dụ như một Smart Phone hay một PDA), khởi động chức năng cần thiết để gửi yêu cầu Luồng thông tin yêu cầu của người dùng cũng như các trả lời được thể hiện trên hình 2.1:
Hình 2.1 Luồng thông tin giữa các thành phần của LBS
Sau khi chức năng được kích hoạt, vị trí của thiết bị di động (cũng chính là vị trí của người dùng) được xác định và cung cấp bởi dịch vụ định vị Vị trí này có thể được xác định nhờ vào dịch vụ GPS hoặc một dịch vụ định vị bởi mạng truyền thông Tiếp theo đó, thiết bị di động của người dùng sẽ gửi các thông tin yêu cầu bao gồm
Nhà cung cấp dữ liệu/nội dung
Thiết bị/ gười dùng
Mạng truyền thông
Internet
Hệ thống định vị
Trang 29đối tượng cần tìm kiếm và vị trí hiện tại thông qua một mạng truyền thông được gọi gateway.
Gateway có nhiệm vụ truyền tải các thông điệp giữa mạng truyền thông di động và internet Các thông điệp có thể được truyền tải thông qua một vài máy chủ ứng dụng để đến một máy chủ xác định đồng thời lưu giữ lại các thông tin về yêu cầu
Tiếp theo dịch vụ sẽ tìm các tuyến đường dẫn đến nhà hàng cần tìm thỏa mãn yêu cầu tìm kiếm và đánh dấu lại
Sau khi đã có được các thông tin cần thiết, dịch vụ sẽ hoạt động trên bộ đệm không gian để tìm đường đi đến các nhà hàng Sau khi tính toán và liệt kê ra được danh sách các nhà hàng gần nhất, dịch vụ sẽ gửi lại cho người dùng kết quả thông qua mạng Internet, gateway, qua mạng thông tin di động đến với thiết bị di động của người dùng
Kết quả tìm kiếm có thể được gửi về cho người dùng dưới dạng văn bản (một danh sách các nhà hàng được sắp xếp theo thứ tự khoảng cách) hoặc vẽ trên bản đồ Tiếp theo đó, người dùng có thể yêu cầu thêm các thông tin chi tiết về nhà hàng họ quan tâm (sẽ làm kích hoạt các dịch vụ khác) Cuối cùng họ chọn một nhà hàng cụ thể và tiếp tục yêu cầu chỉ đường đi đến nhà hàng
2.2 Tích hợp Web-GIS
2.2.1 Công nghệ bản đồ trực tuyến
Công nghệ GIS trên nền Web (hay còn gọi là WebGIS) là hệ thống thông tin địa lý phân tán trên một mạng các máy tính để tích hợp, trao đổi các thông tin địa lý trên mạng Internet Công nghệ WebGIS này tương tự kiến trúc Client-Server của
Trang 30web Xử lý thông tin không gian địa lý được xử lý ở cả phía Server và phía Client Điều này cho phép người dùng có thể khai thác thông tin GIS qua trình duyệt web Một Client tiêu biểu là một trình duyệt web, một Server bao gồm một Web Server cung cấp một chương trình ứng dụng GIS trên nền web Client gửi yêu cầu dữ liệu bản đồ đến Server ở xa qua môi trường web, Server xử lý thông tin yêu cầu bằng cách chuyển yêu cầu thành mã nội bộ và gọi những chức năng về GIS thông qua việc chuyển tiếp các yêu cầu đến phần mềm ứng dụng GIS Phần mềm này trả lại kết quả, sau đó kết quả này được định dạng lại và phản hồi lại cho phía Client Server trả về kết quả cho Client hiển thị, hoặc gửi dữ liệu hoặc các công cụ phân tích để Client sử dụng
Điều quan trọng ở đây chính là công nghệ GIS trên nền web Công nghệ WebGIS có khả năng làm cho thông tin địa lý trở nên hữu dụng và sẵn sàng tới lượng lớn người sử dụng trên thế giới Để WebGIS có thể chạy được trên tất cả các trình duyệt web thì các ứng dụng GIS trên nền web phải được thiết kế theo các kỹ thuật của mạng Internet
Hình 2.2 Sơ đồ hoạt động của WebGIS
Khi nhu cầu phát sinh, phía máy khách sẽ gửi yêu cầu đến Web Server, nếu yêu cầu là dữ liệu không gian địa lý thì Web Server sẽ gửi tiếp yêu cầu đến ứng dụng GIS, và tại đây nó sẽ truy vấn để lấy dữ liệu cần thiết từ kho dữ liệu Sau đó dữ liệu bản đồ sẽ được gửi trả lại WebServer Dữ liệu sẽ được định dạng lại và hiển thị lên web brower của Client [2] [5] [6]
2.2.2 Các giải pháp bản đồ trực tuyến
Ngày nay, có rất nhiều giải pháp bản đồ trực tuyến như MapBuilder,
Mapbender, MapServer, GeoServer, OpenLayers … tuy nhiên trong khuôn khổ luận văn sẽ nghiên cứu về GeoServer, OpenLayers
2.2.2.1 Công nghệ GeoServer
GeoServer là máy chủ mã nguồn mở dùng để kết nối những thông tin địa lý
có sẵn tới các trang Web địa lý (Geoweb) sử dụng chuẩn mở GeoServer được bắt
Trang 31đầu xây dựng bởi tổ chức phi lợi nhuận TOPP (The Open Planning Project), với mục đích hỗ trợ việc xây dựng hạ tầng dữ liệu không gian bằng cách cung cấp phần mềm
mã nguồn mở chất lượng cao, dễ sử dụng cho những nhà cung cấp dữ liệu GeoServer được kỳ vọng sẽ trở thành một phương pháp đơn giản để kết nối những nguồn thông tin có sẵn tới các Virtual globe như Google Earth, NASA World Wind tương tự như các trang web bản đồ Google Maps, Windows Live Local hay Yahoo Maps GeoServer cung cấp các đặc tả Web Feature Server 1.0 và 1.1, Web Map Server 1.1.1
và Web Coverage 1.0
GeoServer cho phép xuất dữ liệu địa lý ra các dạng bản đồ/ảnh (sử dụng Web
Map Server), dữ liệu thực tế (sử dụng Web Feature Server), và cho phép người sử dụng cập nhật, thêm, xóa các thuộc tính (sử dụng Web Feature Server-Transactional) Mục tiêu của phần mềm là dễ sử dụng và hỗ trợ các chuẩn mở để cho phép bất kỳ ai cũng có thể chia sẻ thông tin về địa lý của mình một cách nhanh chóng Là một dự án mang tính cộng đồng, GeoServer được phát triển, kiểm thử và hỗ trợ bởi nhiều nhóm
và tổ chức khác nhau trên toàn thế giới GeoServer là sự phối hợp các chuẩn của Open Geospatial Consortium (OGC) như Web Map Service (WMS), Web Feature Service (WFS)
Thông qua các giao thức chuẩn GeoServer cho phép xuất ra các loại dữ liệu
như: KML, GML, Shapefile, GeoRSS, Portable Document Format, GeoJSON, JPEG,
Web Map Service (WMS):
OGC WMS tự động tạo ra bản đồ của các dữ liệu không gian liên quan từ những thông tin địa lý Chuẩn quốc tế này định nghĩa một bản đồ để mô tả thông tin địa lư như là một tệp ảnh số phù hợp cho việc hiển thị lên màn hình máy tính Một bản đồ bản thân nó không phải là dữ liệu Các bản đồ được tạo ra bởi WMS thông thường
Trang 32dưới dạng ảnh như PNG, GIF hay JPEG, hoặc đôi khi ở dạng các phần tử đồ họa vector Scalable Vector Graphics (SVG) hay Web Computer Graphics Metafile (WebCGM) Trái ngược với Web Feature Service (WFS) vốn trả về dữ liệu vector thực sự, và Web Coverage Service (WCS) trả về dữ liệu thực dạng lưới.
Các thao tác WMS có thể được gọi bằng cách sử dụng một trình duyệt web chuẩn để thực hiện các yêu cầu theo khuân dạng Uniform Resource Locators (URLs) Nội dung của các URL phụ thuộc vào thao tác được yêu cầu Cụ thể khi yêu cầu một bản đồ, URL chỉ ra những thông tin nào sẽ được đưa lên bản đồ, phần nào của trái đất được ánh xạ đến, hệ quy chiếu mông muốn, kích thước của ảnh đầu ra Khi có hai hay nhiều bản đồ được tạo ra với cùng thông số địa lý và kích cỡ, các kết quả có thể chồng khít lên nhau để tạo ra một bản đồ kết hợp Việc sử dụng các định dạng ảnh hỗ trợ nền trong suốt (như GIF hay PNG) cho phép nhìn thấy các bản đồ bên dưới Hơn nữa, các bản đồ riêng lẻ có thể được yêu cầu từ các máy chủ khác Do vậy dịch vụ WMS tạo nên một mạng phân tán các máy chủ phục vụ bản đồ để các máy trạm có thể lấy các bản đồ theo yêu cầu
Một dịch vụ Web bản đồ thường không được yêu cầu trực tiếp Thông thường nó được yêu cầu bởi một ứng dụng phía máy trạm có cung cấp các điều khiển tương tác cho người sử dụng Ứng dụng máy trạm này có thể dựa trên nền web hay là không
WMS bao gồm 2 thành phần chính là Web Map Server và Web Map Client.Đặc tả WMS
Đặc tả WMS là tài liệu mô tả cách thức Server đáp ứng (Response) các yêu cầu cụ thể từ client Khi cả client và server còn thực thi đặc tả này thì chúng còn có thể trao đổi với nhau
Đặc tả WMS qui định cách thức mà các WMS client liên lạc với WMS Server,
cách thức mà WMS Server đáp ứng yêu cầu của WMS Client Có 2 loại Request bắt buộc và 1 số loại Request tùy chọn khác:
GetMap Request:
Yêu cầu GetMap trả về một bản đồ dưới dạng ảnh (ảnh bản đồ) trong một
phạm vi địa lý theo các tham số được định nghĩa cụ thể GetMap request được yêu
cầu bởi một client để nhận về một tập hợp các điểm ảnh Các điểm ảnh này chứa ảnh
Trang 33của một bản đồ trong vùng địa lý (không gian) hoặc một tập các đối tượng đồ họa
nằm trong vùng địa lý cụ thể GetMap request cho phép các WMS client chỉ ra một
lớp thông tin cụ thể: hệ qui chiếu không gian (SRS), l khu vực địa lý, các tham số
khác qui định định dạng dữ liệu trả về Trên cơ sở các GetMap request, WMS
Server sẽ trả về kết quả là một bản đồ (nếu có), hoặc trả về một exception theo các
chỉ dẫn trong GetMap request.
Ví dụ: một URL GetMap request có dạng như sau:
http://webmapping.mgis.psu.edu/geoserver/wms?
version=1.1.1&request=getmap&layers=topp:states&styles=population&SRS=EPSG:4326&bbox=-125,24,-67,50&width=400&height=200&format=image/png
Có thể chia request thành các phần:
http: giao thức được sử dụng
webmapping.mgis.psu.edu: tên máy chủ chạy WMS server
geoserver/wms: tên trang, trường hợp này nó chỉ ra một chương chình chạy trên máy chủ để xử lý các yêu cầu
Các tham số được bắt đầu bằng dấu ? và được phân biệt bởi dấu &version=1.1.1 : chỉ ra phiên bản của đặc tả WMS mà hệ thống đang thực thi
request=getmap : chỉ ra loại request mà client cần server xử lý (trong trường hợp này là GetMap)
layers=topp:states : chỉ ra lớp thông tin trên server mà client cần lấy, có thể yêu cầu nhiều lớp thông tin, giữa các lớp thông tin cách nhau bởi dấu “,”
styles=population : chỉ ra kiểu trình bày của bản đồ được trả về
SRS=EPSG:4326 : chỉ ra hệ qui chiếu được sử dụng
bbox=-125,24,-67,50 : phạm vi không gian cần tạo bản đồ
width=400 : độ rộng theo pixel của ảnh bản đồ
height=200 : độ cao theo pixel của ảnh bản đồ
format=image/png : định dạng của ảnh bản đồ trả về (Image/gif, image/jpg, image/svg+xml)
Trang 34Nếu quá trình xử lý yêu cầu từ client không gặp lỗi bản đồ kết quả sẽ được trả
về theo định dạng mà client yêu cầu Nhưng nếu có lỗi xảy ra, server sẽ gửi trả một thông điệp lỗi được mã hoá bởi XML về client
GetCapabilities:
GetCapabilities request trả về các siêu dữ liệu mô tả WMS Server, các mô tả
bao gồm nội dung thông tin mà WMS có thể phục vụ, các tham số mà WMS Server
Các hệ tham chiếu không gian
Danh sách các lớp thông tin bản đồ
SLD/Style
Mã nhà cung cấp dịch vụ
GetFeatureInfo (tùy chọn):
GetFeatureInfo request trả về thông tin đối tượng địa lý cụ thể được hiển thị
trên bản đồ Nếu WMS Server hỗ trợ dịch vụ này thì bản đồ nó trả về được gọi là bản
đồ có khả năng truy vấn thông tin và một WMS Client có thể yêu cầu thông tin về đối tượng trên một bản đồ bằng cách thêm vào URL các tham số chỉ ra một vị trí (X,Y)
và số đối tượng có thể trả về thông tin
Ví dụ: một GetFeatureInfo request có dạng:
http://webmapping.mgis.psu.edu/geoserver/wms?version=1.1.1&request=getfeatureinfo&layers=topp:states&styles=population&SRS=EPSG:4326&bbox=-125,24,-67,50&width=400&height=200&format=text/html&X=100&y=100& query_layers=topp:states
Trang 35Request trên giống GetMap request, điểm khác biệt là phần format chỉ ra định dạng kết quả trả về là text/html Kết quả trả về có dạng:
Results for FeatureType 'states': -the_geom
= [GEOMETRY (MultiPolygon) with 153 points]STATE_NAME = ArizonaSTATE_FIPS = 04SUB_REGION = MtnSTATE_ABBR = AZLAND_KM = 294333.462WATER_KM = 942.772PERSONS = 3665228.0FAMILIES = 940106.0HOUSHOLD = 1368843.0MALE = 1810691.0FEMALE = 1854537.0WORKERS = 1358263.0DRVALONE = 1178320.0CARPOOL = 239083.0PUBTRANS = 32856.0EMPLOYED = 1603896.0UNEMPLOY = 123902.0SERVICE = 455896.0MANUAL = 185109.0P_MALE = 0.494P_FEMALE
= 0.506SAMP_POP = 468178.0
Web Feature Service:
Giao diện chuẩn Web Feature Service (WFS) cung cấp giao diện cho phép gửi các yêu cầu về các đặc trưng địa lý qua Web sử dụng các lời gọi không phụ thuộc nền Có thể coi các đặc trưng địa lý là “mã nguồn” của bản đồ trái ngược với giao diện WMS hay các cổng bản đồ trực tuyến như Google Maps trả về kết quả chỉ là ảnh mà người sử dụng không thể chỉnh sửa hay phân tích Ngôn ngữ GML cung cấp phương thức mã hóa mặc định thuận lợi để truyền tải các đặc trưng địa lý, mặc dù một số kiểu định dạng khác như shapefiles cũng có thể phục vụ cho mục đích truyền tải Vào đầu năm 2006, các thành viên của OGC đã phê chuẩn OpenGIS GML Simple Features Profile Profile này được thiết kế để tăng khả năng trao đổi giữa các máy chủ WFS và tận dụng việc thực hiện dễ dàng của chuẩn WFS
Các thành viên OGC định nghĩa và duy trì đặc tả WFS Chuẩn giao diện WFS được áp dụng nhiều cho cả mục đích thương mại cũng như mã nguồn mở, bao gồm cả GeoServer
Đặc tả WFS định nghĩa các giao diện để mô tả các thao tác trên dữ liệu của các đặc trưng địa lý Các phép toán trên dữ liệu có khả năng để:
• Lấy hoặc truy vấn các đặc trưng địa lý dựa trên các ràng buộc không gian
và phi không gian
Trang 36• Tạo mới một thể hiện của đặc trưng địa lý
• Xóa một thể hiện của đặc trưng địa lý
• Cập nhật một thể hiện của đặc trưng địa lý
WFS cơ bản cho phép truy vấn và lấy lại các đặc trưng WFS-T (transactional Web Feature Service) cho phép khởi tạo, xóa, và cập nhật các đặc trưng
WFS mô tả các phép toán tìm kiếm, truy vấn, và biến đổi dữ liệu Client phát
ra yêu cầu và gửi tới Web Feature Server thông qua giao thức HTTP Web Feature Server sau đó tiến hành xử lý yêu cầu WFS sử dụng giao thức HTTP để làm nền tảng tính toán
Có hai cách mã hóa cho các phép toán WFS:
• Sử dụng ngôn ngữ XML
• Sử dụng cặp keyword-value
Các mô hình truyền thông
WFS hỗ trợ hai mô hình truyền thông:
• Stateless Request Reply
• Pub/Sub
Một hệ thống truyền thông điệp mà các địa chỉ thông điệp của các máy trạm tới một nút được chỉ định nằm trong một nội dung phân cấp được gọi là một chủ đề Những người xuất bản và những người đóng góp thường ẩn danh và có thể tự động xuất bản hay đóng góp vào nội dung phân cấp Hệ thống đảm bảo việc phân phối các thông điệp từ những người xuất bản đến những người đóng góp Các thông điệp thường không bền vững và chỉ được những người đóng góp nhận khi họ đang đợi nhận thông điệp này tại thời điểm nó được gửi Một cách đặc biệt, “sự đóng góp định kỳ” cho phép những người đóng góp nhận các thông điệp khi họ không hoạt động
(nguồn: http://java.sun.com/j2ee/1.4/docs/glossary.html)
Web Notification Service (WNS) là một trong những cài đặt tham khảo của
mô hình Pub/Sub Không phụ thuộc vào mô hình, định dạng URL được sử dụng và chỉ định trong đặc tả WFS Hiện tại, không có thể hiện chuẩn mở nào của WNS
Trang 37Dữ liệu
Định dạng GML được sử dụng để chuyển dữ liệu qua lại giữa một Web Feature Server và một máy trạm GML bình thường truyền dữ liệu không gian, nhưng cũng hỗ trợ nhiều kiểu dữ liệu khác
Các giao diện chung
Các giao diện tĩnh:
Mô hình giao diện tĩnh cho Web OGC được mô tả như hình dưới đây:
Hình 2.3 Mô hình giao diện tĩnh của Web OGC
Các phép toán giao dịch và LockFeature là tùy chọn
Khi viết một WFS, cần phải thực hiện các phép toán sau:
GetCapabilities: truy vấn dịch vụ WFS để xác định tùy chọn hiện có.DescribeFeatureType: trả về giản đồ XML cho phép máy trạm WFS phân tích kết quả
GetFeature: biểu diễn truy vấn thực sự, các tham số như bounding box
và các phép lọc được đưa vào một cách thích hợp, dịch vụ WFS sẽ trả về kết quả dạng GML chứa đầy đủ các thuộc tính hình học và thuộc tính đặc trưng.Các giao diện động:
Mô hình giao diện yêu cầu/ trả lời động của mô hình dịch vụ Web OGC được thể hiện như sau:
Trang 38Hình 2.4 Mô hình giao diện động của Web OGC
Cập nhật động:
Client nhận các cập nhật bởi một trong 2 máy:
Thông báo (Notification): Được yêu cầu nhưng không bắt buộc Phụ thuộc vào khả năng sẵn dùng của thực thi WMS
Polling: Sử dụng phương pháp này nếu thực thi WMS không sẵn có.WFS dynamic interface web notification model:
Mô hình này sử dụng OGC Web Notification Service để gửi thông tin cập nhật tới máy trạm đã đăng ký
Hình 2.5 WFS dynamic interface web notification model
Trang 39WFS dynamic interface web notification polling model
Hình 2.6 WFS dynamic interface web notification polling model
2.2.2.2 Thư viện JavaScript nguồn mở OpenLayers
OpenLayers là một dự án của Open Source Geospatial Foundation.
OpenLayers cho phép đưa bản đồ động lên bất kỳ trang Web nào một cách dễ
dàng OpenLayers có thể hiển thị bản đồ và các điểm đánh dấu được nạp từ nhiều nguồn dữ liệu MetaCarta phát triển phiên bản nền tảng của OpenLayers và đưa chúng trở thành thông dụng trong cộng đồng để đẩy mạnh hơn nữa khả năng sử dụng của tất cả các loại thông tin địa lý
OpenLayers là thư viện JavaScript hoàn chỉnh để hiển thị dữ liệu bản đồ lên
tất cả các trình duyệt Web mà không phụ thuộc vào phía server OpenLayers cung cấp thư viện JavaScript API hỗ trợ hoàn chỉnh việc xây dựng các ứng dụng bản đồ trên nền Web, tương tự như Google Maps hay MSN Virtual Earth APIs, nhưng có
một sự khác biệt quan trọng: OpenLayers là phần mềm miễn phí, được phát triển bởi
và hỗ trợ cho cộng đồng phần mềm mã nguồn mở
Hơn nữa, OpenLayers còn bổ xung thêm các phương thức chuẩn công nghiệp
về truy xuất dữ liệu địa lý như các giao thức Web Mapping Service (WMS) và Web Feature Service (WFS) OpenLayers được viết bằng JavaScript hướng đối tượng, sử dụng các thành phần từ thư viện Prototype.js và Rico Mã nguồn của OpenLayers cũng có hàng trăm đơn vị kiểm thử, thông qua Test.AnotherWay framework
Như là một framework, OpenLayers hy vọng tách riêng các công cụ bản đồ với dữ liệu bản đồ để mọi công cụ có thể thao tác trên mọi nguồn dữ liệu
Ví dụ để tạo ra một layer bản đồ trên website bằng OpenLayers:
Trang 40bounds = new OpenLayers.Bounds(
maxResolution: 4.9E-4, //do phan giai
projection: "EPSG:4326", //he toa do
units: 'degrees'
};
//Khởi tạo bản đồ
map = new OpenLayers.Map('map', options);
//Khởi tạo một lớp bản đồ có sẵn tên
var titled = new OpenLayers.Layer.WMS(
"Namdinh - Titled", "/geoserver/wms",
{
layers: ' Namdinh 1',
width:'998', height:'500', srs: 'EPSG:4326',