Để góp phần nhỏ vào việc giảm tình trạng trên, dựa trên những ứng dụng định vị toàn cầu GPS và Google Maps API, tác giả đã thành công trong việc xây dựng một ứng dụng điện thoại nhằm thu
Trang 1ĐẠI HỌC QUỐC GIA TP HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
HÀ NGỌC ĐOÀN
XÂY DỰNG BẢN ĐỒ SỐ VỀ GIAO THÔNG DỰA TRÊN
ỨNG DỤNG GPS VÀ GOOGLE MAPS API
Chuyên ngành: Kỹ thuật Xây dựng Công trình giao thông
Mã số: 60580205
LUẬN VĂN THẠC SĨ
TP HỒ CHÍ MINH, tháng 8 năm 2016
Trang 2Công trình được hoàn thành tại: Trường Đại học Bách khoa – ĐHQG TPHCM
Cán bộ hướng dẫn khoa học: PGS.TS Chu Công Minh
Cán bộ chấm nhận xét 1: TS Nguyễn Xuân Long
Cán bộ chấm nhận xét 2: TS Trần Vũ Tự
Luận văn Thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa, ĐHQG TP HCM ngày 27 tháng 08 năm 2016
Thành phần Hội đồng đánh giá luận văn thạc sĩ bao gồm:
1 Chủ tịch hội đồng: PGS.TS Lê Thị Bích Thủy
2 Ủy viên: TS Tôn Thất Tú
3 Thư ký: TS Văn Hồng Tấn
4 Cán bộ phản biện 1: TS Trần Vũ Tự
5 Cán bộ phản biện 2: TS Nguyễn Xuân Long
Xác nhận của Chủ tịch Hội đồng đánh giá luận văn và Trưởng khoa quản lý chuyên ngành sau khi luận văn đã được sửa chữa (nếu có)
CHỦ TỊCH HỘI ĐỒNG TRƯỞNG KHOA KTXD
Trang 3ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc Lập – Tự Do – Hạnh Phúc NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ tên học viên: HÀ NGỌC ĐOÀN MSHV: 13011257 Ngày, tháng, năm sinh: 15/11/1989 Nơi sinh: Gia Lai
Chuyên ngành: Kỹ thuật Xây dựng Công trình giao thông Mã số: 60580205
Chương II: Các nghiên cứu đã thực hiện
Chương III: Nội dung nghiên cứu
Chương IV: Kết quả nghiên cứu
Chương V: Kết luận
IV NGÀY HOÀN THÀNH NHIỆM VỤ: 17/06/2016
Nội dung và đề cương Luận văn thạc sĩ đã được Hội Đồng Chuyên Ngành thông qua
Tp HCM, ngày tháng năm 2016
TRƯỞNG KHOA KTXD
Trang 4LỜI CẢM ƠN
Lời đầu tiên, xin chân thành cảm ơn PGS.TS Chu Công Minh, là người đã
trực tiếp giúp đỡ, hướng dẫn và tận tình chỉ bảo để tôi có thể hoàn thành luận văn cao học này
Tôi cũng xin chân thành cảm ơn quý thầy cô tại trường Đại học Bách Khoa
Thành phố Hồ Chí Minh đã nhiệt tình truyền đạt những kiến thức quý báu, quan
tâm và tạo mọi điều kiện thuận lợi giúp đỡ tôi trong suốt thời gian học tập và nghiên cứu tại trường
Cuối cùng, xin cảm ơn gia đình, cơ quan và bạn bè thân hữu đã động viên, giúp đỡ tôi trong thời gian học tập và thực hiện luận văn
Mặc dù đã có nhiều cố gắng để thực hiện đề tài một cách hoàn chỉnh nhất, nhưng do còn nhiều hạn chế về kiến thức cũng như kinh nghiệm thực hành nên không thể tránh khỏi những thiếu sót nhất định mà bản thân chưa thấy được Vì vậy, tôi rất mong nhận được nhiều sự góp ý của quý thầy cô và các bạn đồng nghiệp để luận văn được hoàn chỉnh hơn
TP Hồ Chí Minh, tháng 8 năm 2016
Học viên
Hà Ngọc Đoàn
Trang 5TÓM TẮT LUẬN VĂN
Trong nghiên cứu này tác giả trình bày việc xây dựng bản đồ số về giao thông dựa trên ứng dụng GPS và Google Maps API Bản đồ số này sẽ được hiển thị cho người dùng thông qua một ứng dụng điện thoại chạy trên hệ điều hành Android Trong thời đại hiện nay, sự phát triển không ngừng của khoa học kỹ thuật công nghệ đặc biệt là trong lĩnh vực công nghệ thông tin đã tạo ra cho người dùng
vô số những thiết bị công nghệ, ứng dụng điện thoại phục vụ cho người dùng ở nhiều lĩnh vực khác nhau trong đó có lĩnh vực giao thông Đây là một trong lĩnh vực đang ngày càng thu hút được sự quan tâm của giới công nghệ thông tin, đặc biệt là
ở nước ta khi tình trạng kẹt xe đang ngày càng trở nên trầm trọng ở những thành phố lớn
Để góp phần nhỏ vào việc giảm tình trạng trên, dựa trên những ứng dụng định
vị toàn cầu GPS và Google Maps API, tác giả đã thành công trong việc xây dựng một ứng dụng điện thoại nhằm thu thập dữ liệu về hành trình di chuyển của người dùng, lưu trữ dữ liệu, hiển thị dữ liệu về tình hình giao thông ở thời gian thực, đồng thời đề xuất cho người dùng tuyến đường di chuyển có vận tốc tối ưu nhất, tránh được những điểm có vận tốc di chuyển thấp
Để xây dựng được ứng dụng trên, tác giả đã sử dụng phần mềm Eclipse để phát triển ứng dụng, máy chủ đám mây red hat cloud và phpMyAdmin để lưu trữ và
xử lý dữ liệu Quá trình phát sinh và hiển thị dữ liệu được thực hiện thông qua ứng dụng định vị GPS và Google Maps API
Trang 6In this study, authors present the development progress of a traffic digital map based on GPS and Gooogle Maps API applications This map is displayed to users through a smartphone application using Android operating system
Nowadays, the continuous development of technological science, especially in information technology field, has been creating a lot of technological devices, smartphone applications for users in various fields including transport field This is one of the fields which is increasingly attracting the interest of people working in the information technology sector, particularly in our country when traffic congestion is becoming more complicated in the large cities
To contribute to the reduction of traffic congestion situation, based on GPS and Google Maps API applications, authors developed a smartphone application to collect, store and analyze data on commuting routes of users and display the traffic status in real time, besides propose the most optimal speed route to users
To develope this application, author has used Eclipse software to create application, red hat cloud server and phpMyAdmin to store and analyze data Data
generation and display are developed relied on GPS and Google Maps API
Trang 7LỜI CAM ĐOAN
Tác giả xin cam đoan toàn bộ nội dung của nghiên cứu này được trình bày theo kết cấu và dàn ý của tác giả
Các số liệu và kết quả trong nghiên cứu này là trung thực và chưa được ai công bố trong bất kỳ công trình nào khác
Tác giả xin hoàn toàn chịu trách nhiệm với lời cam kết trên
TP Hồ Chí Minh, tháng 8 năm 2016
Học viên
Hà Ngọc Đoàn
Trang 8MỤC LỤC
MỤC LỤC 6 DANH MỤC H NH ẢNH 8
MỞ Đ U 10 Chương 1:
Lý do lựa chọn đề tài 101.1
Mục tiêu nghiên cứu 111.2
Ý nghĩa thực tiễn của đề tài 121.3
Phạm vi và giới hạn nghiên cứu 121.4
CÁC NGHIÊN CỨU ĐÃ THỰC HIỆN 13 Chương 2:
Hệ thống thông tin giao thông tại các trục đường chính trên nền Google 2.1
Map [1] 13Thiết kế ứng dụng Android cung cấp vị trí của xe buýt ở thời gian thực [2]152.2
Hệ thống theo dõi vị trí và tuyến đường di chuyển của người sử dụng điện 2.3
Máy chủ Server 293.1.3
Phần mềm Eclipse 303.1.4
Nội dung nghiên cứu 323.2
Trang 9Thiết kế giao diện 323.2.1.
Xây dựng hệ thống lưu trữ dữ liệu 363.2.2
Thiết kế chức năng định vị và vẽ lại lộ trình di chuyển của người dùng403.2.3
Xây dựng bản đồ màu vận tốc 433.2.4
Xây dựng chức năng tìm đường từ nền tảng cơ sở dữ liệu 473.2.5
Mô hình chức năng hoạt động của ứng dụng 493.2.6
K T QUẢ NGHIÊN CỨU 52 Chương 4:
Ghi lại hành trình di chuyển của người dùng 524.1
Bản đồ số về giao thông 544.2
Chức năng tìm đường 554.3
Một số kết quả khác liên quan 574.4
K T LUẬN 60 Chương 5:
TÀI LIỆU THAM KHẢO 61 PHỤ LỤC 62
Trang 10DANH MỤC H NH ẢNH
Hình 2-1: Giao diện của ứng dụng GATI [1] 13
Hình 2-2: Nguyên lý làm việc của ứng dụng GATI [1] 14
Hình 2-3: Mô hình xây dựng ứng dụng [2] 16
Hình 2-4: Kết quả của BIS [2] 16
Hình 2-5: Giao diện chính của ứng dụng [3] 17
Hình 2-6: Giao diện và hiển thị chức năng của ứng dụng MyTracks [5] 18
Hình 2-7: Các chức năng hiển thị của ứng dụng MyTracks [5] 19
Hình 2-8: Bản đồ google traffic [9] 21
Hình 2-9: Chức năng dự báo của google traffic [8] 22
Hình 2-10: Giao diện và các chức năng của ứng dụng 10] 23
Hình 2-11: Chức năng camera giao thông 10 24
Hình 2-12: Chức năng tìm đường và hiển thị bến xe buýt 10 24
Hình -1: Vị tr các trạm quan sát của Phần điều khiển 12] 28
Hình -2: Giao diện phần mềm clipse 31
Hình 3-3: Sơ đồ nội dung nghiên cứu 32
Hình 3-4: Giao diện Ghi chép hành trình di chuyển 33
Hình 3-5: Chức năng tải lộ trình đã lưu 34
Hình 3-6: Giao diện Bản đồ màu giao thông 35
Hình 3-7: Giao diện Tìm đường 35
Hình 3-8: Quá trình lưu trữ và xử lý dữ liệu 36
Hình 3-9: Sơ đồ quá trình gửi dữ liệu lên server 36
Hình 3-10: Minh họa một đoạn dữ liệu lưu dưới dạng JSON 37
Trang 11Hình 3-11: Giao diện của máy chủ đám mây Openshift 38
Hình 3-12: Giao diện của phpMyAdmin 39
Hình 3-13: Sơ đồ quá trình tải dữ liệu từ server 40
Hình 3-14: So sánh hiệu quả của chức năng Snap to Roads 41
Hình 3-15: Chu trình phát sinh và xử lý dữ liệu trong chức năng Tracking 42
Hình 3-16: Sơ đồ thực hiện chức năng Tracking 43
Hình -1 : Sơ đồ hóa nguyên tắc dịch chuyển tọa độ theo chiều vector 46
Hình 3-18: Chu trình xử lý dữ liệu trong chức năng Traffic 46
Hình 3-19: Lưu đồ thuật toán Dijkstra 48
Hình 3-20: Chu trình xử lý dữ liệu trong chức năng Direction 49
Hình -21: Mô hình chức năng hoạt động của ứng dụng 50
Hình 4-1: Khu vực nghiên cứu 52
Hình 4-2: Chức năng định vị, theo dõi người dùng trên nền Google Map 53
Hình 4-3: Bản đồ thể hiện tình hình giao thông ở thời gian thực 54
Hình - : Kết quả tìm lộ trình di chuyển nhanh nhất (trái) và ngắn nhất (phải) 55
Hình 4-5: Sơ đồ các lộ trình di chuyển 56
Hình -6: Biểu đồ so sánh vận tốc của ViTraffic và MyTracks 57
Hình - : Biểu đồ so sánh vận tốc của xe buýt và xe máy 1 59
Hình -8: Biểu đồ so sánh vận tốc của xe buýt và xe máy (2) 59
Trang 12MỞ Đ U Chương 1:
Lý do lựa chọn đề tài
1.1
Trong những năm gần đây, tốc độ đô thị hóa ở nước ta đã và đang diễn ra rất nhanh, đặc biệt là ở các đô thị lớn như Hà Nội, Thành phố Hồ Ch Minh… cho thấy mức độ tăng trưởng và phát triển nhanh của nền kinh tế đất nước Tuy vậy, nó cũng mang đến những thách thức không nhỏ cho các cấp quản lý về các vấn đề như môi trường, dân số, việc làm… đặc biệt là về vấn đề giao thông Đô thị hóa diễn ra quá nhanh dẫn đến việc phát triển hạ tầng kỹ thuật không theo kịp, trong đó có hạ tầng giao thông và cùng với việc tập trung đông dân số tại các thành phố lớn, số lượng phương tiện gia tăng dẫn đến tình trạng quá tải cho mạng lưới giao thông, điển hình
là tình trạng ùn tắc giao thông đang diễn biến theo hướng ngày càng phức tạp tại các thành phố lớn
Đã có nhiều những biện pháp nhằm cải thiện tình trạng giao thông hiện nay như thay đổi chính sách nhằm hạn chế phương tiện cá nhân, thay đổi giờ học giờ làm, tăng cường phát triển hạ tầng giao thông, xây dựng hệ thống tàu điện ngầm…
Và trên thực tế, những biện pháp này đã phần nào phát huy được hiệu quả khi kết hợp những giải pháp về ch nh sách vĩ mô với việc xây dựng hệ thống phương tiện vận tải hành khách khối lượng lớn cũng như phù hợp với đặc điểm d ng giao thông nhiều xe máy ở nước ta Tuy nhiên, hầu hết trong số những biện pháp đó đều xuất phát từ cơ quan quản lý Nhà nước mà vẫn chưa có những biện pháp từ chính những hành vi của người tham gia giao thông nhằm góp phần làm giảm tình trạng ùn tắc giao thông
Hiện nay với sự phát triển của khoa học công nghệ, sự bùng nổ của điện thoại thông minh thì chiếc điện thoại đã không chỉ còn chức năng đàm thoại thông thường mà nó đã trở thành một công cụ hỗ trợ thực sự cần thiết cho người sử dụng Với một chiếc điện thoại thông minh, người dùng có thể sử dụng được rất nhiều các chức năng khác nhau từ cập nhật tin tức, lưu trữ đến giải trí… Chính vì những tiện ích của nó mà số lượng người dùng đang tăng lên ngày càng nhiều Với chiếc điện
Trang 13thoại thông minh, người dùng không chỉ được sử dụng những t nh năng được tích hợp sẵn có của nhà sản xuất mà còn có thể sử dụng những ứng dụng được các nhà lập trình thiết kế nhằm đáp ứng những nhu cầu ngày càng đa dạng của người dùng Nguồn tài nguyên từ những chiếc điện thoại thông minh là vô cùng lớn nhưng
sử dụng nguồn tài nguyên này để giải quyết những bài toán cụ thể thì yêu cầu cần phải có những nghiên cứu đánh giá cụ thể, chi tiết để sao cho phát huy hết khả năng của nó Việc đưa chiếc điện thoại thông minh trở thành một công cụ nhằm giải quyết một bài toán trong giao thông cũng không phải ngoại lệ
Với mong muốn nghiên cứu xây dựng một ứng dụng điện thoại sử dụng mã nguồn mở API của Google Maps nhằm giúp người dùng chủ động trong việc cập nhật tình hình giao thông và tránh được các điểm ùn tắc giao thông thông qua một bản đồ thể hiện tốc độ di chuyển của các phương tiện khác đang di chuyển trên đường ở thời gian thực để tìm ra một hành trình di chuyển khác nhanh hơn, thuận
lợi hơn, tác giả đã xây dựng đề tài “Xây dựng bản đồ số về giao thông dựa trên
ứng dụng GPS và Google Maps API”.
Mục tiêu nghiên cứu
1.2
Kết quả của nghiên cứu là một ứng dụng điện thoại cung cấp một bản đồ số về giao thông theo thời gian thực nhằm hỗ trợ người sử dụng trong việc lựa chọn tuyến đường có vận tốc di chuyển tối ưu nhất cho chuyến đi của mình, tránh được những điểm có lưu lượng giao thông lớn hoặc ùn tắc giao thông Để đạt được kết quả đó,
đề tài sẽ thực hiện các mục tiêu sau:
(1) Thu thập số liệu giao thông bằng cách sử dụng các thiết bị điện thoại di
động có ứng dụng GPS và kết nối internet;
(2) Xây dựng cơ sở dữ liệu về vị trí, thời gian và vận tốc dựa trên dữ liệu thu
thập được;
(3) Xây dựng bản đồ số về giao thông theo thời gian thực dựa trên nền tảng
Google Maps API;
(4) Đề xuất cho người dùng lộ trình di chuyển phù hợp
Trang 14Ý nghĩa thực tiễn của đề tài
1.3
Ngoài chức năng giúp người dùng định vị được vị trí của họ trên bản đồ, ghi
và lưu lại quá trình di chuyển, kết quả của đề tài này còn cung cấp cho người dùng một bản đồ số về giao thông ở thời gian thực, giúp người dùng có thể biết được hiện trạng giao thông thông qua một bản đồ thể hiện vận tốc di chuyển của các phương tiện trên các tuyến đường
Dựa trên ứng dụng này, người dùng sẽ thực sự chủ động tham gia vào việc giảm ùn tắc giao thông thông qua việc góp phần xây dựng cơ sở dữ liệu về giao thông trên các tuyến đường mình di chuyển đồng thời lựa chọn những tuyến đường
có điều kiện di chuyển tốt hơn dựa trên cơ sở dữ liệu từ những người dùng khác
Phạm vi và giới hạn nghiên cứu
1.4
Do đặc điểm d ng phương tiện ở Việt Nam chủ yếu là xe máy nên đề tài nghiên cứu được thực hiện tập trung trên đối tượng sử dụng xe máy Tuy người dùng vẫn có thể sử dụng ứng dụng cho phương tiện giao thông khác nhưng có thể
độ chính xác sẽ không cao do đặc điểm di chuyển của d ng phương tiện và dữ liệu đầu vào là khác nhau
Việc phát triển ứng dụng sẽ được giới hạn với ngôn ngữ lập trình cũng như khả năng t ch hợp để nó hoạt động tốt trên những điện thoại hoặc thiết bị cầm tay sử dụng hệ điều hành Android
Ngoài ra, để đánh giá được tính hiệu quả của ứng dụng, khu vực nghiên cứu
để thu thập dữ liệu và kiểm tra các chức năng trong giai đoạn nghiên cứu sẽ được giới hạn trong khu vực trung tâm quận 3, Thành phố Hồ Chí Minh
Trang 15CÁC NGHIÊN CỨU ĐÃ THỰC HIỆN Chương 2:
Hệ thống thông tin giao thông tạ c c trục đường chính trên nền Google 2.1
Map [1]
Mục tiêu của nghiên cứu là nhằm tạo ra một trình duyệt web bản đồ về lưu lượng dòng giao thông trên các trục đường chính của thành phố ở thời gian thực, giúp người sử dụng có thể truy cập và lựa chọn hành trình đi cho riêng mình dựa trên sự quan sát bản đồ Giao diện chính của trang web được xây dựng trên nền của Google Maps nhưng được phủ thêm một lớp về lưu lượng giao thông với các màu sắc khác nhau được thể hiện như hình dưới
Hình 2-1: Giao diện của ứng dụng GATI [1]
Để thể hiện được các lớp lưu lượng giao thông với nhiều màu sắc khác nhau trên nền Google Maps của trang web thì nhóm tác giả đã sử dụng công cụ Google Maps Application Programming Interface (Google Maps API Trong khi đó, việc xây dựng trang web được thực hiện trên nền tảng ngôn ngữ lập trình Ajax (Asynchronous JavaScript and XML)
Trang 16Nguyên lý làm việc của trang web được mô tả như sau:
Hình 2-2: Nguyên lý làm việc của ứng dụng GATI [1]
- Dữ liệu về lưu lượng giao thông thể hiện trên trang web được cung cấp từ chính quyền thành phố Bellevue thông qua Trung tâm Quản lý Giao thông (Traffic Management Center - TMC) với hệ thống đếm lưu lượng giao thông được đặt tại 177 nút giao thông nằm trên các trục đường chính của thành phố Cứ mỗi 05 phút, hệ thống này sẽ cung cấp dữ liệu giao thông dưới dạng file CSV (Comma-Separated-Value và sau đó sẽ được xử lý để làm cơ sở dữ liệu đầu vào cho trang web dưới dạng MySQL
- Để thể hiện được dữ liệu này lên trên bản đồ thì cần phải dùng ngôn ngữ lập trình PHP Hypertext Preprocessor Sử dụng PHP, sẽ giúp máy chủ lưu định dạng lại dữ liệu, lưu trữ dữ liệu thành cơ sở dữ liệu cho hệ thống và tạo ra file dưới dạng XML là định dạng dữ liệu đầu vào cho bước thể hiện
dữ liệu lên bản đồ Google Maps
Giao diện người dùng
Máy chủ FTP (Thành phố Bellevue)
Công cụ Google Maps Ngôn ngữ Java/Ajax
Thể hiện dữ liệu trên bản đồ Yêu cầu từ người dùng Máy chủ hệ thống (STAR Lab)
Trang 17- Với ngôn ngữ lập trình Ajax và công cụ Google Maps API, các dữ liệu đầu vào sẽ được thể hiện lên trên bản đồ nền của trang web
Với mục tiêu được nêu ban đầu thì nghiên cứu này đã rất thành công trong việc cung cấp cho người dùng một bản đồ trực quan về lưu lượng giao thông trên các tuyến đường chính của thành phố Bellevue Tuy nhiên, nó vẫn có một số các vấn đề chưa giải quyết được như:
(1) Chỉ áp dụng được cho các thành phố có hệ thống đếm lưu lượng giao thông
tự động được lắp đặt trên đường;
(2) Mặc dù giao diện trực quan nhưng người dùng vẫn phải tự chọn lộ trình để
tránh những điểm có lưu lượng giao thông lớn;
(3) Lưu lượng giao thông trên các tuyến đường chính sẽ thay đổi do đó, với
những người dùng có lịch trình di chuyển dài, vẫn có nguy cơ gặp phải những điểm giao thông lưu lượng cao nếu không thể truy cập để cập nhật tình hình giao thông
Thiết kế ứng dụng Android cung cấp vị trí của xe buýt ở thời gian thực 2.2
[2]
Xuất phát mục tiêu giúp người dùng xe buýt có thể dễ dàng hơn trong việc truy cập các thông tin về hoạt động của các xe buýt, nhóm tác giả đã xây dựng một ứng dụng android có tên là BIS (Bus Information System) nhằm chia sẻ, cung cấp
và cập nhật các thông tin về hoạt động của mạng lưới xe buýt đang hoạt động Thành phần chính của ứng dụng gồm ba phần đó là bộ phận tải dữ liệu (chia sẻ thông tin), bộ phận yêu cầu dữ liệu và server lưu trữ
Với giả thiết là người ngồi trên xe buýt sẵn sàng chia sẻ các thông tin về hành trình mình đang di chuyển thông qua bộ phận tải dữ liệu, các dữ liệu này sẽ được truyền về server, được đồng bộ hóa với các thông tin về mạng lưới xe buýt để tạo thành cơ sở dữ liệu với các thông tin về tên tuyến buýt, trạm dừng, người sử dụng
và số xe buýt ở thời gian thực Cũng tại thời điểm này, khi có người sử dụng khác yêu cầu về thông tin xe buýt trên tuyến xe buýt đó thì họ sẽ nhận được các thông tin
Trang 18Hình 2-4: Kết quả của BIS [2]
từ chính những người đã cung cấp thông tin trước đó, bao gồm những thông tin về
vị trí của xe buýt, tốc độ xe buýt và ước tính thời gian xe buýt đó đến vị trí của người yêu cầu
Hình 2-3: Mô hình xây dựng ứng dụng [2]
Ứng dụng này được xây dựng trên nền là Google Maps và sử dụng các chức năng ch nh của Google Maps API nhằm thể hiện các thông tin về hành trình xe buýt, vị trí xe buýt trên bản đồ trực quan trên cơ sở nền dữ liệu được cung cấp Ngôn ngữ được sử dụng để thiết kế ứng dụng là ngôn ngữ lập trình JAVA với sự hỗ trợ tương tác với PHP interpreter để lưu và truy xuất dữ liệu từ server
Các tiện ích của ứng dụng này cung
cấp những thông tin rất hữu ch cho người có
nhu cầu sử dụng xe buýt, giúp họ có thể chủ
động lựa chọn những xe buýt tại thời điểm
ấn định, tránh việc phải chờ xe buýt trong
thời gian lâu Tuy nhiên, tất cả những tiện
ch đó chỉ có được khi người đang ngồi trên
xe buýt sẵn sàng chia sẻ các thông tin của họ
về lịch trình di chuyển trên xe buýt đó và dữ
liệu không được thu thập từ những nguồn
cung cấp khác
Chia sẻ thông tin
GPS (thời gian, tọa độ)
Trạm buýt Tuyến buýt Người dùng
Xe buýt
CSDL Người dùng gửi yêu cầu
Trang 19Hệ thống theo dõi vị trí và tuyến đường di chuyển của người sử dụng 2.3
đ ện thoại Android [3]
Hệ thống này xây dựng cho phép người dùng có thể biết được vị trí của một người khác và tuyến đường di chuyển ngắn nhất từ vị trí hiện tại của người dùng đến vị trí của người kia
Được xây dựng trên giao diện của Google Map, sử dụng ngôn ngữ lập trình Java trên phần mềm hỗ trợ lập trình ứng dụng android là Eclipse, hệ thống đã sử dụng các chức năng định vị, điều hướng cũng như theo dõi vị tr người dùng của Google API thông qua các dịch vụ LBS (Location Based Services) nhằm tạo ra một giao diện hoàn toàn dễ hình dung cho người dùng
Hình 2-5: Giao diện chính của ứng dụng [3]
Để sử dụng được hệ thống này người dùng phải sử dụng chính số điện thoại của điện thoại đang sử dụng hệ thống làm ID truy cập Để xác định được vị trí của người dùng khác, người sử dụng hệ thống này cần cung cấp số điện thoại của người dùng đó cho hệ thống Sau đó, hệ thống sẽ gửi yêu cầu tới Google server thông qua
Trang 20ngôn ngữ Google API để xác định vị trí của cả hai người dùng trước khi cung cấp lộ trình di chuyển giữa hai người dùng
Với ứng dụng này, chức năng của nó không chỉ dừng lại ở khả năng tìm đường
di chuyển giữa hai người sử dụng mà nó còn có thể cung cấp các chức năng đầy hữu
ch khác như theo dõi trẻ em, tìm điện thoại mất…
Tuy vậy, việc cấp ID của người dùng trùng với số điện thoại của người đó sẽ mang đến khả năng khả năng không đảm bảo được thông tin vị trí cá nhân khi người dùng không muốn ai đó biết vị trí của mình
My Tracks - Ứng dụng ghi lại hành trình di chuyển [5]
2.4
My Tracks là một ứng dụng chính thức của Google sử dụng GPS trên điện thoại của người dùng và sự hỗ trợ của Google API để ghi lại những vị tr mà người dùng đã đi qua cũng như thời gian và quãng đường đã di chuyển
Ứng dụng này được xây dựng bằng ngôn ngữ lập trình Java trên phần mềm hỗ trợ lập trình ứng dụng android là Eclipse
Hình 2-6: Giao diện và hiển thị chức năng của ứng dụng MyTracks [5]
Trang 21Ứng dụng My Tracks cung cấp khá nhều số liệu thống kê chi tiết về hành trình
di chuyển của người dùng Trong phần Chart còn cung cấp một biểu đồ cho thấy người dùng đã di chuyển được quãng đường bao nhiêu km cũng như tốc độ di chuyển tại từng thời điểm
Ba giao diện chính của ứng dụng này là Map – thể hiện lộ trình di chuyển của người dùng trên bản đồ, Chart – là một biểu đồ thể hiện sự thay đổi vận tốc và độ cao trong quá trình di chuyển của người dùng, và Starts - thống kê về tổng số km di chuyển, tốc độ cao nhất, tốc độ thấp nhất và tốc độ trung bình Ngoài ra, trong khi
di chuyển, người dùng vẫn có thể xem các thống kê trên một cách trực tiếp, có thể đánh dấu vào quãng đường cũng như nghe thông báo của My Tracks về quá trình di chuyển
Hình 2-7: Các chức năng h ển thị của ứng dụng MyTracks [5]
Trang 22Khi sử dụng ứng dụng My Tracks, người dùng có thể lưu trữ lộ trình di chuyển của họ với Google Drive, Google Maps, Google Fusion Tables, Google Spreadsheets hay xuất ra bộ nhớ bên ngoài Với Google Drive, người dùng có thể đồng bộ hóa đường đi, chia sẽ đường đi với bạn bè, xem đường đi mà bạn bè đã chia sẽ với họ Với Google Maps, người dùng có thể chia sẽ địa chỉ liên kết với bạn
bè thông qua Google+, Facebook, Twitter Khi người dùng xuất ra bộ nhớ bên ngoài, họ có thể chọn định dạng GPX, KML hay CSV
Là một ứng dụng được phát triển bởi Google nên My Tracks đã khai thác rất tốt các chức năng kết hợp lưu trữ trên các sản phẩm khác của Google Tuy vậy, hệ thống lưu trữ này của Google lại được lưu trữ theo tài khoản cá nhân của mỗi người nên không có chức năng tổng hợp dữ liệu của các cá nhân để tạo thành một hệ thống cơ sở dữ liệu
Google Traffic – Bản đồ số về hiện trạng giao thông ở thời gian thực 2.5
Từ năm 2005, Google bắt đầu nghiên cứu xây dựng một bản đồ về hiện trạng giao thông ở thời gian thực nhưng đến năm 200 một bản đồ về giao thông mới được giới thiệu Ở lần giới thiệu đầu tiên, Google Traffic chỉ cung cấp thông tin giao thông trên các tuyến đường chính ở hơn 0 thành phố chính ở Hoa Kỳ Và cơ
sở dữ liệu để xây dựng bản đồ giao thông đầu tiên của google được thu thập thông qua hệ thống các thiết bị cảm biến trên các trục đường ch nh được lắp đặt bởi chính quyền thành phố hay các công ty tư nhân nghiên cứu về giao thông vận tải
Đến năm 2009, Google Traffic được nâng cấp lên với việc tích hợp nhiều nguồn dữ liệu giao thông khác nhau, trong đó nguồn dữ liệu từ thiết bị cầm tay sử dụng hệ điều hành Android và các thiết bị GPS trong phương tiện xe hơi và xe tải là chủ yếu Các thiết bị này cung cấp cơ sở dữ liệu về hành trình di chuyển cùng với các thông tin về hành trình như vị trí, tốc độ di chuyển… cho Google thông qua công nghệ GPS tích hợp trong thiết bị
Trang 23Với bản đồ giao thông này, người dùng có thể biết được tốc độ di chuyển của các phương tiện ở thời gian thực trên các trục đường thông qua các màu sắc được thể hiện trên bản đồ Có 0 màu ch nh được sử dụng trong bản đồ giao thông của google traffic [8 đó là:
- Xanh lá cây thể hiện đường thông thoáng, tốc độ di chuyển cao
- Màu cam thể hiện lưu lượng giao thông ở mức trung bình, phương tiện di chuyển ở tốc độ trung bình
- Màu đỏ thể hiện lưu lượng giao thông cao, xảy ra tình trạng ùn ứ giao thông, tốc độ di chuyển chậm Màu đỏ càng đậm, tốc độ di chuyển của phương tiện càng thấp
Hình 2-8: Bản đồ google traffic [9]
Ngoài việc cung cấp bản đồ giao thông ở thời gian thực thì ở phiên bản hiện tại, google traffic còn cung cấp chức năng dự báo tình hình giao thông trên các trục đường chính Quá trình dự báo này được dựa trên lịch sử dữ liệu của từng đoạn đường, do đó, d ng dữ liệu càng nhiều, thời gian lưu trữ dữ liệu càng lâu thì kết quả
dự báo càng ch nh xác nhưng ngược lại việc lưu trữ càng nhiều dữ liệu cũng càng làm tốn dung lượng bộ nhớ để lưu trữ
Trang 24Hình 2-9: Chức năng dự báo của google traffic [8]
Tuy nhiên, hiện tại google traffic mới chỉ cung cấp tình hình giao thông ở các thành phố lớn của khoảng 50 quốc gia trên thế giới và ở khu vực Đông Nam chỉ
có các thành phố lớn của 0 nước đó là Thái Lan, Malaysia, Indonesia, Singapore
và hiện vẫn chưa phát triển tại Việt Nam
VOV Bản đồ giao thông
2.6
VOV Bản đồ giao thông là ứng dụng cung cấp cho người dùng các thông tin
về tình hình giao thông trên một số điểm có lắp đặt hệ thống camera theo dõi giao thông và có dữ liệu được cung cấp từ người tham gia giao thông ở hai thành phố Hà Nội và thành phố Hồ Ch Minh Ứng dụng được xây dựng bởi VOV Giao thông Quốc gia phối hợp cùng Samsung Việt Nam và đưa vào sử dụng đầu năm 201
Cơ sở dữ liệu để xây dựng ứng dụng này được lấy từ hai nguồn, bao gồm (1)
dữ liệu từ hệ thống camera theo dõi giao thông lắp đặt trên đường và (2) dữ liệu đóng góp từ người tham gia giao thông trên các tuyến đường thông qua tổng đài trực tuyến của VOV Giao thông Các dữ liệu này được số hóa để cung cấp lên trên bản đồ nhằm thông báo về tình trạng giao thông cho người dùng
Trang 25
Hình 2-10: G ao d ện à c c chức năng của ứng dụng 10]
Một số chức năng ch nh của ứng dụng là:
- Là một bản đồ, tương tự như Google Maps
- Tìm đường đi giữa 2 địa điểm (bằng xe hơi, xe máy, đi bộ, xe buýt)
- Dẫn đường bằng giọng nói tiếng Việt
- Hiển thị những điểm đang bị ùn tắc trên đường
- Hiển thị các điểm có đặt camera giao thông, đồng thời xem trực tiếp nội dung của camera đó
- Hiển thị các trạm xe buýt
- Nghe radio với 2 đài VOVGT HN và VOVGT HCM
- Xem các tin tức và sự kiện có liên quan đến giao thông kèm theo vị trí xảy
ra sự cố (tai nạn)
- Lưu các địa điểm thường lui tới, ví dụ như nhà riêng, cơ quan, văn ph ng
để tìm đường nhanh mà không cần gõ lại địa chỉ
Trang 26Hình 2-11: Chức năng ca ra g ao th ng [10]
Hình 2-12: Chức năng t đường à h ển thị ến t [10]
Trang 27Điểm mạnh của ứng dụng này là cung cấp cho người dùng những hình ảnh thực tế về tình trạng giao thông tại các vị tr có đặt hệ thống camera, người dùng có thể chọn từng vị tr camera để xem hình ảnh về giao thông tại vị tr đó
Một trong những hạn chế của ứng dụng này đó là mặc dù nó được thiết kế để chạy trên hệ điều hành Android nhưng chỉ những thiết bị cầm tay của Samsung sử dụng hệ điều hành Android mới có thể sử dụng được ứng dụng Bên cạnh đó, tình trạng giao thông chỉ được cập nhật trên những điểm có camera giao thông hoặc được người tham gia giao thông thông báo nhưng số điểm đặt camera hiện chỉ có trên các trục đường lớn của hai thành phố trong khi vẫn chưa có biện pháp để đảm bảo mức độ ch nh xác của những thông báo của người tham gia giao thông về tình trạng giao thông Ngoài ra, dữ liệu từ hình ảnh giao thông và từ người dùng chưa được chưa thể tự động chuyển hóa thành các dữ liệu số để hiện lên bản đồ mà cần phải xử lý
Trang 28NỘI DUNG NGHIÊN CỨU Chương 3:
Cơ sở nghiên cứu
Giao diện lập trình ứng dụng (API - Application Programming Interface) là một giao diện mà một hệ thống máy tính hay ứng dụng cung cấp để cho phép các yêu cầu dịch vụ có thể được tạo ra từ các chương trình máy t nh khác và cho phép
dữ liệu có thể được trao đổi qua lại giữa chúng Hay cụ thể hơn, nó là một danh
sách các “phím tắt” có chứa các chức năng và cấu trúc biên soạn trước hoặc được
xác định trước, cho phép lập trình viên thực hiện công việc của họ dễ dàng hơn Có nhiều loại hệ thống và ứng dụng API, như các hệ thống đồ họa, cơ sở dữ liệu, mạng, dịch vụ web, hay một số tr chơi máy t nh
Đây là phần mềm hệ thống cung cấp đầy đủ các chức năng và các tài nguyên
mà các lập trình viên có thể rút ra từ đó để tạo nên các t nh năng giao tiếp giữa người và máy như: các trình đơn kéo xuống, tên lệnh, hộp hội thoại, lệnh bàn phím hay các cửa sổ Mỗi hệ điều hành, ứng dụng đều có những bộ API khác nhau Nó cung cấp cho người lập trình các hàm tương tác với cơ sở dữ liệu, lập trình thực hiện các thao tác với hệ điều hành hay phần mềm đó
Google Maps API là một phương thức cho phép một trang web hay một ứng dụng sử dụng dịch vụ bản đồ của Google Maps và nhúng vào trang web hay ứng dụng của mình Các ứng dụng xây dựng trên Google Maps được nhúng vào trang web hay ứng dụng cá nhân thông qua các thẻ javascripts do vậy việc sử dụng Google API khá dễ dàng
Trang 29Hiện tại Google Maps API đã được nâng cấp lên phiên bản thứ ba với nhiều
t nh năng nổi bật, đó là việc ngoài khả năng hỗ trợ các trang web nó còn có khả năng hỗ trợ cho các ứng dụng điện thoại Trong phiên bản thương mại của mình, Google Maps API cung cấp rất nhiều các dịch vụ vượt trội so với phiên bản miễn
ph như không giới hạn lượng người truy cập trang web hoặc ứng dụng, cung cấp thông tin chi tiết về mạng lưới giao thông như vận tốc quy định trên các tuyến đường, chiều rộng đường, … tuy vậy, đối với những ứng dụng hay trang web có phạm vi ứng dụng không lớn thì chỉ cần sử dụng phiên bản được cung cấp miển phí
là có thể đáp ứng được yêu cầu
Một số các dịch vụ cơ bản cung cấp miễn phí của Google Maps API bao gồm:
- Đánh dấu các địa điểm trên bản đồ cùng các thông tin cho địa điểm (hạn chế so với phiên bản thương mại): các khu vui chơi giải trí, nhà hàng khách sạn, các quán ăn …
- Chỉ dẫn đường đến các địa điểm cần tìm, chỉ dẫn đường giao thông công cộng, có thể là các địa điểm cung cấp như trên Ở đây sử dụng các dịch vụ
do google services cung cấp
- Khoanh vùng khu vực: các trung tâm kinh tế, khu đô thị, khu ô nhiễm…
- Tình trạng giao thông tại một số khu vực đô thị lớn trên thế giới…
Hệ thống GPS
3.1.2.
GPS là hệ thống Định vị Toàn cầu (tiếng Anh: Global Positioning GPS) xác định vị trí một đối tượng dựa trên vị trí của các vệ tinh nhân tạo, do Bộ Quốc phòng Hoa Kỳ thiết kế, xây dựng, vận hành và quản lý nhưng ch nh phủ Hoa
System-Kỳ cho phép mọi người trên thế giới sử dụng nó miễn phí.Nguyên lý xác định toạ
độ của hệ thống GPS dựa trên công thức quãng đường = vận tốc x thời gian Vệ
tinh phát ra các tín hiệu bao gồm vị trí, thời điểm phát tín hiệu Máy thu sẽ tính toán được khoảng cách từ các vệ tinh, giao điểm của các mặt cầu có tâm là các vệ tinh, bán kính là t ch của thời gian tín hiệu đi từ vệ tinh đến máy thu và vận tốc sóng điện
từ là toạ độ điểm cần định vị
Trang 30Cấu trúc của hệ thống GPS bao gồm ba phân vùng là phần không gian, phần điều khiển và phần người sử dụng
n ng g n là một hệ thống gồm 24 vệ tinh chuyển động trên các quỹ
đạo xung quanh trái đất Chúng cách mặt đất khoảng 20.200 km, bán kính quỹ đạo khoảng 26.600 km Chúng chuyển động ổn định và quay hai vòng quỹ đạo trong khoảng thời gian gần 24 giờ với vận tốc 7 nghìn dặm một giờ [ 11] Các vệ tinh trên quỹ đạo được bố trí sao cho các máy thu GPS trên mặt đất có thể nhìn thấy tối thiểu
4 vệ tinh vào bất kỳ thời điểm nào
Ph n đ ều khiển là để duy trì hoạt động của toàn bộ hệ thống GPS cũng như
hiệu chỉnh tín hiệu thông tin của vệ tinh hệ thống GPS Có tất cả 05 trạm quan sát với các chức năng là Giám sát và điều khiển hệ thống vệ tinh liên tục; Quy định thời gian hệ thống GPS; Dự đoán dữ liệu lịch thiên văn và hoạt động của đồng hồ trên
vệ tinh; và Cập nhật định kỳ thông tin dẫn đường cho từng vệ tinh cụ thể
Hình 3-1: Vị tr c c trạ an t của Phần đ ề h ển [12]
Ph n người sử dụng bao gồm các máy thu tín hiệu vệ tinh và phần mềm xử lý
tính toán số liệu Máy tính thu tín hiệu GPS có thể đặt cố định trên mặt đất hay gắn trên các phương tiện chuyển động như ô tô, máy bay, tàu biển, tên lửa, vệ tinh nhân
Trang 31tạo, điện thoại di động Tuỳ theo mục đ ch của các ứng dụng mà các máy thu GPS
có thiết kế cấu tạo khác nhau cùng với phần mềm xử lý và quy trình thao tác thu thập số liệu ở thực địa
Những chiếc điện thoại thông minh hiện nay hoạt động giống như một thiết bị thu GPS, thuộc phần người sử dụng, tức là nó thu các dữ liệu về vị tr từ các vệ tinh GPS trên bầu trời Tuy nhiên thiết bị di động chỉ có thể kết nối với các vệ tinh khi
nó được kết nối với dữ liệu internet Độ ch nh xác của về vị tr phụ thuộc vào nhiều yếu tố như độ mạnh của dữ liệu internet, độ ch nh xác của thiết bị điện thoại…
M chủ (Server)
3.1.3.
Máy chủ (Server) là một loại máy nhận, chuyển, hoặc lưu giữ các dữ liệu, chương trình bằng cách liên kết với các máy tính thông qua mạng internet Xét về bản chất thì máy chủ thực ra chỉ là một máy tính, hoặc kết hợp nhiều máy tính liên kết với nhiều máy tính khác hay những thiết bị kỹ thuật khác nhưng với những chức năng và cấu hình, tính chất khác lớn hơn máy t nh thông thường, dùng hệ điều hành riêng, nó dùng để làm trung tâm kết nối các máy tính trong một văn ph ng, công ty,
cơ quan lại với nhau… là nơi trao đổi dữ liệu, điều hành chung của mạng máy tính hay các ứng dụng điện thoại
Căn cứ theo phương pháp tạo thành, máy chủ được chia thành ba loại:
- Máy chủ riêng (Dedicated Server): là máy chủ chạy trên phần cứng và các thiết bị hỗ trợ riêng biệt gồm: HDD, CPU, RAM, Card mạng,… Việc nâng cấp hoặc thay đổi cấu hình của máy chủ riêng đ i hỏi phải thay đổi phần cứng của máy chủ
- Máy chủ ảo (Virtual Private Server – VPS): là dạng máy chủ được tạo thành bằng phương pháp sử dụng công nghệ ảo hóa để chia tách từ một máy chủ riêng thành nhiều máy chủ ảo khác nhau Các máy chủ ảo có t nh năng tương tự như một máy chủ riêng, nhưng chạy chia sẻ tài nguyên từ máy chủ gốc Việc nâng cấp hoặc thay đổi cấu hình của máy chủ ảo rất đơn giản, có
Trang 32thể thay đổi trực tiếp trên phần mềm quản lý hệ thống Tuy nhiên việc thay đổi máy chủ ảo phụ thuộc và bị giới hạn bởi tài nguyên của máy chủ gốc
- Máy chủ đám mây Cloud Server : là máy chủ được kết hợp nhiều từ máy chủ gốc khác nhau cùng với hệ thống lưu trữ với tốc độ truy xuất vượt trội giúp máy chủ hoạt động nhanh, ổn định Máy chủ đám mây được xây dựng trên nền công nghệ điện toán đám mây nên dễ dàng nâng cấp từng phần thiết bị trong quá trình sử dụng mà không làm gián đoạn quá trình sử dụng máy chủ
Nếu server là một chiếc máy t nh chuyên dụng làm nhiệm vụ của máy chủ thì hosting là không gian trên máy chủ có cài dịch vụ Internet như ftp,www… ở đó người dùng có thể chứa nội dung trang web, nội dung ứng dụng điện thoại hay dữ liệu Đây đồng thời cũng là nơi diễn ra tất cả các hoạt động giao dịch, trao đổi thông tin giữa người sử dụng và website hay ứng dụng Một server có thể có một hosting máy chủ riêng biệt hoặc nhiều hosting (shared hosting)
Như vậy, server là một phần không thể thiếu trong việc thiết kế một trang web hay một ứng dụng có chia sẻ dữ liệu Tuy nhiên, tùy theo trường hợp cụ thể để lựa chọn loại server khác nhau cho phù hợp, có thể chọn loại server riêng biệt hoặc cũng có thể chỉ cần một hosting
Phần mềm Eclipse
3.1.4.
Eclipse là phần mềm miễn ph , được các nhà phát triển sử dụng để xây dựng những ứng dụng Sử dụng Eclipse, nhà phát triển có thể tích hợp với nhiều công cụ
hỗ trợ khác để có được một bộ công cụ hoàn chỉnh mà không cần dùng đến phần
mềm riêng nào khác Eclipse SDK bao gồm 3 phần chính: Platform, Java
Development Toolkit (JDT), Plug-in Development Environment (PDE) Với
JDT, clipse được xem như là một môi trường hỗ trợ phát triển Java mạnh mẽ PDE
hỗ trợ việc mở rộng Eclipse, tích hợp các Plug-in vào Eclipse Platform Eclipse
Platform là nền tảng của toàn bộ phần mềm Eclipse, mục đ ch của nó là cung cấp những dịch vụ cần thiết cho việc tích hợp những bộ công cụ phát triển phần mềm
Trang 33khác dưới dạng Plug-in, bản thân JDT cũng có thể được coi như là một Plug-in làm
cho Eclipse như là một Java IDE (Integrated Development Enviroment)
Hình 3-2: G ao d ện phần ề c p
Về bản chất clipse là môi trường phát triển tích hợp được phát hành miễn phí
để lập trình Java do IBM và một số công ty khác lập nên Hiện tại, Eclipse không chỉ cung cấp môi trường tích hợp phát triển cho Java mà còn hỗ trợ cho các ngôn ngữ khác như JavaScript, PHP, Python, C, C++, C#, HTML, XML Nhằm phục vụ cho nhiều đối tượng người dùng, clipse đã được nâng cấp và được sử dụng tốt ở cả
hệ điều hành Windows, Linux và Mac
Nền tảng của clipse được xây dựng nhằm đáp ứng những yêu cầu cơ bản sau:
- Cho phép người dùng lưu trạng thái của dự án và mở ra khi cần thiết
- Cho phép tạo dự án theo yêu cầu cụ thể và thiết lập môi trường làm việc
- Cho phép người dùng lựa chọn thành phần gắn thêm phù hợp với dự án
- Hỗ trợ cấu trúc nhiều loại thành phần gắn thêm cho phát triển ứng dụng
- Hỗ trợ công cụ thao tác với nhiều loại nội dung như HTML, Java, C, …
- Có thể chạy trên nhiều loại điều hành khác nhau như Windows, Linux…
- Hỗ trợ không giới hạn các nhà cung cấp công cụ bao gồm cả những người phát triển phần mềm độc lập
Trang 34Nộ d ng ngh n cứ
3.2
Quá trình nghiên cứu sẽ được thực hiện theo trình tự sau:
Hình 3-3: Sơ đồ nội dung nghiên cứu Thiết kế giao diện
3.2.1.
Thông qua phần mềm Eclipse, một ứng dụng android được đặt tên là ViTrafic
sẽ được thiết lập với các nền tảng mặc định đã được tích hợp sẵn, từ đó thiết kế những giao diện với các chức năng riêng cho ứng dụng Ứng dụng này sẽ được thiết
kế để hoạt động tối ưu trên những thiết bị sử dụng hệ điều hành Android 5.x.x nhằm
có thể sử dụng được những chức năng mới nhất của hệ điều hành này Các thiết bị
sử dụng Android 4.4.x trở lên cũng có thể sử dụng ứng dụng nhưng quá trình hoạt
động có thể sẽ không phát huy được hết các chức năng hoặc có thể một số chức năng trong ứng dụng sẽ hoạt động thiếu hiệu quả
Thiết kế giao diện
Thiết kế chức năng định vị,
vẽ hành trình di chuyển của người dùng và lưu trữ dữ liệu
Xây dựng hệ
thống lưu trữ dữ
liệu
Xây dựng bản đồ màu vận tốc từ cơ sở dữ liệu
So sánh với
dữ liệu thực
tế
Xây dựng chức năng tìm đường dựa trên cơ
Trang 35Về cơ bản, ứng dụng sẽ có ba giao diện ch nh theo ba chức năng của ứng dụng
là (1) Tracking - Ghi chép hành trình di chuyển của người dùng, (2) Traffic - Bản
đồ màu giao thông và (3) Direction - Tìm đường di chuyển có tốc độ lớn nhất Để chuyển đổi giữa các giao diện, người dùng chỉ cần lựa chọn vào các nút chức năng được đặt ở ph a trên đỉnh của mỗi giao diện
Các giao diện này là đều được phát triển trên bản đồ nền của Google Maps Để thể hiện được bản đồ Google Maps và các tiện ch được cung cấp miễn ph của Google Maps trên ứng dụng android thì cần phải đăng ký tên ứng dụng và nhận được mã cho phép của google, được gọi là “API key”, trên website
https://console.developers.google.com thông qua địa chỉ gmail của từng cá nhân
Mã này thường chứa 39 ký tự và là duy nhất cho mỗi ứng dụng, một địa chỉ gmail
có thể đăng ký cho nhiều ứng dụng khác nhau
Các giao diện của ứng dụng được thiết kế và có thể hiện như sau:
(1) G ao d ện Ghi chép hành tr nh d ch ển (Tracking) của ngườ d ng
Hình 3-4: Giao diện Ghi chép hành tr nh d ch ển
Trang 36Trong giao diện “Tracking” này, ngoài các tiện ch được cung cấp bởi Google như chức năng định vị vị tr người dùng, chức năng thu phóng thì tác giả đã xây dựng thêm một số nút chức năng khác phục vụ cho các mục tiêu nghiên cứu của đề tài, bao gồm:
- Start: Bắt đầu ghi chép hành trình đi lại của người dùng
- Stop: Dừng việc ghi chép hành trình
- Save Track: Lưu lại hành trình di chuyển vào máy điện thoại dưới dạng file KML cho phép người dùng có thể lưu lại, chia sẻ với bạn bè về hành trình mình đã di chuyển Để mở file này, người dùng bật nút chức năng của ứng dụng lên và nhấn vào dòng lệnh Load KML file
Hình 3-5: Chức năng tải lộ tr nh đã ư (2) G ao d ện Bản đồ à g ao th ng (Traffic)
Như đã giới thiệu ở trên, giao diện này cũng được xây dựng trên nền Google Maps có chứa hai t nh năng cơ bản là định vị và thu phóng nhưng có chứa thông tin
về tình hình giao thông ở thời gian thực
Trang 37Hình 3-6: G ao d ện Bản đồ à g ao th ng (3) G ao d ện t đường đ (Direction) có vận tốc di chuyển nhanh nhất
Hình 3-7: G ao d ện T đường
Giao diện này được thiết kế với các khoảng trống để người dùng có thể nhập địa chỉ nơi đi và nơi đến trong hành trình di chuyển của mình
Trang 38Ứng dụng được thiết kế mặc định kết quả tìm kiếm sẽ là lộ trình di chuyển có vận tốc di chuyển nhanh nhất, tuy nhiên người sử dụng cũng có thể chọn Using Google Direction để tìm lộ trình có quãng đường di chuyển ngắn nhất
Dữ liệu về GPS
Vị trí, thời gian, vận tốc, màu sắc
Trang 39thành dữ liệu dạng JSON trước khi tải lên server thông qua phương thức GET phương thức gửi thông tin) của PHP Hình thức lưu dữ liệu trên server được quản
lý dưới dạng quản trị cơ sở dữ liệu MySQL
ile JSON Javascript Ob ect Notation là một dạng dữ liệu được định dạng theo một quy luật đơn giản nhất mà hầu hết các ngôn ngữ lập trình hiện nay đều có thể đọc và ghi chép được
Việc xuất file dữ liệu từ cơ sở dữ liệu sang dạng JSON làm dữ liệu đầu vào cho việc vẽ và hiện thị bản đồ màu giao thông là nhằm để tăng tốc độ xử lý để hiện thị dữ liệu cho ứng dụng
Hình 3-10: Minh họa một đoạn dữ liệ ư dưới dạng JSON
Quá trình lưu trữ dữ liệu
Hệ thống lưu trữ dữ liệu của ứng dụng là nơi lưu trữ toàn bộ dữ liệu được gửi
về từ quá trình ghi dữ liệu của người dùng
Trang 40Để tiện cho quá trình lưu trữ, xử lý và quản lý thông tin, dữ liệu sẽ được lưu trên hai nguồn Nguồn thứ nhất được lưu trên máy chủ đám mây để thực hiện lưu trữ tạm thời và xử lý các chức năng liên quan đến ứng dụng Nguồn thứ hai được lưu trên công cụ phpMyAdmin để lưu trữ lâu dài và quản lý dữ liệu
Trong nghiên cứu này, máy chủ đám mây cloud server được sử dụng là Red
Hat Cloud hay c n được gọi là dịch vụ nền tảng điện toán đám mây OpenShift Và
phiên bản sử dụng là phiên bản miễn phí Đây là một dịch vụ có thể tương th ch với nhiều loại ngôn ngữ lập trình khác nhau như PHP, Java, Python… Máy chủ đám mây của dịch vụ này được cấu tạo để hoạt động tương tự như máy chủ ảo (VPS),
do đó, nó có t nh ổn định rất cao so với các loại máy chủ đám mây miễn phí khác và cho phép người dùng có thể tùy chỉnh những ứng dụng được cài đặt dựa trên nền tảng của nó
Mặc dù dịch vụ này chỉ cho phép lưu trữ dữ liệu tức thời tối đa là 1GB nhưng
so với phạm vi và nội dung trong nghiên cứu của tác giả thì nó hoàn toàn vẫn phù hợp và có khả năng hoạt động tốt Tuy nhiên, nếu muốn đưa ứng dụng ra sử dụng rộng rãi thì cần phải thay đổi sang việc sử dụng những máy chủ có trả phí hoặc nâng cấp máy chủ hiện tại để tăng tốc độ xử lý cũng như dung lượng lưu trữ cho ứng dụng
Hình 3-11: Giao diện của máy chủ đ â Op n h ft