ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
Nguyễn Văn Thịnh
TRỰC QUAN HOÁ TRẠNG THÁI
GIAO THÔNG HÀ NỘI TRÊN NỀN BẢN ĐỒ SỐ
LUẬN VĂN THẠC SỸ
CHUYÊN NGÀNH KHOA HỌC MÁY TÍNH
THÁI NGUYÊN - 2015
ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
Nguyễn Văn Thịnh
TRỰC QUAN HOÁ TRẠNG THÁI
GIAO THÔNG HÀ NỘI TRÊN NỀN BẢN ĐỒ SỐ
Chuyên ngành: Khoa học máy tính
Mã số: 60 48 0101
LUẬN VĂN THẠC SỸ
CHUYÊN NGÀNH KHOA HỌC MÁY TÍNH
Giáo viên hướng dẫn: TS. Nguyễn Ngọc Hóa
THÁI NGUYÊN - 2015
LỜI CẢM ƠN
Trong quá trình học tập và hoàn thành luận văn tốt nghiệp, tôi đã nhận được rất
nhiều sự giúp đỡ, động viên nhiệt tình từ thầy cô, gia đình và bạn bè. Và đó đã trở
thành một nguồn động lực lớn giúp tôi có thể thực hiện được luận văn nghiên cứu
được giao. Với tất cả sự cảm kích và trân trọng, tôi xin được gửi lời cảm ơn sâu sắc
đến tất cả mọi người.
Tôi xin bày tỏ sự cám ơn đặc biệt tới thầy TS Nguyễn Ngọc Hóa, người đã định
hướng cho tôi trong lựa chọn đề tài luận văn, đưa ra những nhận xét quý giá và trực
tiếp hướng dẫn tôi trong suốt quá trình nghiên cứu và hoàn thành luận văn tốt nghiệp.
Tôi xin cảm ơn các thầy cô trong Trường Đại học Công Nghệ Thông Tin và
truyền thông – Đại học Thái Nguyên đã dạy bảo tận tình cho tôi trong suốt khoảng
thời gian học tập tại trường.
Xin được gửi lời cảm ơn sâu sắc nhất tới gia đình của mình, nguồn động viên
và cổ vũ lớn lao và là động lực giúp tôi thành công trong công việc và trong cuộc
sống.
Cuối cùng, xin cảm ơn tập thể lớp cao học CNTT K12E và đặc biệt những
người bạn tốt đã ở bên tôi, khuyến khích, động viên tôi và cho tôi những lời khuyên
chân thành trong cuộc sống và học tập.
Xin trân trọng cảm ơn!
i
Thái Nguyên, ngày 25 tháng 08 năm 2015 Học viên Nguyễn Văn Thịnh
LỜI CAM ĐOAN
Tôi xin cam đoan kết quả đạt được trong luận văn là sản phẩm của riêng cá nhân
tôi. Những điều được trình bày trong toàn bộ nội dung của luận văn, hoặc là của cá
nhân hoặc là được tổng hợp từ nhiều nguồn tài liệu. Tất cả các tài liệu tham khảo đều
có xuất xứ rõ ràng và được trích dẫn hợp pháp.
Tôi xin hoàn toàn chịu trách nhiệm theo quy định cho lời cam đoan của mình.
ii
Thái Nguyên, ngày 25 tháng 08 năm 2015 Học viên Nguyễn Văn Thịnh
MỤC LỤC
LỜI CẢM ƠN..................................................................................................... i
LỜI CAM ĐOAN .............................................................................................. ii
MỤC LỤC ......................................................................................................... ii
DANH MỤC CÁC HÌNH VẼ ............................................................................ v
DANH MỤC BẢNG BIỂU .............................................................................. vi
LỜI MỞ ĐẦU .................................................................................................... 1
CHƯƠNG 1: KHÁI QUÁT VỀ TRỰC QUAN HOÁ VÀ BÀI TOÁN TRỰC QUAN HÓA TRẠNG THÁI GIAO THÔNG HÀ NỘI .................................... 2
1.1. Khái quát trực quan hóa ........................................................................... 2
1.1.1. Trực quan hóa ................................................................................... 2
1.1.2. Trực quan hóa dữ liệu ....................................................................... 6
1.1.3. Trực quan hóa dữ liệu biểu diễn trạng thái giao thông .................. 18
1.2. Bài toán trực quan Hóa trạng thái giao thông Hà Nội ........................... 29
1.2.1. Bối cảnh hệ thống giao thông hiện nay của nước ta .......................... 29
1.2.2. Bài toán trực quan hóa trạng thái hóa giao thông Hà Nội trên nền bản
đồ số ........................................................................................................ 30
1.2.3. Mô hình trực quan hóa trạng thái giao thông ..................................... 31
1.2.4. Mô hình kiến trúc hệ thống giải pháp trực quan hoá trạng thái giao
thông ........................................................................................................ 33
CHƯƠNG 2: MỘT SỐ HỖ TRỢ TRỰC QUAN HÓA TRẠNG THÁI GIAO THÔNG HÀ NỘI TRÊN NỀN BẢN ĐỒ SỐ ................................................. 34
2.1.Kỹ thuật và thuật toán ứng dụng trực quan hóa trạng thái giao thông ... 34
2.1.1. Heatmap trực quan hóa tình trạng trên tuyến đường giao thông . 34
2.1.2. Xây dựng biểu đồ thống kê dữ liệu trạng thái giao thông ........... 40
iii
2.1.3. D3JS ............................................................................................. 41
2.1.4. Vẽ đồ họa thực hiện trực quan hóa ................................................. 43
2.2. Giải pháp trong quá trình triển khai ...................................................... 46
2.2.1. Kết hợp Leaflet và Heatmap ........................................................... 46
2.2.2. Thao tác với dữ liệu dạng GeoJSON .............................................. 46
2.2.3. Kết nối cơ sở dữ liệu ....................................................................... 47
2.2.4. Cập nhật dữ liệu thời gian thực ...................................................... 47
2.3. Công cụ hỗ trợ trực quan hoá trạng thái giao thông .............................. 47
2.3.1. Google Maps ................................................................................... 47
2.3.2. Google Maps API ........................................................................... 47
2.3.3. PostgreSQL/PostGIS ...................................................................... 48
2.3.4. Apache ............................................................................................ 50
2.3.5. Leaflet ............................................................................................. 51
CHƯƠNG 3: THỰC NGHIỆM VÀ ĐÁNH GIÁ HỆ THỐNG TRỰC QUAN
HÓA TRẠNG THÁI GIAO THÔNG HÀ NỘI ................................................ 52
3.1. Phân tích thiết kế hệ thống .................................................................... 52
3.1.1. Kiến trúc hệ thống .......................................................................... 52
3.1.2. Chức năng hệ thống ........................................................................ 53
3.1.3. Lược đồ cơ sở dữ liệu ..................................................................... 55
3.2. Xây dựng ứng dụng và thử nghiệm ....................................................... 60
3.2.1. Môi trường ứng dụng ...................................................................... 60
3.2.2. Dữ liệu thử nghiệm ......................................................................... 60
3.3. Kết quả thử nghiệm ............................................................................... 61
3.4. Đánh giá ................................................................................................. 65
KẾT LUẬN ...................................................................................................... 66
iv
TÀI LIỆU THAM KHẢO ................................................................................ 68
DANH MỤC CÁC HÌNH VẼ
Hình 1.1: Trực quan hóa khoa học mô phỏng sự bất ổn định Raleigh-Taylor bởi
sự hòa trộn giữa 2 chất lưu. ......................................................................................... 3
Hình 1.2 : Trực quan hóa dữ liệu là một trong các bước trong phân tích và trình diễn dữ liệu. ................................................................................................................. 7
Hình 1.3: Mô hình khái niệm của trực quan hóa ............................................. 10
Hình 1.4: Vai trò của mô hình dữ liệu trong phần mềm trực quan hóa .......... 10
Hình 1.5: Sơ đồ mô tả mô hình tham khảo trực quan hóa thông tin ............... 11
Hình 1.6: Một trực quan hóa dữ liệu mạng xã hội ........................................... 13 Hình 1.7: Bản chất của trực quan hóa dựa vào đánh giá mối quan hệ giữa 3
thành phần. ................................................................................................................ 15
Hình 2.1: Mô hình trực quan hóa trạng thái giao thông ................................... 31
Hình 2.2: Mô hình kiến trúc hệ thống WebGIS ............................................... 33
Hình 2.3 : kết quả hiển thị các điểm trên bản đồ .............................................. 36
Hình 2.4 : Kết quả vẽ theo phương pháp “đóng hộp” ...................................... 36 Hình 2.5 : Kết quả vẽ theo phương pháp mật độ nhân ..................................... 38
Hình 2.6 : Tập các điểm biểu diễn trên tuyến đường ....................................... 39
Hình 2.7 : Luật vẽ trực giao ............................................................................. 44
Hình 3.1: Mô hình kiến trúc ............................................................................. 52
Hình 3.2 : Sơ đồ áp dụng mô hình trực quan hóa............................................. 54
Hình 3.3: Lược đồ cơ sở dữ liệu ....................................................................... 56
Hình 3.4: Màn hình chương trình thử nghiệm ................................................. 62
Hình 3.5: Biểu đồ tổng hợp trạng thái giao thông theo thời điểm.................... 63
Hình 3.6: Biểu đồ tổng hợp trạng thái giao thông theo ngày ........................... 63
v
Hình 3.7: Biểu đồ tổng hợp trạng thái giao thông theo tuần ............................ 64 Hình 3.8: Biểu đồ tổng hợp trạng thái giao thông theo tháng .......................... 64 Hình 3.9: Trực quan trạng thái giao thông trên bản đồ theo thời điểm chọn ... 65
DANH MỤC BẢNG BIỂU
Bảng 3.1: Trường dữ liệu thông tin trạng thái giao thông ............................... 57 Bảng 3.2: Trường dữ liệu thông tin tuyến đường giao thông .......................... 58
Bảng 3.3: Trường dữ liệu thống kê trạng thái giao thông theo ngày ............... 58 Bảng 3.4: Trường dữ liệu thống kê trạng thái giao thông theo tuần ................ 59
Bảng 3.5: Trường dữ liệu thống kê trạng thái giao thông theo tháng .............. 59
vi
Bảng 3.6: Trường dữ liệu thống kê trạng thái giao thông theo năm ................ 60
LỜI MỞ ĐẦU
Giao thông là một vấn đề quan trọng, trong đó ùn tắc giao thông vẫn là vấn đề
“nóng” của các đô thị lớn, để giải quyết tình trạng ùn tắc giao thông trên địa bàn Hà
Nội, ngành giao thông cần đẩy mạnh việc ứng dụng CNTT một cách tổng thể. Đó là
các giải pháp thu thập thông tin giao thông; quy hoạch, điều tiết đường sá; điều khiển
giao thông; xác định lưu lượng và cung cấp thông tin giao thông tới người tham gia
giao thông, cảnh báo sớm cho người tham gia giao thông về tình trạng ùn tắc tại các
tuyến phố, để người dân chủ động thay đổi phương tiện, hướng đi trên đường …
Thực trạng đó chính là động lực chính để em chọn đề tài luận văn là “Trực quan
hoá trạng thái giao thông Hà Nội trên nền bản đồ số” để thực hiện luận văn Cao học.
Trong luận văn nghiên cứu mã số 01C-04/08-2014-2 của Sở KH-CN Hà Nội về
“Hệ thống thông tin trạng thái giao thông thành phố Hà Nội: Thực trạng và giải pháp”,
xây dựng thu thập và cung cấp thông tin trạng thái giao thông của một số tuyến phố
chính Hà Nội. Dựa vào những kết quả thu thập được dữ liệu trạng thái giao thông Hà
Nội từ các nguồn khác nhau (từ VOV giao thông, từ cộng đồng, từ các hệ thống
camera giám sát giao thông, …).
Với mục tiêu của cụ thể cần làm là ta hiển thị bản đồ các tuyến đường giao thông
Hà Nội dựa trên nền bản đồ số, trên bản đồ này trực quan hình ảnh giao thông thời
gian thực và hiển thị biểu đồ thống kê các mức độ tắc nghẽn giao thông tại các thời
điểm. Từ đó cho phép người tham gia giao thông, cán bộ quản lý giao thông đô thị,…
có thể quan sát, nắm bắt phân tích được một cách đầy đủ và dễ hình dung, dễ đánh
giá, so sánh trạng thái các điểm nóng giao thông trong thành phố.
Nội dung luận văn được trình bày trong các chương chính sau:
Chương 1 – Khái quát về Trực quan hóa và bài toán trực quan hóa trạng thái
giao thông Hà Nội
Chương 2 - Một số hỗ trợ trực quan hóa trạng thái giao thông Hà Nội trên nền
bản đồ số
Chương 3 - Thực nghiệm và đánh giá hệ thống Trực quan hóa trạng thái giao
1
thông Hà Nội
CHƯƠNG 1: KHÁI QUÁT VỀ TRỰC QUAN HOÁ VÀ BÀI TOÁN TRỰC QUAN HÓA TRẠNG THÁI GIAO THÔNG HÀ NỘI
1.1. Khái quát trực quan hóa
1.1.1. Trực quan hóa
Trực quan hóa (visualization) là kỹ thuật tạo ra những hình ảnh, biểu đồ để
diễn tả thông điệp. Trực quan hóa nghiên cứu trình bày một cách trực quan, tương tác
khối dữ liệu trừu tượng để tăng cường nhận thức của con người. Trực quan hóa thông
qua những hình tượng trực quan đã diễn tả những ý tưởng trừu tượng và cụ thể từ
thủa sơ khai của loài người. Những ví dụ trong lịch sử như những hình vẽ trong hang
động, chữ tượng hình Ai Cập, hình học Hi Lạp và những phương pháp mang tính
cách mạng của những bản vẽ kỹ thuật dành cho mục tiêu khoa học và công nghệ của
Leonardo da Vinci [4].
Ngày nay, trực quan hóa đã mở rộng ứng dụng trong các ngành khoa học, đào
tạo, công nghệ, môi trường tương tác, dược, .... điển hình của ứng dụng trực quan hóa
là sử dụng đồ họa máy tính. Việc phát minh ra đồ họa máy tính có thể là sự phát triển
quan trọng nhất của trực quan hóa kể từ khi phát minh ra cách phối cảnh trung tâm
từ thời kỳ Phục Hưng. Và sự phát triển của animation cũng giúp gia tăng trực quan
hóa.
Việc sử dụng trực quan hóa để biểu diễn dữ liệu không phải là hiện tượng mới.
Nó đã được sử dụng trong bản đồ, bản vẽ khoa học, những sơ đồ dữ liệu từ hàng ngàn
năm trước. Đồ họa máy tính ngay từ khi ra đời đã được sử dụng để nghiên cứu các
vấn đề khoa học. Tuy nhiên, trong những ngày đầu sự thiếu năng lực đồ họa đã hạn
chế lợi ích của chúng. Tầm quan trọng của trực quan hóa như hiện nay bắt đầu từ năm
1987 khi xuất bản cuốn “Visualization in Scientific Computing, a special issue of
Computer Graphics”. Từ đó đã có vài hội nghị, hội thảo đã được bảo trợ bởi IEE
Computer Society và ACM SIGGRAPH dành cho những chủ đề thông thường và
2
những lĩnh vực đặc biết như trực quan hóa khối lượng.
Hầu hết mọi người thấy gần gũi với những hoạt họa số được sinh ra để biểu diễn
dữ liệu khí tượng trong những bản tin thời tiết trên tivi, qua đó có thể phân biệt giữa
những mô hình thực tế với những ảnh vệ tinh được thể hiện trong chương trình. Trên
TV cũng thường có những trực quan hóa khoa học như thể hiện hoạt động của máy
tính, hay những sự tái hiện hoạt động của phố xá hoặc những tai nạn máy bay, hay là
những hoạt động của tàu vũ trụ. Một dạng động khác của trực quan hóa là những hoạt
họa giáo dục hoặc những biểu diễn theo thời gian có khả năng làm nổi bật sự hiểu
biết về hệ thống biến đổi theo thời gian.
Trực quan hóa khoa học thường được thực hiện bởi những phần mềm chuyên
biệt. Một số phần mềm chuyên biệt đó được phát hành dưới dạng mã mở và thường
là bắt nguồn từ các trường đại học, trong môi trường học thuật thì việc chia sẻ công
cụ phần mềm và cho phép sử dụng mã nguồn là bình thường. Bên cạnh đó, cũng có
nhiều phần mềm bản quyền trực quan hóa khoa học.
Hình 1.1: Trực quan hóa khoa học mô phỏng sự bất ổn định Raleigh-Taylor bởi
sự hòa trộn giữa 2 chất lưu.
Trực quan hóa khoa học (Scientific visualization)
Trực quan hóa khoa học là sự biến đổi, lựa chọn và biểu diễn dữ liệu từ
thử nghiệm hoặc mô phỏng với cấu trúc hình học tuyệt đối hoặc rõ ràng để cho
phép khảo sát, phân tích và hiểu dữ liệu. Trực quan hóa khoa học quan tâm và
3
nhấn mạnh sự biểu diễn dữ liệu và sử dụng chủ yếu là kỹ thuật đồ họa và hoạt
họa. Phần quan trọng nhất của trực quan hóa khoa học là biểu diễn trực quan
các thí nghiệm và hiện tượng như nó đã xảy ra. Những khu vực truyền thống
của trực quan hóa khoa học là: trực quan hóa dòng chảy, y khoa, thiên văn,
hóa học
Trực quan hóa thông tin (Information visualization)
Trực quan hóa thông tin tập trung những công cụ máy tính hỗ trợ để
khảo sát lượng lớn dữ liệu trừu tượng. Cụm từ “information visualization” bao
hàm lựa chọn, định dạng và biểu diễn dữ liệu theo dạng dễ hiểu và tham khảo
cho người sử dụng. Điều quan trọng trong trực quan hóa thông tin là cường độ
trực quan và tính tương tác. Những công nghệ mạnh mẽ cho phép người sử
dụng thay đổi trực quan trong thời gian thực tạo ra khả năng tuyệt vời cảm
nhận về nguyên mẫu và mối quan hệ cấu trúc với dữ liệu trừu tượng ban đầu.
Trực quan hóa giáo dục (Educational visualization)
Trực quan hóa giáo dục ít khi sử dụng bộ giả lập mà thường tạo trước
ở máy tính các hình ảnh về cái gì đó để phục vụ cho giáo dục. Nó rất hữu ích
khi dạy những chủ đề khó như cấu trúc nguyên tử bởi vì nguyên tử quá nhỏ để
nghiên cứu dễ dàng mà không tốn kém và rất khó có điều kiện để sử dụng
những trang bị kỹ thuật cao cấp khi nghiên cứu
Trực quan hóa tri thức (Knowledge visualization)
Là sử dụng biểu diễn trực quan hóa để chuyển đổi tri thức giữa ít nhất
2 người để cải thiện cách thức truyền tri thức bằng cách sử dụng các phương
thức trực quan hóa sử dụng máy tính và không sử dụng máy tính bổ sung nhau.
Một số định dạng trực quan như: trực quan hóa bằng bảng phác thảo, biểu đồ,
hình ảnh, đối tượng, tương tác, các ứng dụng trực quan hóa thông tin và trực
quan hóa ảo.
Trực quan hóa sản phẩm (Product visualization)
Trực quan hóa sản phẩm bao gồm các công nghệ phần mềm trực quan
để quan sát và vận hành mô hình 3D, bản vẽ kỹ thuật và những tài liệu liên
4
quan khác của các thành phần sản xuất và khối lượng lớn các sản phẩm. Đó là
một phần chủ chốt trong quản lý vòng đời sản phẩm. Phần mềm trực quan hóa
sản phẩm điển hình cung cấp hình ảnh thực cấp độ cao của sản phẩm đó trước
khi sản xuất. Mục đích của chức năng này xuyên suốt từ thiết kế và tạo kiểu
dáng đến bán hàng và tiếp thị. Trực quan hóa sản phẩm là một hướng quan
trọng của quá trình phát triển sản phẩm.
Truyền thông trực quan (Visual communication)
Truyền thông trực quan là phương pháp truyền những ý tưởng thông
qua hiển thị trực quan thông tin. Căn bản nó liên quan đến ảnh 2 chiều, nó bao
gồm: chữ và số, nghệ thuật, ký hiệu và các tài nguyên điện tử. Nghiên cứu hiện
nay hướng đến thiết kế web và tiện ích hướng đồ họa.
Phân tích trực quan (Visual analytics)
Phân tích trực quan tập trung vào sự tương tác giữa con người với hệ
thống trực quan hóa như một phần của quá trình phân tích dữ liệu. Phân tích
trực quan được định nghĩa như là “môn khoa học phân tích được hỗ trợ bởi
giao diện tương tác trực quan”.
Trọng tâm của nó là sự trình bày thông tin trong không gian thông tin
lớn và thay đổi liên tục. Nghiên cứu phân tích trực quan tinh lọc những sự vận
hành thực tế và tri giác khiến cho người dùng xác định được những kết quả
định trước và khám phá những kết quả không định trước không không gian
thông tin phức tạp.
Để trình bày dữ liệu một cách hiệu quả, việc trực quan hóa dữ liệu nên:
- Hiển thị dữ liệu
- Tạo cho người xem có những suy nghĩ về chất hơn là về các phương pháp
luận, thiết kế đồ họa, công nghệ sản xuất đồ họa hay những thứ khác
- Tránh bóp méo dữ liệu
- Trình bày nhiều số trong một không gian nhỏ
- Làm dữ liệu lớn trở nên mạch lạc
- Kích thích mắt để so sánh các phần khác nhau của dữ liệu
5
- Trình bày dữ liệu chi tiết ở nhiều cấp độ, từ tổng quan đến chi tiết
- Được tích hợp chặt chẽ với các mô tả thống kê và lời nói của một tập dữ
liệu
1.1.2. Trực quan hóa dữ liệu
Trực quan hóa dữ liệu (data visualization hay data visualization) là một phân
nhánh của trực quan hóa với những thống kê được trình bày bằng đồ họa và các thông
tin địa lý hoặc dữ liệu không gian (như những bản đồ chuyên đề) được phân tán trong
các dạng biểu đồ.
Trực quan hóa dữ liệu được quan niệm bởi nhiều ngành lý thuyết tương đương
như một mô hình hiện đại của truyền thông trực quan. Nó không thuộc riêng một lĩnh
vực nào mà là sự giao thoa của nhiều ngành. Một số người quan niệm nó như một
nhánh hiện đại của thống kê mô tả, một số khác coi nó là công cụ phát triển lý thuyết
nền. Nó bao gồm sự sáng tạo và nghiên cứu phương thức trình diễn trực quan dữ liệu.
Mục tiêu chính của trực quan hóa dữ liệu là truyền thông tin rõ ràng và hiệu quả
cho người sử dụng thông qua đồ họa được lựa chọn như bảng biểu hoặc biểu đồ. Một
trực quan hóa hiệu quả giúp cho người dùng đưa ra các phân tích và luận điểm về dữ
liệu và luận cứ. Nó khiến dữ liệu phức tạp trở thành dễ hiểu và dễ sử dụng hơn. Người
sử dụng có thể có những động tác phân tích đặc biệt như tạo phép so sánh, nhân quả
và áp dụng thiết kế đồ họa (để hiển thị so sánh, nhân quả…). Bảng biểu thường được
dùng khi xem xét phép đo lường của một biến và các loại biểu đồ sẽ hiển thị kết quả
hoặc liên hệ với dữ liệu của một hay nhiều biến.
Trực quan hóa dữ liệu có cả tính khoa học và nghệ thuật. Tốc độ dữ liệu sinh ra
ngày càng lớn cùng với sự gia tăng của nền kinh tế phụ thuộc vào thông tin. Dữ liệu
được tạo bởi hoạt động internet và sự tăng khối lượng cảm biến môi trường như dữ
liệu vệ tinh và camera giao thông dẫn đến “Big Data”. Gia công, phân tích và liên kết
dữ liệu hiện có ở nhiều định dạng khác nhau là thách thức lớn cho trực quan hóa dữ
6
liệu.
a) Tổng quan.
Hình 1.2 : Trực quan hóa dữ liệu là một trong các bước trong phân tích và trình
diễn dữ liệu.
Trực quan hóa dữ liệu hướng đến những công nghệ sử dụng để truyền dữ liệu
hoặc thông tin bằng cách chuyển đổi chúng thành các đối tượng trực quan được trình
bày bằng đồ họa. Mục đích chính là làm cho thông tin rõ ràng và hiệu quả khi sử
dụng. Nó là một trong các bước trong phân tích dữ liệu hoặc khoa học dữ liệu. Theo
Friedman (2008) thì “Mục tiêu chính của trực quan hóa dữ liệu để làm thông tin rõ
ràng và hiệu quả thông qua phương tiện đồ họa. Nó không có nghĩa trực quan hóa dữ
liệu cần phải trông thật tẻ nhạt vì mục đích hiệu quả hay là trông thật phức tạp vì mục
đích làm đẹp. Để truyền tải tính hiệu quả thì thẩm mỹ và chức năng phải đi cùng nhau,
cung cấp cái nhìn vào bên trong khối dữ liệu phức tạp và rải rác bằng cách liên kết
các khía cạnh chính của nó bằng cách trực quan hơn. Do đó, người thiết kế thường
thất bại khi cố gắng đạt sự cân bằng giữa hình thức và chức năng, tạo nên sản phẩm
đẹp tuyệt vời nhưng lại không chứa đựng được mục tiêu chính của nó là truyền tải
thông tin”
Bởi vậy, Fernanda Viegas và Martin M. Wattenberg đã đề xuất một ý tưởng trực
quan hóa không chỉ là truyền tải thông tin rõ ràng mà còn khiến cho người xem chú
7
ý và chờ đợi.
Trực quan hóa dữ liệu liên hệ gần với trình bày dữ liệu bằng đồ họa, trực quan
hóa thông tin, trực quan hóa khoa học, phân tích khảo sát dữ liệu và thống kê đồ họa.
Trong thiên niên kỷ mới, trực quan hóa dữ liệu đa trở thành lĩnh vực năng động trong
nghiên cứu, giảng dạy và phát triển. Trực quan hóa dữ liệu đã liên kết trực quan hóa
khoa học và trực quan hóa thông tin.
Sơ đồ Charles Joseph Minard của Napoleon vào tháng Ba năm 1862 - một ví dụ đầu tiên của một đồ họa thông tin
b) Những đặc điểm hiển thị hiệu quả bằng đồ họa
Người sử dụng của hiển thị dữ liệu thực thi những công tác phân tích cụ thể như
tạo sự so sánh hay xác định nguyên nhân sự việc. Nguyên tắc thiết kế của hiện thị dữ
liệu bằng đồ họa là cân phải hỗ trợ các công tác phân tích đó. Nó tuân theo nguyên
tắc sau: Một thống kê trình bày bằng đồ họa xuất sắc bao gồm rất nhiều ý tưởng phức
tạp để truyền tải một cách đúng đắn, chính xác và hiệu quả. Hiển thị bằng đồ họa cần
phải:
- Hiển thị được dữ liệu
- Hiển thị thực chất dữ liệu hơn là phương pháp, thiết kế đồ hoạc hay công nghệ
xây dựng đồ họa.
- Tránh bóp méo ý nghĩa của dữ liệu
- Hiển thị nhiều chữ số trong không gian nhỏ
- Tạo sự liên kết trong khối dữ liệu lớn
8
- Khuyến khích thị giác so sánh giữa các phần dữ liệu
- Bộc lộ dữ liệu ở một vài cấp chi tiết, từ tổng quan tới cấu trúc tinh
- Phục vụ một mục đích rõ ràng vừa phải: Diễn tả, khảo sát, sắp xếp dữ liệu hoặc
biểu diễn, trang trí.
- Kết hợp chặt chẽ giữa thống kê với diễn tả bằng lời về khối dữ liệu.
1.1.2.1. Kiến trúc và mô hình trực quan hóa dữ liệu
a) Mô hình khái niệm [6,7]
Mặc dụ trực quan hóa đã thay đổi nhanh chóng trong những thế kỷ gần đây,
những công cụ và hệ thống hỗ trợ cho nó được phát triển đặc trưng hơn là được thiết
kế chính thức. Thêm vào đó, có 2 phương hướng trực quan hóa song hành nhau. Thứ
1 là do sự tăng trưởng dữ liệu kèm theo sự giảm giá của thiết bị phần cứng hỗ trợ;
Khi đó trực quan hóa thể hiện ở dạng quan trọng hơn trước kia đặc biệt là trong các
lĩnh vực ứng dụng. Tuy nhiên, công nghệ hỗ trợ thường không áp dụng được cho
nhiều ứng dụng. Xu hướng thứ 2 xuất phát từ sự dư thừa trong dữ liệu. Một cách tiếp
cận không định trước tiêu biểu không định trước được độ lớn và phức tạp của vấn đề.
Thay vì yêu cầu tính toán, sự truy cập dự liệu là trở ngại thông thường. Bước đầu tiên
để phân tích trực quan hóa thành các tập chuyển đổi có thể làm nổi bật những giới
hạn được xác định bằng mô hình khái niệm và phép phân loại phát triển.
- Mô hình dữ liệu: Biểu diễn sự hiển thị dữ liệu
- Mô hình người dùng: biểu diễn yêu cầu mà người dùng cần đáp ứng.
- Mô hình tương tác: Biểu diễn sự tương tác giữa người dùng và hệ thống trực
quan hóa.
- Mô hình tính toán: Biểu diễn công thức tính toán
- Mô hình truyền thông: Biểu diễn sự tương tác giữa các thành phần trong hệ
thống.
- Mô hình hiển thị: Biểu diễn kết quả thực thi các thuật toán biểu diễn dữ liệu.
Mặc dù ý tưởng này đã được đề xuất từ trước đây nhưng cũng có những giới
hạn khi chúng được xem như một tập các lớp. Hình bên trái thể hiện sự tương tác
giữa các lớp của một trực quan hóa điển hình được hiển thị bao gồm các mũi tên có
9
màu sắc khác nhau. Hình bên phải thể hiện rõ hơn vai trò của mô hình dữ liệu.
Hình 1.3: Mô hình khái niệm của trực quan hóa
Các mô hình dữ liệu
Mô hình dữ liệu là sự biểu diễn của dữ liệu, nó mô tả dữ liệu và cách sử
dụng dữ liệu. Như tại hình 1.4 thể hiện mô hình dữ liệu là lớp biểu diễn
logic và nằm ở giữa lớp biểu diễn vật lý và biểu diễn trực quan
Hình 1.4: Vai trò của mô hình dữ liệu trong phần mềm trực quan hóa
Trong trường hợp đặc biệt, lớp này cung cấp công cụ thông thường cho tất cả
ứng dụng cho định dạng dữ liệu, cung cấp siêu dữ liệu. tạo công thức, thực thi. Lớp
này cung cấp khả năng tính toán, phân tích và công cụ trực quan hóa, cung cấp hạ
tầng để truy cập và biểu diễn dữ liệu. Giống như một hệ thống quản lý dựa trên dữ
10
liệu, nó sẽ ở bên trên hệ điều hành và cho phép xây dựng các ứng dụng. Từ đó, mô
hình dữ liệu sẽ ẩn đằng sau hệ thống tính toán ở bên dưới để mô phỏng, phân tích và
trực quan hóa để người dùng tập trung vào nhận thức dữ liệu thông qua các cơ chế
thông thường để truy cập, sử dụng và trao đổi.
b) Mô hình tham khảo trực quan hóa thông tin
Mô hình tham khảo trực quan hóa thông tin là một kiến trúc phần mềm mẫu phá
vỡ quy trình trực quan hóa thành chuỗi các bước riêng rẽ, từ thu nhận dữ liệu và mô
hình hóa đến mã hóa trực quan dữ liệu thành sự biểu diễn các hiển thị tương tác. Quá
trình này được minh họa ở hình sau.
Hình 1.5: Sơ đồ mô tả mô hình tham khảo trực quan hóa thông tin
Dữ liệu nguồn được ánh xạ đến các bảng dữ liệu phía sau trực quan hóa. Những
bảng dữ liệu phía sau này sau đó được sử dụng để xây dựng trừu tượng trực quan của
dữ liệu, mô hình hóa các tính chất trực quan như vị trí, màu sắc, hình dáng,…Trừu
tượng trực quan này sau đó được dùng để tạo cái nhìn tương tác với dữ liệu, với người
sử dụng sự tương tác có khả năng thay đổi hiệu quả tại tất cả các mức của hệ thống.
- Bước đầu tiên là tập hợp dữ liệu nguồn để tiến hành trực quan. Chúng có thể
là bảng các hình, các đồ họa mạng xã hội, cấu trúc file hoặc bất kỳ tập dữ liệu nào
đó.
- Dữ liệu nguồn này sau đó được dùng để xây dựng các bảng dữ liệu, đó là
11
những đặc trưng bên trong của dữ liệu khi nó được trực quan. Tiến trình chuyển đổi
từ dữ liệu nguồn sang bảng dữ liệu có thể chỉ tập trung vào đọc dữ liệu ở file hoặc cơ
sở dữ liệu nhưng cũng có thể bao gồm cả chuyển đổi dữ liệu.
- Những bảng kết quả (cỏ thể biểu diễn cấu trúc dữ liệu theo hệ thống như biểu
đồ hoặc cây) sau đó được ánh xạ trực quan để tạo ra trừu tượng trực quan là một mô
hình dữ liệu bao gồm các đặc trưng trực quan như các lớp không gian, màu sắc, kích
thước, hình thể. Những trừu tượng trực quan này có nhiệm vụ chứa đầy đủ thong tin
cần thiết để biểu diễn trực quan dữ liệu.
- Hành động biểu diễn dữ liệu trong trừu tượng trực quan được thực hiện thông
qua tiến trình chuyển đổi quang cảnh, trong đó các thành phần biểu diễn sẽ vẽ ra nội
dung của trừu tượng trực quan thành các quang cảnh tương tác. Những quang cảnh
này có thể cung cấp những cách nhìn khác nhau của dữ liệu, ví dụ như cung cấp cách
di chuyển và zoom đến khu vực đặc biệt bằng cách sử dụng chuỗi các hiển thị nhỏ và
phức tạp để hiển thị các hình ảnh nhanh của dữ liệu thay đổi liên tục.
- Người sử dụng tương tác với trực quan hóa (thường thông qua đầu vào là chuột
và bàn phím) có thể phản hồi vào tiến trình này, gây ra sự thay đổi hoặc cập nhật bất
cứ trạng thái nào của trực quan hóa. Ví dụ như kéo một đối tượng, phóng đến một
quang cảnh hoặc mở một file dữ liệu khác.
Mô hình tham khảo trình bày ở trên khá giống với mẫu mô hình hiển thị điều
khiển (model-view-controller) thiết kế để thực thi giao diện người sử dụng.Mẫu này
phân chia thành phần giao diện người sử dụng thành:
- Một mô hình chứa những dữ liệu trả về
- Một hoặc nhiều hướng nhìn thể hiện nội dung của mô hình
- Bộ phận điều khiển cho phép người sử dụng bổ sung, cập nhập mô hình và
hướng nhìn theo đáp ứng.
Mô hình trực quan hóa tham chiếu này mở rộng mẫu thông thường bằng cách thêm
vào các mức. Những bảng dữ liệu chứa những mô hình dữ liệu cơ bản cho rất nhiều
loại trực quan hóa mà mỗi sự trừu tượng trực quan chưa một mô hình trực quan riêng
12
với hướng nhìn và điều khiển của chính nó.
c) Kiến trúc trình bày dữ liệu.
Hình 1.6: Một trực quan hóa dữ liệu mạng xã hội
Kiến trúc trình bày dữ liệu (Data presentation architecture - DPA) là tập các kỹ
năng hướng tới việc xác định, định vị, điều khiển, định dạng và biểu diễn dữ liệu theo
cách tối ưu hóa việc truyền tải ý nghĩa và kiến thức.
DPA được trình bày bởi Kelly Lautt như sau:” DPA là tập kỹ năng then chốt
cho thành công và giá trị của Kinh doanh thông minh (Business Intelligence). DPA
là sự kết hợp của số học, dữ liệu và thống kê để khám phá ra thông tin có giá trị từ dữ
liệu và khiến nó có thể sử dụng được, liên kết và tương tác với các hoạt động trực
quan hóa dữ liệu, truyền thông, tổ chức tâm lý và quản lý thay đổi nhằm cung cấp
giải pháp kinh doanh thông minh với xu hướng dữ liệu, tính toán thời gian phân phối,
định dạng và trực quan hóa sẽ trở thành sự hỗ trợ hiệu quả nhất và là phương thức,
chiến thuật và chiến lược hành xử cho mục tiêu doanh nghiệp hay tổ chức. DPA
không phải là IT hay tập kỹ năng kinh doanh mà nó tồn tại như một lĩnh vực chuyên
môn riêng.
Đối tượng
13
DPA có 2 đối tượng chính:
- Sử dụng dữ liệu để cung cấp kiến thức theo cách hiệu suất nhất có thể: ít nhiễu,
hoàn thiện và dữ liệu không cần thiết hoặc chi tiết được đưa vào nhóm theo sự cần
thiết và vai trò)
- Sử dụng dữ liệu để cung cấp kiến thức theo cách hiệu lực nhất có thể: Cung
cấp dữ liệu phù hợp, kịp thời và hoàn thiện nhất cho người dùng theo cách rõ ràng,
dễ hiểu nhất để truyền đạt những ý nghĩa quan trọng. Nó có thể hoạt động và giúp
cho hiểu biết, hành động và ra quyết định hiệu quả.
Phạm vi
Với những đối tượng ở trên, hoạt động thực tế của PDA bao gồm:
- Tạo cơ chế phân phát hiệu quả cho mỗi nhóm thành viên dựa trên vai trò,
nhiệm vụ, vị trí và truy cập công nghệ.
- Xác định ý nghĩa quan trọng của từng nhóm thành viên cần dựa trên ngữ cảnh.
- Xác định chu kỳ cần thiết để cập nhật dữ liệu
- Xác định chính xác thời gian trình bày dữ liệu
- Tìm được dữ liệu chính xác dữ liệu cần thiết
- Tận dụng phù hợp các phân tích, nhóm, trực quan hóa và các dạng trình diễn
khác.
1.1.2.2. Thiết kế trực quan hóa dữ liệu
Trực quan hóa dữ liệu dẫn đến việc trình bày một cách trực quan dữ liệu được
lựa chọn sẽ bao gồm:
- Thuật toán vẽ (có thể cho phép người dùng điểu chỉnh nhưng thường là được
sinh ra bởi các phương thức của máy tính).
- Dễ dàng sinh ra với dữ liệu khác nhau (cùng định dạng thì có thể sử dụng lại
để biểu diễn những tập dữ liệu khác nhau với tính chất cà số chiều tương tự)
- Thiếu tính thẩm mỹ
- Dữ liệu được làm giàu tương đối
Trực quan hóa dữ liệu ban đầu được thiết kế bởi con người nhưng sau đó được
vẽ theo thuật toán với các phần mềm vẽ đồ họa, đồ thị, sơ đồ. Điểm lợi của phương
14
pháp này là mối quan hệ để dễ dạng cập nhật hoặc sinh ra trực quan với dữ liệu mới.
Bộ 3 Designer-Reader-Data
Có thể hiểu trực quan hóa dữ liệu được hỗ trợ bởi bộ 3 giống như chiếc
ghế 3 chân gồm người thiết kế, người xem và dữ liệu. Mỗi bộ phận tác động
dựa trên vai trò của mình để tạo nên một trực quan hóa ổn định, hiệu quả.
Mỗi chân của chiếc ghế có mối liên hệ với 2 chiếc còn lại. Khi tính toán,
đánh giá được mức độ quan trọng của các mối quan hệ sẽ dẫn đến xác định
được dạng trực quan hóa cần sử dụng như thể hiện ở Hình dưới
Hình 1.7: Bản chất của trực quan hóa dựa vào đánh giá mối quan hệ giữa 3
thành phần.
Người thiết kế
Người thiết kế biết được mục tiêu cần đạt được của trực quan hóa và tạo ra trực
quan hóa vì những lý do đó. Có ý thức về động cơ, mục đích và sự ưu tiên sẽ giúp
người thiết kế tạo ra trực quan hóa thành công hơn là tạo một sự biểu diễn trực quan
dữ liệu đơn thuần.
Người đọc
Điểm ảnh hưởng thứ 2 là người đọc. Sự mong đợi tiếp thu của người đọc đóng
vai trò đặc biệt trong bộ 3 này, nó có thể là trợ thủ lớn nhất hay trở ngại lớn nhất hoặc
15
cả 2 trong quá trình thực hiện mục tiêu truyền thông rõ ràng.
Dữ liệu
Điểm ảnh hưởng thứ 3 tác động đến thiết kế trực quan hóa là dữ liệu. Trực quan
hóa tốt nhất là thể hiện được đặc điểm thú vị của tập dữ liệu ta làm việc. Dữ liệu khác
nhau yêu cầu những phương thức, cách giải mã, kỹ thuật hiển thị khác nhau để thể
hiện đặc điểm của nó. Trong khi những dạng thức trực quan hóa mặc định chiếm vị
trí đặc biệt và có thể xảy ra với thiết kế đúng được chọn trước, đôi khi dữ liệu lại cung
cấp tri thức mới khi phương thức hoặc dạng thức trực quan hóa khác được sử dụng.
Cách ta chọn dạng thức trực quan hóa thể hiện khía cạnh tốt nhất của dữ liệu là
phải có hiểu biết về dữ liệu, tôn trọng dữ liệu. Thay vì cố gắng chuyển về định dạng
phù hợp thì hãy cân nhắc đến giá trị vốn có, quan hệ và cấu trúc của dữ liệu. Những
câu hỏi điển hình bao gồm:
- Hệ thống là gì? (time-series, hierarchy, …)
- Có bao nhiêu chiều cần thể hiện? Những chiều nào là quan trọng nhất?
- Kiểu liên kết là gì?
- Các biến hoạt động thế nào?
- Giá trị có thể phân đoạn? Liên tục hay không liên tục? Có tuyến tính hay
không? Giới hạn như thế nào?
- Có bao nhiêu phân đoạn cần thể hiện?
Sự hiểu biết về hình dạng của dữ liệu sẽ dẫn đến quyết định thiết kế chính
xác. Mỗi quan hệ liên quan và tính chất của dữ liệu cần được giải mã với một
tính chất trực quan phù hợp; Đặc điểm của mỗi chiều dữ liệu dẫn đến một cách
giải mã tính chất trực quan phù hợp
Các trạng thái của quá trình
Cần phải làm những trường phù hợp như một phần của tiến trình đơn
lẻ. Người thiết kế đồ họa có thể học kỹ thuật máy tính cần thiết để trực quan
hóa và người thực hiện thống kê có thể liên kết đến dữ liệu hiệu quả hơn do
hiểu được những điểm trực quan chính của dữ liệu bên cạnh dữ liệu được trình
16
bày.
Tiến trình hiểu dữ liệu bắt đầu với tập số liệu và câu hỏi. Các bước sau đây là
thủ tục dẫn đến câu trả lời:
Thu thập
Thu thập dữ liệu từ file ở ổ đĩa hoặc từ nguồn dữ liệu trên mạng.
Phân tích cú pháp
Cung cấp một số cấu trúc để hiểu ý nghĩa dữ liệu và xếp loại.
Lọc
Bỏ những dữ liệu không cần thiết.
Khai phá
Sử dụng các phương thức trong thống kê và khai phá dữ liệu như một cách để
nhận thức mẫu hoặc đặt dữ liệu theo ngữ cảnh chính xác.
Biểu diễn
Chọn một mô hình trực quan cơ sở như đồ thị, danh sách hoặc cây để biểu diễn
dữ liệu.
Cải tiến
Cải tiến sự biểu diễn cơ sở để làm nó rõ ràng và trực quan hơn.
Tương tác
Bổ sung các phương thức để điều chỉnh dữ liệu hoặc điều khiển những đặc điểm,
nội dung cho phép hiển thị.
Tất nhiên những bước trên không bắt buộc phải theo một cách cứng nhắc. Trong
quá trình thực hiện có thể bỏ qua một số bước tùy theo tính chất, độ phức tạp của dữ
liệu hoặc yêu cầu trực quan hóa.
Một phần của vấn đề với phương thức đơn lẻ để xử lý dữ liệu là các trường riêng
rẽ dẫn đến cần những người khác nhau để xử lý. Khi nó xảy ra, sẽ có phần nào đó bị
mất trong quá trình chuyển đổi.
1.1.2.3. Trực quan hóa dữ liệu theo địa lý
Trực quan hóa theo địa lý (Geovisualization) hướng đến một tập hợp các công
cụ và kỹ thuật hỗ trợ phân tích dữ liệu theo địa lý thông qua sử dụng trực quan hóa
17
tương tác. Như là sự liên kết giữa trực quan hóa khoa học và trực quan hóa thông tin,
trực quan hóa theo địa lý nhấn mạnh khả năng xây dựng kiến thức từ những kiến thức
được lưu trữ hoặc thông tin được truyền tải. Để làm được điều đó, trực quan hóa theo
địa lý truyền tải thông tin địa lý theo cách kết hợp sự hiểu biết của con người, cho
phép khảo sát dữ liệu và tạo quyết định.
Theo truyền thống, bản đồ tính có khả năng khảo sát giới hạn, sự diễn tả đồ họa
gắn bó chặt chẽ với thông tin địa lý như ở dưới đây. GIS và trực quan hóa theo địa lý
cho phép bản đồ có tính tương tác cao hơn; bao gồm khả năng khảo sát các lớp khác
nhau của bản đồ, phóng to – thu nhỏ bản đồ, thay đổi biểu diễn trực quan của bản đồ
số. Trực quan hóa theo địa lý trình diễn một tập các công nghệ và thực thi bản đồ gia
tăng khả năng của vi xử lý hiện đại để đưa ra sự thay đổi bản đồ trong thời gian thực,
cho phép người dùng thay đổi dữ liệu được ánh xạ ngay lập tức.
1.1.2.4. Một số loại bản đồ trực quan hóa dữ liệu theo địa lý
Sử dụng bản đồ có lẽ là lĩnh vực lớn nhất trong trực quan hóa dữ liệu. Có nhiều
biến thể trong sử dụng bản đồ trong trực quan hóa dữ liệu, mỗi cái có một thế mạnh
riêng. Mỗi biến thể này có thể bao gồm cả những biến thể khác và có thể tiến xa hơn
như tạo thành một loại bản đồ mới. Dưới đây là tổng quan một số dạng thông thường.
Choropleth là một trong số loại bản đồ thường sử dụng trong trực quan hóa dữ
liệu bằng bản đồ. Giống như tên gọi thì màu sắc là thành phần quan trọng của loại
bản đồ này. Màu sắc được gán cho các giá trị dữ liệu khác nhau và giá trị cho mỗi
vùng được sử dụng để tô màu cho vùng đó. Phương pháp này khá dễ hiểu nhưng lại
có vài vấn đề về đồ họa khi khó phân biệt màu sắc đối với những giá trị lân cận nhau.
1.1.3. Trực quan hóa dữ liệu biểu diễn trạng thái giao thông
1.1.3.1. Khả năng ứng dụng trực quan hóa dữ liệu biểu diễn trạng thái giao thông
Hệ thống giao thông tồn tại trong ít nhất 2 dạng không gian: Thứ 1 là dạng không gian địa lý và một dạng không kém phần quan trọng đó là không gian thời gian, nó thể hiện mối quan hệ với thời gian đã trải qua được tạo ra bởi hệ thống. Sự
khác biệt giữa không gian địa lý và không gian thời gian đó là những tính chất của chúng bao gồm bên trong hệ thống giao thông.
18
Có 2 điểm quan trọng trong trực quan hóa dữ liệu cho hệ thống giao thông gồm:
- Dùng mô hình ảo để thể hiện trạng thái của mạng giao thông để quản lý và
công bố.
- Trực quan hóa bằng hình ảnh để mô phỏng đầu ra.
Như ví dụ dưới đây mô phỏng hệ thống Điều khiển xe tải tự động (AGVS) và
đồ thị mô tả thời gian chờ đợi theo số lượng xe tải. Phần mềm là một trực quan hóa mô phỏng hệ thống hoạt động thế nào. Nó có khả năng hoạt động ở cả mô hình động
và mô hình tĩnh. Ở trạng thái tĩnh, người dùng có thể theo dõi đường đi theo thời gian
còn ở trạng thái động, sự chuyển động được điều khiển bởi bộ đếm thời gian.
Hình 1.1 Đồ thị mô tả thời gian chờ đợi theo số lượng xe tải
Theo hướng của luận văn này là tìm hiểu kỹ thuật trực quan hóa cho mô phỏng
giao thông nhiều tác nhân, do đó khảo sát hiệu quả của ứng dụng là mục tiêu chính.
Hughes đã nghiên cứu xu hướng và phương pháp trực quan hóa dữ liệu giao thông.
Dựa trên đó, đưa ra 2 kỹ thuật chính dùng để trực quan hóa cho hệ thống giao thông gồm:
- Trực quan hóa sử dụng bản đồ: Do dữ liệu tự nhiên của hệ thống giao thông thường dựa trên các thông tin địa lý, sử dụng bản đồ làm nền và trực quan hóa các dữ liệu giao thông trên đó. Điển hình là các thông tin đường giao thông quan hệ với nhau bao gồm: nguồn, đích và đường đi giữa chúng. Do đó, sẽ càng có ý nghĩa để sử dụng bản đồ để trực quan hóa những dữ liệu này.
- Sử dụng Score Cards và Dash boards: Các kỹ thuật này có thể sử dụng để theo
19
dõi Khóa chỉ thị hiệu năng (Key Performance Indicators - KPIs) của hệ thống và cả
những thay đổi cấp hệ thống. Một ví dụ mô hình trực quan của Score Cards bằng cách sử dụng biểu đồ dạng cột để trực quan hóa KPIs như hình 1.21 dưới đây.
Hình 1.2 Ví dụ sử dụng Score Cards và Dash boards
1.1.3.2. Tham khảo trực quan hóa dữ liệu biểu diễn trạng thái giao thông [21]
Nhóm MIT Big Data Initiative tại CSAIL đã tổ chức một cuộc thi với mục đích
khuyến khích suy nghĩ về dữ liệu và sử dụng dữ liệu để xác định các vấn đề xã hội.
Big Data hứa hẹn một thế giới tốt hơn khi dữ liệu được sử dụng để đưa ra các quyết
định tốt hơn từ việc đầu tư tiền đến quản lý sức khỏe, dạy dỗ con cái và quản lý thành
phố, quản lý tài nguyên …. Những thay đổi được cho phép bởi sự phát triển của
những công nghệ và công cụ mới cho ta khả năng đo lường, giám sát, ghi lại, tổng hợp và truy vấn tất các các loại dữ liệu về chúng ta và thế giới xung quanh chúng ta.
MIT Big Data Challenge sẽ xác định những thách thức thực tế ở những lĩnh vực
khác nhau như giao thông, sức khỏe, tài chính và giáo dục và tạo những bộ dữ liệu có sẵn cho cuộc thi. Mục đích là cung cấp cho cộng đồng MIT cơ hội mới và duy nhất để thể hiện dữ liệu có thể tạo ra sự thay đổi.
Cuộc thi MIT Big Data Challenge đầu tiên được phát động ngày 12 tháng 11 năm 2013 với sự kết hợp với thanh phố Boston và đồng bảo trợ Transportation@MIT hướng tới giao thông ở khu kinh doanh của thành phố Boston. Thách thức được tạo
ra với bộ dữ liệu taxi đón và trả khách qua 7 tháng từ 05/2012 đến 11/2012gồm hơn 2,3 triệu chuyến taxi, các sự kiện địa phương, các bản ghi về môi trường xã hội và
20
thời tiết với mục tiêu dự báo yêu cầu xe taxi ở khu thương mại của Boston và tạo ra
trực quan hóa để cung cấp cách mới để hiểu mẫu giao thông công cộng của thành phố. Những địa điểm bên ngoài quận thương mại trung tâm đã được loại bỏ.
Thành phố Boston mong muốn tăng cường cái nhìn mới về việc mọi người sử
dụng phương thức giao thông đến và đi ở khu vực thương mại của Boston như thế nào. Yêu cầu cấp bách của Cảnh sát đường phố Boston là đưa tất cả các trạng thái
giao thông trở lên hiệu quả và sử dụng dữ liệu thời gian thực để hoạch định giao thông
thuận tiện hơn giữa các trạng thái giao thông. Với sự tắc nghẽn đô thị gia tăng, những
nhà hoạch định cần tìm phương thức mới để cải tiến giao thông như cung cấp cho
mọi người nhiều lựa chọn để di chuyển từ 1 điểm đến điểm khác như: đi bộ, xe đạp, ô tô, hoặc sử dụng phương tiện công cộng và bằng cách giảm bớt và định tuyến hiệu quả những xe tải trong thành phố.
21
Dưới đây là một số kết quả đạt được của các đội tham dự:
Hình 1.3 Kết quả cuộc thi MIT Big Data Challenge
22
Cartogram là một phương pháp làm giảm nhẹ vấn đề vùng thể hiện của
phương pháp choropleth. Cartogram hiển thị bản đồ trực quan thông qua việc
định lại kích thước các đối tượng trên bản đồ. Trong Cartogram, các đối tượng
địa lý dạng vùng sẽ được thể hiện với hình dạng không phải tương ứng với
diện tích thật của chúng, mà là tương ứng với một biến định lượng khác – ví
23
dụ như dân số, GDP, …
Cartogram dân số thế giới 2000 (Nguồn: SASI Group-University of Sheffield) Proportional Symbol là một phương pháp làm giảm nhẹ vấn đề vùng thể hiện
của phương pháp choropleth. Điển hình của nó là một bản đồ sử dụng các hình khối
tròn hoặc định dạng khác ở giữa một vùng. Kích thước của các khối quan hệ với giá
trị dữ liệu. Một biến thể thường thấy của phương pháp này là sử dụng các biểu đồ
tròn cho các hình khối để thể hiện nhiều thông tin trong một bản đồ. Đôi khi, phương
pháp này gặp vấn đề che khuất nhưng nó có thể được giải quyết bằng cách điều chỉnh
24
độ mờ hoặc sử dụng các tỷ lệ biểu tượng phù hợp.
Người ta có thể kết hợp phương pháp proportional symbol với cartograms để có một
bản đồ lai, phương pháp này tương đối hiệu quả để biểu diễn dữ liệu.
Pinpoint hiển thị vị trí chính xác của đối tượng. Chúng hiện đang ngày càng
phổ biến khi mà dữ liệu gốc thường bao gồm cả vị trí chính xác. Những bản đồ thể
hiện người dùng twitter và ảnh flickr thường được trực quan theo cách này. Một phiên
bản phổ biến của nó là những bản đồ cho phép tìm kiếm như google maps để hiển thị
25
chính xác địa điểm của đối tượng tìm kiếm.
Connection tương tự như pinpoint nhưng được bổ sung các điểm và đường nối
giữa các điểm đó. Trong những ví dụ về kỹ thuật này, những đường nối là trừu tượng
(như các cuộc gọi điện thoại hay những trả lời tweet) và được biểu diễn là các đường
trên bản đồ.
Bản đồ nổi tiếng về chiến dịch của Napoleon là một phiên bản của connection
với đại lượng được thêm vào là chiều rộng của đường kết nối thể hiện lực lượng quân
26
đội.
Subway là một phiên bản của connection. Đường kết nối là quan trọng nhất
trong những bản đồ này, vị trí các ga không cần chính xác. Các bản đồ này thường
được thiết kế bằng cách đơn giản hóa đoạn đường thành các đường theo một vài góc
khác nhau.
Isopleth có ý nghĩa là khoảng giá trị và nó chính là những gì phương pháp này
thể hiện. Chúng ta thường bắt gặp những bản đồ này với dữ liệu thời tiết như: Bản đồ
27
radar, nhiệt độ, lượng mưa….
Stream plots thường không được hấy trong những bản đồ địa lý thông thường.
Chúng hiển thị giống như hướng gió khiến có cảm giác liên quan đến thời tiết. Người
ta thường kết hợp loại bản đồ này với isopleth.
Prism là một dạng bản đồ 3D với nhiều vấn đề. Kỹ thuật này bao hàm cả việc
thay đổi chiều cao của vùng dựa trên giá trị độ cao. Vấn đề lớn nhất của phương pháp
này là thường có một vài vùng bị khuất sau những cột cao hơn của vùng khác. Cũng
rất khó đọc các giá trị trên đối tượng 3D và còn khó hơn nữa là việc đặt thước tỷ lệ
28
trên bản đồ.
1.2. Bài toán trực quan Hóa trạng thái giao thông Hà Nội
1.2.1. Bối cảnh hệ thống giao thông hiện nay của nước ta
Trong những năm gần đây, khi nền kinh tế Việt Nam chuyển từ nền kinh tế tập
trung sang nền kinh tế thị trường thì kinh tế Việt Nam có nhiều điểm sáng, mức sống
người dẫn cũng từ đó cải thiện. Nền kinh tế phát triển đi liền với đó là một vấn đề
người dân đổ dồn đến thành phố làm thành phố trở lên đông đúc gây nên một vấn nạn
là ùn tắc giao thông.
Theo ước tính hiện nay thành phố Hà nội có khoảng 207.090 xe ô tô các loại,
1.921.822 xe máy, 1.000.000 xe đạp, 300 xe xích lô, chưa kể các phương tiện đăng
ký lưu hành ngoại tỉnh trong thành phố. Và theo đánh giá của Phòng Cảnh sát giao
thông Hà Nội, hiện các tuyến đường trong khu vực nội thành chỉ đáp ứng được 30%
lượng phương tiện hiện có. Với tốc độ phát triển phương tiện là 12-15% / năm như
hiện nay thì tình trạng ùn tắc sẽ ngày càng nghiêm trọng hơn trong các năm tới.
Ùn tắc giao thông thường xảy ra ở các giao lộ (ngã ba ngã tư…), trên đường hai
chiều và thường xảy ra vào giờ cao điểm từ 7h-8h30 và 17-19h. Và tại những điểm
ùn tắc, các phương tiện tham gia giao thông chỉ có thể nhích từng centimet.
Ùn tắc giao thông đã ảnh hưởng nghiêm trọng đến đời sống xã hội. Không chỉ
gây thiệt hại to lớn về kinh tế, với tác động gây ô nhiễm môi trường, ùn tắc giao thông
đã và đang gây nguy hại cho sức khỏe con người và làm suy giảm chất lượng cuộc
sống đô thị. [1]
Có rất nhiều nguyên nhân gây ra tình trạng ùn tắc:
- Sự tăng trưởng kinh tế và sự gia tăng mật độ dân số ở thành ohoos lớn.
- Cơ sở hạ tầng giao thông yếu kém, thiếu đồng bộ, quỹ đất cho phát triển
giao thông quá ít.
- Hệ thống vận tải hành khách công cộng còn thiếu và yếu
- Công tác quản lý, tổ chức giao thông đô thị còn nhiều yếu kém và bất cập
- Tình trạng dân trí, ý thức tự giác của người tham gia giao thông còn thấp
Trong nhiều năm qua, các cơ quan chức năng TP Hà Nội đã nỗ lực không ngừng
29
để hạn chế tắc đường, nâng cao năng lực giao thông. Tuy nhiên do các nguyên nhân
chính kể trên và nhiều nguyên nhân khác nên tình hình ùn tắc giao thông chưa được
giải quyết tốt.
Đã có rất nhiều giải pháp được thực hiện để giảm vấn đề ùn tắc.
- Giải pháp về quy hoạch: Xây dựng quy hoạch giao thông đô thị có tính bền
vững phù hợp với sự phát triển của thành phố
- Đầu tư phát triển cơ sở hạ tầng hiện đại, đồng bộ. Nâng cấp hệ thống mặt
đường, vỉa hè, hệ thống nút giao thông. Xây dựng các hệ thống cầu vượt
và hầm qua các nút giao.
- Phát triển hệ thống giao thông công cộng
- Hoàn thiện công tác quản lý tổ chức giao thông đô thị. Hoàn chỉnh luật
giao thông đô thị, bãi bỏ sửa lại những bản pháp luật giao thông đô thị đã
lạc hậu. Tổ chức lắp đặt đèn điều khiển giao thông tại nút chưa có đèn
- Tăng cường tuyên truyền giáo dục dân trí về ý thức chấp hành nghiêm chỉ
luật giao thông đô thị
Ngoài những giải pháp đã nêu ở trên, có một giải pháp giúp phần nào giảm được
tình trạng ùn tắc là cung cấp cho người giao thông một cái nhìn toàn cảnh về mật độ
giao thông của các tuyến đường. Điều này giúp cho người tham gia giao thông có
phương án thích hợp trong việc di chuyển qua các tuyến đường để giảm bớt ùn tắc
1.2.2. Bài toán trực quan hóa trạng thái hóa giao thông Hà Nội trên nền bản đồ số
Bài toán trực quan hóa trạng thái giao thông Hà Nội trên nền bản đồ số cụ thể
là ta hiển thị bản đồ các tuyến đường giao thông Hà Nội dựa trên nền bản đồ số, trên
bản đồ này trực quan hình ảnh giao thông thời gian thực và hiển thị biểu đồ thống kê
các mức độ tắc nghẽn giao thông tại các thời điểm.
Như vậy hệ thống sẽ cung cấp tình trạng giao thông theo thời gian thực một
cách trực quan. Việc này có thể giúp cho người tham gia giao thông chủ động trong
việc đi lại của mình, và giúp đỡ quá trình phân tích lập kế hoạch của các nhà hoạch
định trong lĩnh vực giao thông. Người tham giao giao thông có thể biết hiện tại tuyến
đường nào đang ùn tắc hoặc tuyến đường nào thưa để chủ động di chuyển tránh ùn
30
tắc. Các nhà hoạch định trong lĩnh vực giao thông có thể biết được tuyến đường nào
hay ùn tắc, ùn tắc vào thời điểm nào để đưa ra giải pháp xử lý ùn tắc một cách tốt
nhất.
Theo nhiều nghiên cứu thì việc tiếp thu thông tin của con người qua thị giác tốt
hơn các giác quan khác.Vì vậy,trực quan hóa hệ thống giao thông là một giải giải
pháp lý tưởng để đưa thông tin đến cho người dùng. Trực quan hóa thông tin cho
phép trình biểu diễn lượng lớn dữ liệu và sẽ giúp người dùng tiếp thu được nhiều hơn.
Hệ thống sẽ nhận một lượng lớn dữ liệu đầu vào đó là tình trạng giao thông ở
thời điểm hiện tại. Sau đó dữ liệu sẽ được phân tích, xử lý để hiển thị trên web một
cách trực quan. Việc trình bày dữ liệu trên web phải hữu ích với các kiểu người dùng
khác nhau.
1.2.3. Mô hình trực quan hóa trạng thái giao thông
Từ bối cảnh hệ thống giao thông cùng với bài toán trực quan hóa trạng thái giao
thông chúng tôi đưa ra mô hình trực quan hóa dữ liệu trạng thái giao thông bao gồm
các thành phần như hình 2.1. Các thành phần của mô hình được phân tích cụ thể ở
dưới đây
Hình 2.1: Mô hình trực quan hóa trạng thái giao thông
Dữ liệu trạng thái giao thông: Đây là dữ liệu thể hiện trạng thái giao thông của các tuyến đường mà hệ thống cần thể hiện. Dữ liệu này được cập nhật theo thời gian thể hiện mật độ giao thông theo thời gian và khoảng thời gian thể hiện trên bản đồ trực quan hóa.
31
- Dữ liệu bản đồ: Lưu trữ dữ liệu bản đồ nền của khu vực thể hiện trực quan hóa. Đồng thời lưu trữ dữ liệu địa lý của các tuyến đường nghiên cứu của hệ thống.
Từ những dữ liệu này là căn cứ để xây dựng và hiển thị bản đồ. Dữ liệu này tương đối ổn định.
- Tổng hợp dữ liệu trạng thái giao thông: Quá trình này sẽ tổng hợp giá trị dữ
liệu trạng thái giao thông của cả đợt dữ liệu để xây dựng Biểu đồ trực quan hóa. Mỗi
đợt dữ liệu cập nhật sẽ xây dựng thành một cột dữ liệu trong biểu đồ, giá trị của cột thể hiện trạng thái giao thông của toàn bộ hệ thống tương ứng với thời gian cập nhật
dữ liệu.
- Phân tích dữ liệu trạng thái giao thông: Quá trình này kết hợp dữ liệu trạng
thái giao thông với dữ liệu bản đồ của từng tuyến phố được cung cấp dữ liệu để xây
dựng lớp bản đồ trực quan hóa về trạng thái giao thông của từng tuyến phố trong thời gian tương ứng.
- Xây dựng bản đồ nền: Quá trình này sử dụng dữ liệu bản đồ có sẵn và các công
cụ GIS để xây dựng bản đồ nền phục vụ trực quan hóa dữ liệu.
- Biểu diễn trực quan hóa dữ liệu trạng thái giao thông tổng hợp: Là kết quả của
quá trình tổng hợp dữ liệu trạng thái giao thông. Đây là biểu đồ dạng cột thể hiện
trạng thái giao thông của toàn bộ hệ thống tương ứng với từng khoảng thời gian hiển
thị trạng thái giao thông.
- Biểu diễn trực quan hóa trạng thái giao thông của các tuyến đường cụ thể: Là
kết quả của quá trình Phân tích dữ liệu trạng thái giao thông. Biểu diễn này thể hiện
trực quan giá trị của trạng thái giao thông tại từng tuyến phố bằng lớp bản đồ với các
điểm đặc trưng phân bố dọc tuyến phố và sử dụng màu sắc của các điểm để thể hiện
tình trạng giao thông. Tuyến phố có tình trạng tắc nghẽn càng lớn sẽ thể hiện bằng số
lượng điểm tập trung lớn, màu đỏ thể hiện mật độ đông hơn so với màu xanh.
- Bản đồ nền: Là kết quả trình bày bản đồ từ dữ liệu GIS. Bản đồ này làm nền
để trình bày các trực quan hóa dữ liệu.
- Các kết quả bao gồm: Bản đồ nền, Biểu diễn trực quan hóa dữ liệu trạng thái
giao thông tổng hợp, Biểu diễn trực quan hóa trạng thái giao thông của các tuyến
đường cụ thể sẽ được hiển thị trên một trang web tổng hợp để phục vụ người dùng
32
theo dõi, phân tích, sử dụng kết quả.
1.2.4. Mô hình kiến trúc hệ thống giải pháp trực quan hoá trạng thái giao thông Để thực hiện mô hình trực quan hóa trạng thái giao thông trình bày tại mục
1.2.3, đáp ứng các yêu cầu trong phần đặt vấn đề của luận văn, luận văn đề xuất hệ
thống áp dụng mô hình cung cấp bản đồ trực tuyến (WebGIS).
WebGIS là một hệ thống thông tin địa lý được phân bố qua môi trường mạng
máy tính để phân phối và truyền tải thông tin địa lý trực diện trên Internet. Việc tích
hợp công nghệ GIS và Internet đã tạo ra cơ hội để mọi người đều có thể sử dụng dữ
liệu và các chức năng GIS mà không cần cài đặt bất kỳ một phần mềm GIS chuyên
dụng nào. Yêu cầu của WebGIS là phải có các hệ thống phần mềm chạy trên nền độc
lập, sử dụng mạng theo chuẩn TCP/IP (TCP/IP là một hệ thống giao thức – một tập
hợp các giao thức hỗ trợ việc lưu truyền trên mạng) để có thể kết nối đến Internet và
trình duyệt Web.
Bất cứ công nghệ WebGIS nào cũng phải thỏa mãn trước hết kiến trúc ba tầng
(3-tier) thông dụng của môt ứng dụng Web. Tùy thuộc vào từng công nghệ riêng biệt
của từng hãng mà chúng có khả năng phát triển, mở rộng thành kiến trúc đa tầng (n-
tier) hay không. Kiến trúc 3-tier được mô tả như hình 2.2.
Hình 2.2: Mô hình kiến trúc hệ thống WebGIS
Mô hình trực quan hóa dữ liệu trạng thái giao thông sẽ cài đặt tại Web Server
33
trên hệ thống WebGIS đảm bảo thỏa mãn các yêu cầu về nội dung cũng như kỹ thuật.
CHƯƠNG 2: MỘT SỐ HỖ TRỢ TRỰC QUAN HÓA TRẠNG THÁI
GIAO THÔNG HÀ NỘI TRÊN NỀN BẢN ĐỒ SỐ
2.1. Kỹ thuật và thuật toán ứng dụng trực quan hóa trạng thái giao thông
2.1.1. Heatmap trực quan hóa tình trạng trên tuyến đường giao thông
Heatmap hỗ trợ trực quan hóa dữ liệu được sử dụng để biểu diễn dữ liệu trong
đó các giá trị được thể hiện bằng màu sắc. Heatmap cho phép người dùng có thể hiểu
và phân tích bộ dữ liệu phức tạp, heatmap thu thập dữ liệu tự động, heatmap hiển thị
các dữ liệu thu thập tự động trong thời gian thực [4].
Có nhiều cách để hiển thị heamap nhưng tất cả đều có một điểm chung là sử
dụng màu sắc để truyền đạt các mối quan hệ giữa các giá trị dữ liệu.
Để trực quan hóa tình trạng giao thông trên các tuyến đường cụ thể, luận văn đề xuất kỹ thuật sử dụng kết hợp thông tin về tình trạng giao thông của từng tuyến đường
và đặc trưng địa lý của từng tuyến đường.
Đầu vào của bước này bao gồm thông tin địa lý của tuyến đường và giá trị trạng
thái giao thông của nó tại những thời điểm xác định.
Tại mỗi tuyến đường giao thông ta có các điểm đặc trưng cố định. Tùy theo tình
trạng giao thông nhận được, ta sẽ tiến hành bổ sung thêm các điểm khác nằm trên
tuyến đường đó đồng thời thể hiện tình trạng giao thông trên tuyến đường đó bằng
màu sắc của các điểm. Để biểu diễn những điểm này luận văn đề xuất sử dụng
Heatmaps với cách pha màu là màu đỏ cho giá trị lớn nhất và màu xanh cho giá trị
nhỏ nhất.
Như vậy, tình trạng giao thông trên các tuyến đường được thể hiện trực quan
trên bản đồ bao gồm:
- Mật độ điểm đại diện trên tuyến đường. - Thể hiện bằng màu sắc ứng với giá trị trạng thái giao thông của các điểm đại
diện trên tuyến đường.
2.1.1.1. Thuật toán Heatmap để hình dung sự đa dạng điểm
Bài toán ví dụ ứng dụng lập bản đồ khu vực của sự đa dạng loài cao. Cho một
số loài, mỗi nhà máy duy nhất đã được ánh xạ, kết quả trong một số đỉnh cao, nhưng
với rất ít ý nghĩa về sự đa dạng của khu vực. Các khu vực khác thực sự có sự đa dạng
34
cao.
x y cat 0.8 8.1 B
1.1 8.9 A 1.6 7.7 C
2.2 8.2 D 7.5 0.9 A
7.5 1.2 A 8.1 1.5 A
8.7 0.3 A 1.9 2.1 B
4.5 7.0 C 3.8 4.0 D
6.6 4.8 A 6.2 2.4 B
2.2 9.1 B 1.7 4.7 C
7.5 7.3 D 9.2 1.2 A
- Dữ liệu đầu vào :
35
- kết quả hiển thị dữ liệu trên bản đồ :
Hình 2.3 : kết quả hiển thị các điểm trên bản đồ
Ở góc phía trên, bên trái là vùng mà dữ liệu có sự khác biệt rất lớn trong khi
phía dưới bên phải tập trung nhiều điểm nhưng không có sự khác biệt. Có 2 cách trực
quan hóa sự khác biệt có thể sử dụng heatmap truyền thống hoặc tính toán số mức
hiển thị ở mỗi vùng. Như những hình 2.4 thể hiện thì những phương pháp này có giới
hạn sử dụng khi heatmap hiển thị sự tập trung nhất trong vùng phía dưới bên phải
trong khi phương pháp “đóng hộp” có vẻ chỉ đúng nếu chỉ có 1 mức (thể hiện ở chỗ
tăng kích thước vùng đóng hộp thì kết quả dẫn đến không thể phân biệt được).
Hình 2.4 : Kết quả vẽ theo phương pháp “đóng hộp”
Một phương thức khác để cải tiến thuật toán heatmap truyền thống là tính số
36
điểm có mức khác nhau trong bán kính xác định và sử dụng số tính được như trọng
số của điểm khi sinh ra heatmap. Tuy nhiên, nó có thể dẫn đến một kết quả không
mong muốn khác là sự tăng cường lẫn nhau sẽ dẫn đến kết quả chênh lệch quá mức.
Như vậy, những điểm gần nhau có cùng mức sẽ tiếp tục thể hiện sự tập trung cao
không như những khu vực như nhau.
2.1.1.2. Thuật toán Heatmap để hiển thị mật độ nhân
Mô tả thuật toán như sau:
1. Tính toán số mức của tập dữ liệu
2. Với mỗi pixel ở hình ảnh đầu ra:
Với mỗi mức:
o Tính toán khoảng cách gần nhất đến điểm đại diện (r)[giới
hạn các bán kính có ảnh hưởng nhỏ]
o Đặt trọng số 1/r2
((heatmap_A@1 >= 1) + (heatmap_A@1 < 1) * heatmap_A@1) +
((heatmap_B@1 >= 1) + (heatmap_B@1 < 1) * heatmap_B@1) +
((heatmap_C@1 >= 1) + (heatmap_C@1 < 1) * heatmap_C@1) +
((heatmap_D@1 >= 1) + (heatmap_D@1 < 1) * heatmap_D@1)
Tính toán heatmap cho mỗi mức thực hiện theo công thức sau:
37
Và kết quả trả về như hình 2.5
Hình 2.5 : Kết quả vẽ theo phương pháp mật độ nhân
Một cách tiếp cận để làm điều này sẽ là nguyên tố một thuật toán truyền thống
heatmap cho số điểm của các thể loại khác nhau trong vòng bán kính được xác định,
và sau đó sử dụng tính đó là trọng lượng cho điểm khi tạo ra heatmap.
2.1.1.3. Thuật toán xây dựng tập biểu diễn cuả tuyến đường
Để tạo heatmap trên một tuyến đường, ta căn cứ vào tọa độ của tập các điểm
cơ sở của tuyến đường. Một tuyến đường bao gồm nhiều đoạn thẳng nối tiếp nhau,
tập các điểm đầu và điểm cuối các đoạn đó là tập điểm cơ sở của tuyến đường. Sau
đó, tùy vào giá trị tình trạng đường giao thông, ta sẽ bổ sung các điểm phù hợp vào
giữa các điểm đã có để tăng mật độ điểm tạo thành tập điểm biểu diễn (như hình 2.6)
và hiển thị màu sắc của tập điểm biểu diễn này theo giá trị tình trạng giao thông tương
38
ứng.
Hình 2.6 : Tập các điểm biểu diễn trên tuyến đường
Thuật toán xây dựng tập biểu diễn cuả tuyến đường: - B1: Xác định tập điểm cơ sở của tuyến đường là T1 được sắp theo thứ tự từ
điểm đầu đến điểm cuối trên tuyến đường.
- B2: Đặt tập điểm biểu diễn T2 = T1.
- B3: Duyệt từ đầu đến hết tập T2:
Xác định khoảng cách l giữa 2 điểm kế tiếp trong T2:
Nếu l < r thì tiếp tục chuyển sang cặp điểm tiếp theo trong T2
Nếu l ≥ r thì: Bổ sung 1 điểm ở giữa 2 điểm đang xét vào trong tập T2
và quay lại thực hiện B3.
Trong đó: r là khoảng cách được xác định theo các trạng thái giao thông.
Kết quả cuối cùng của thuật toán tạo ra các điểm cách đều nhau có khoảng cách
39
nhỏ hơn r trên một đoạn đường như hình 2.6
2.1.2. Xây dựng biểu đồ thống kê dữ liệu trạng thái giao thông
Biểu đồ thống kê tình trạng giao thông tại các thời điểm trong ngày trong đó
chiều x thể hiện thời gian và khoảng duy trì của tình trạng giao thông, chiều y thể
hiện giá trị tổng hợp trạng thái giao thông của hệ thống theo thời gian.
Trong phạm vi luận văn đề xuất tính giá trị thống kê này là giá trị trung bình của các tuyến phố theo trọng số phù hợp. Khi đó, giá trị thống kê trạng thái giao thông
là đại lượng tỷ lệ thuận với giá trị trạng thái giao thông của từng tuyến đường cụ thể.
Mục 2.1.1. đã mô tả kỹ thuật trực quan hóa tình trạng giao thông của tuyến
đường cụ thể. Trong đó, tình trạng giao thông của tuyến đường thể hiện bằng Mật độ, số lượng điểm đại diện trên tuyến đường và Giá trị màu sắc ứng với giá trị trạng thái
giao thông của các điểm đại diện trên tuyến đường.
Do đó, phương pháp để xác định giá trị thống kê trạng thái giao thông của hệ
thống đơn giản là giá trị trung bình của toàn bộ điểm đại diện trên các tuyến đường
trong hệ thống.
Từ giá trị thống kê trạng thái giao thông của hệ thống và thời gian, khoảng duy
trì đã có sẵn dễ dàng xây dựng được biểu đồ thể hiện tổng hợp trạng thái giao thông.
2.1.2.1. Thuật toán tính giá trị trung bình tại mỗi thời điểm.
Để xây dựng biểu đồ thống kê dữ liệu trạng thái giao thông cần kết nối đến cơ
sở dữ liệu và tính trạng thái giao thông tổng hợp của toàn bộ hệ thống theo thời điểm,
ngày, tuần và tháng, năm. Do khối lượng tính toán lớn, phần này sẽ được tính toán
tại phía server. Dữ liệu trạng thái giao thông theo ngày, tuần, tháng, năm được tính
toán khi kết thúc ngày, tuần, tháng, năm và lưu sẵn trong cơ sở dữ liệu. Dữ liệu trạng
thái giao thông theo thời điểm được tính toán trực tiếp khi có yêu cầu xây dựng biểu
đồ.
Đoạn code dưới đây lấy dữ liệu trạng thái giao thông trung bình tại mỗi thời
password=123456")
or die('Could not connect: ' . pg_last_error());
$result = pg_query("SELECT b.id, b.dt, b.idroad, (select AVG(a.state) from tb_traffic a where
a.dt = b.dt) as state FROM tb_traffic b where dt>='".$fromDate."' and dt<='".$toDate."' and idroad = 1 order by dt desc");
40
điểm có dữ liệu:
$temp = array(); while($myrow = pg_fetch_assoc($result)) { $temp[] = $myrow; } echo json_encode($temp); pg_close($dbconn); ?>
Dữ liệu trạng thái giao thông tổng hợp theo ngày, tuần, tháng, năm được lấy
trực tiếp trong các bảng lưu trong cơ sở dữ liệu do đã được tính toán và lưu lại từ
trước.
Dữ liệu sau khi tính toán sẽ được khai báo tập đối tượng JSON trong D3js để
d.dt = parseDate(d.dt); d.state = +d.state;
d3.json('data2.php?fromdate='+fromDate+'&todate='+toDate, function(error, data) {
data.forEach(function (d) { });
đưa vào xây dựng biểu đồ.
2.1.3. D3JS
D3 hay D3js có tên đầy đủ là Data-Driven Documents là một thư viện Javascript
để trực quan hóa, tương tác dữ liệu trong các trình duyệt Web. Nó là một thư viện
được sử dụng để thao tác với HTML và SVG dựa trên dữ liệu. D3js được phát triển
bởi tác giả Michael Bostock và cộng đồng đông đảo lập trình viên từ khắp nơi trên
thế giới. D3js hoàn toàn là mã nguồn mở được miễn phí trên GitHub. D3js được phát
hành theo giấy phép BSD vì vậy người dùng có thể sử dụng, sửa đổi code cho cả mục
đích phi thương mại hay thương mại.
2.1.3.1. Các thành phần cơ bản trong D3js
D3js cho phép kết nối dữ liệu tùy với DOM, và sau đó áp dụng các phép biến đổi điều hướng dữ liệu. Ví dụ, ta có thể sử dụng D3js để tạo ra 1 bảng HTML từ một mảng các số.
Selections Sửa đổi trang web sử dụng W3C DOM API là một việc nhàm chán. Tên phương
var paragraphs = document.getElementsByTagName("p"); for (var i = 0; i < paragraphs.length; i++) { var paragraph = paragraphs.item(i); paragraph.style.setProperty("color", "white", null); }
41
thức dài dòng, ví dụ để thay đổi màu sắc của đoạn văn bản ta viết như sau:
Trong khi đó sử dụng D3js ta có thể viết ngắn gọn hơn: d3.selectAll("p").style("color", "white");
Lệnh trên áp dụng với tất cả các phần tử “p” trong trang web, ta có thể thao tác
với chỉ 1 phần tử khi cần thiết:
d3.select("p").style("color", "white"); Các bộ chọn trong D3js được định nghĩa theo chuẩn W3C Selectors API và hỗ trợ tốt với các trình duyệt hiện đại, đồng thời nó cũng tương tích ngược với các trình duyệt cũ. Các phần tử có thể được lựa chọn bằng cách sử dụng một loại các thuộc
tính như class, id, attribute…
Kết nối dữ liệu Trực quan hóa dữ liệu là quá trình xử lý để ánh xạ dữ liệu đến hình ảnh trực
quan. Dữ liệu ở bên trong và hình ảnh trực quan thể hiện ra bên ngoài. Việc trực quan
có thể thể hiện bằng việc hiển thị trên biểu đồ với dữ liệu lớn tạo ra những thanh cao
hơn hoặc màu sắc tươi sáng hơn. D3js làm việc với dữ liệu bằng cách kết nối các giá
trị dữ liệu đầu vào đến các phần tử trong DOM.
Chúng ta sử dụng phương thức selection.data() để kết nối dữ liệu đến phần tử
trong DOM. Có 2 điều chúng ta cần trước tiên khi có thể liên kết dữ liệu:
- Dữ liệu - Lựa chọn phần tử để kết nối dữ liệu trong DOM
Dữ liệu
Trong bối cảnh lập trình trực quan, dữ liệu được lưu trữ trong một tập tin, thường
là kiểu text hoặc nhị phân. D3 rất thông minh trong việc xử lý các loại dữ liệu khác nhau, nó chấp nhận bất kỳ mảng các số, chuỗi, hoặc đối tượng. Nó có thể xử lý dữ liệu dạng JSON và nó còn có phương thức được dựng sẵn
Tương tác Mục đích của trực quan hóa dữ liệu là giúp người dùng có được thông tin từ
42
lượng lớn dữ liệu thô một cách nhanh chóng và hiệu quả thông qua phép ẩn dụ, liên kết mô hình và nhận thức. Tuy nhiên có một khía cạnh quan trọng của trực quan hóa
đó là sự tượng tác của người dùng. Tương tác giúp mang lại giá trị rất lớn trong việc tiếp nhận thông tin trong trực quan hóa.
Các phương pháp mà D3js hỗ trợ người dùng tương tác trong trực quan hóa:
- Tương tác với các sự kiện chuột - Tương tác với thiết bị cảm ứng đa điểm - Tương tác phóng to/nhỏ và xoay
Tương tác với hành vi kéo, thả.
2.1.4. Vẽ đồ họa thực hiện trực quan hóa
Vẽ đồ họa là một cách để trực quan hóa. Vị trí của những nút và cạnh có thể chi
phối khả năng sử dụng, đọc và thẩm mỹ. Thuật toán được dùng để định vị gọi là
“Thuật toán Graphics Layout Algorithms” (Thuật toán trình bày đồ họa). Có nhiều
thuật toán trình bày đồ họa khác nhau với những cách nhìn định vị khác nhau.
Đây là phương pháp phù hợp nhất để trực quan hóa trạng thái giao thông trong
luận văn này bởi vì thực tế là việc định vị các nút và giá trị thuộc tính của nó là nhân
tố chính của hệ thống giao thông.
Những nguyên tắc cho vẽ đồ họa chỉ ra những thông số quan trọng nhất, để vẽ
đồ họa cần tìm hiểu về: Quy tắc vẽ, Mỹ học, Ràng buộc.
- Quy tắc vẽ
Quy tắc vẽ là những luật cơ bản trong quá trình vẽ cần phải thỏa mãn để được
chấp nhận.
Trong thực tế, quy tắc vẽ là những luật cơ bản cần tuân theo trong khi vẽ đồ
họa. Những luật này đi kèm với ngữ cảnh và miền ứng dụng cụ thể. Ví dụ tại hình 2.7
thể hiện một luật vẽ trong vẽ trực giao là đồ họa được vẽ như một chuỗi các đoạn
43
thay đổi ngang và dọc như hình 2.7 dưới đây.
Hình 2.7 : Luật vẽ trực giao
Bởi vì thực tế là những lý thuyết về trực quan hóa dữ liệu bằng đồ họa đối với
mỗi hệ thống khác nhau sẽ phải phù hợp với mục đích xây dựng của nó. Do đó, với
hệ thống trực quan hóa trạng thái giao thông cũng cần đưa ra những quy tắc vẽ cụ
thể.
- Mỹ học
Mỹ học của đồ họa liên quan tới các thông số làm tăng tính dễ đọc thông qua
các vấn đề tập trung vào mỹ học. Lập những công thức theo ccs quy tắc để vẽ một đồ
họa tốt, ví dụ các quy tắc để chuẩn hóa chiều dài cạnh như: Tối thiểu những chiều dài
cạnh lớn nhất, tối đa chiều dài cạnh nhỏ nhất, tối thiểu tổng chiều dài cạnh, tối thiếu
số lượng chiều dài khác biệt.
Một số quy tắc về tính thẩm mỹ được áp dụng rộng rãi để có thể tăng khả năng
đọc đồ họa như sau:
Tối thiểu số cạnh giao nhau
Tối thiểu những chỗ uốn cong, ngã rẽ
Tối đa tính đối xứng cấu trúc
Các nút gần nhau có liên hệ với nhau
Vẽ các đường thẳng nhất có thể
Trong trường hợp có xung đột giữa các quy tắc mỹ học trong vẽ đồ họa, ta cần
những thủ tục chọn tập quy tắc để hình vẽ dễ đọc nhất. Một số nghiên cứu thực tế đã
đặt độ ưu tiên cho những quy tắc mỹ học trên. Kết quả của nó cho thấy quy tắc Tối
44
thiểu số cạnh giao nhau là quan trọng nhất và các quy tác như Tối thiểu những chỗ
uốn cong, ngã rẽ và Tối đa tính đối xứng cấu trúc thì ít hiệu quả hơn đối với khả năng
đọc của con người. Mặc dù vậy, vẫn cần thêm những khái niệm về ngữ cảnh và miền
ứng dụng cho sự ưu tiên về quy tắc mỹ học. Những quy tắc riêng phù hợp với hệ
thống trực quan hóa trạng thái giao thông cụ thể sẽ được đưa ra.
- Ràng buộc
“Đặc trưng ngữ nghĩa có thể được diễn tả bởi phương tiện là những ràng buộc
trong quá trình vẽ”. Dựa vào thực tế trên, với những đặc trưng yêu cầu biết về ý nghĩa
hình vẽ, ta có thể xác định các ràng buộc cho vẽ đồ họa. Ví dụ nếu có một tập các nút
quan trọng hơn trong miền ứng dụng cụ thể, sẽ cần trở lên dễ đọc và có ý nghĩa hơn
bằng cách sử dụng ràng buộc đặt chúng vào giữa hình vẽ. Một số nghiên cứu đã phân
chia các dạng khác nhau của ràng buộc gồm:
CENTER: Đặt tập nút xác định vào giữa đồ họa.
DIMENS: Gán chiều thể hiện biểu tượng cho những nút định sẵn.
EXTERN: Đặt những nút định sẵn ở phía ngoài của đồ họa.
NEIGH: Đặt nhóm các nút càng gần nhau càng tốt.
SHAPE: Vẽ một đồ họa phụ so với đồ họa định trước.
STREAM: Đặt chuỗi các nút trên một đường.
Những ràng buộc trên được xác định là quan trọng nhất trong miền ứng dụng là
hệ thống trạng thái giao thông với mục đích đạt được đồ họa dễ đọc hơn.
2.1.4.1. Thuật toán Graphics Layout Algorithms
Có một vài phương thức thông thường để sắp xếp những nút và cạnh. Những
phương thức thông thường và quan trọng nhất được liệt kê dưới đây:
- Thuật toán vẽ dựa vào lực: Trong thuật toán trình bày này, mạng các nút và
cạnh được mô phỏng như hệ thống điện. Có những lực hút và đẩy giữa các nút và
cạnh, vị trí của nút sẽ thay đổi phù hợp tương ứng. Mục đích của thuật toán này nhằm
giảm năng lượng kèm theo để trình bày đồ họa. Thuật toán này sẽ lặp lại liên tục cho
đến khi năng lượng của hệ thống đạt trạng thái cân bằng.
- Phương pháp dựa vào địa lý: Theo phương thức này, vị trí của nút dựa vào
45
thuộc tính địa lý của nút trên bản đồ.
- Cấu trúc liên kết vòng tròn (Circular topology): Thuật toán biểu diễn này đặt
các nút trên vòng tròn, các cạnh đi qua nhau ở trung tâm của vòng tròn.
Sự lựa chọn các phương thức phần lớn dựa vào miền dữ liệu được trực quan
hóa. Ví dụ trong trường hợp cụ thể với mạng xã hội thì phương thức Cấu trúc liên kết
vòng tròn có ý nghĩa hơn. Trong luận văn này, phương pháp dựa vào địa lý sẽ được
sử dụng vì nó đáp ứng nhu cầu người dùng trong bối cảnh thể hiện trực quan trạng
thái giao thông.
2.2. Giải pháp trong quá trình triển khai
2.2.1. Kết hợp Leaflet và Heatmap
Để vẽ điểm heatmap trên bản đồ nền được xây dựng bằng leaftet, ta phải có sự
kết hơp giữa Leaflet và Heatmap. Giải pháp được đưa ra là sử dụng thư viện leaflet-
heatmap.js
2.2.2. Thao tác với dữ liệu dạng GeoJSON
GeoJSON là một định dạng mã hóa cho một loạt các cấu trúc dữ liệu địa lý. Một
đối tượng GeoJSON có thể đại diện cho một hình học, một tính năng hoặc một tập
các tính năng. GeoJSON hổ trợ các loại hình sau: 1 điểm, 1 đường thẳng, đa giác, đa
điểm, đa cạnh….
Leaflet hổ trợ tất cả các loại GeoJSON. Feature và FeatureCollections cho phép
"type": "Feature", "properties": { "name": "Coors Field", "amenity": "Baseball Stadium", "popupContent": "This is where the Rockies play!" }, "geometry": {
"type": "Point", "coordinates": [-104.99404, 39.75621] }
var geojsonFeature = { };
46
mô tả các thực thể (features) và thuộc tính(properties):
2.2.3. Kết nối cơ sở dữ liệu
Để xây dựng các chức năng của ứng dụng phải kết nối đến cơ sở dữ liệu lấy
thông tin. Để sử dụng PHP kết nối cơ sở dữ liệu Postgre, sử dụng PHP Interface APIs.
Dưới đây là một đoạn code để kết nối cơ sở dữ liệu.
2.2.4. Cập nhật dữ liệu thời gian thực
Khi lựa chọn chế độ “Chạy theo thời gian thực” hệ thống tự động kiểm tra cơ
sở dữ liệu để cập nhật dữ liệu mới nhất để hiển thị trạng thái giao thông. Thời gian
cài đặt trong chương trình thử nghiệm là 10 phút. Thời gian này có thể thay đổi tùy
theo yêu cầu trong thực tế.
2.3. Công cụ hỗ trợ trực quan hoá trạng thái giao thông
2.3.1. Google Maps
Google Maps là một dịch vụ ứng dụng và công nghệ bản đồ trực tuyến
miễn phí được cung cấp bởi Google, hỗ trợ nhiều dịch vụ khác của Google
nổi bật là dẫn đường. Nó cho phép thấy bản đồ đường sá, đường đi cho xe
đạp, cho người đi bộ và xe hơi, và những địa điểm kinh doanh trong khu vực
cũng như khắp nơi trên thế giới.
2.3.2. Google Maps API
Google Maps API là một phương thức cho phép 1 website sử dụng
dịch vụ bản đồ của Google và nhúng vào website của mình. Dịch vụ của
47
google bao gồm hiển thị bản đồ, rê chuột, zoom, đánh dấu trên bản đồ…
Các ứng dụng xây dựng trên maps được nhúng vào trang web cá nhân
thông qua các thẻ javascripts nên việc sử dụng API google rất dễ dàng.
Google Map API đã được nâng cấp lên phiên bản thứ 3. Phiên bản này
hỗ trợ không chỉ cho các máy để bàn truyền thống mà cho cả các thiết bị di
động. Nhanh hơn và nhiều hơn các ứng dụng.
Điều quan trọng là các dịch vụ hoàn toàn miễn phí với việc xây dựng
một ứng dụng nhỏ. Trả phí nếu đó là việc sử dụng cho mục đích kinh doanh,
doanh nghiệp.
2.3.3. PostgreSQL/PostGIS
Hệ thống dự kiến triển khai cài đặt DB Server sử dụng hệ quản
trị cơ sở dữ liệu PostgreSQL.
PostgreSQL là hệ thống quản trị cơ sở dữ liệu quan hệ đối tượng
dựa trên POSTGRES bản 4.2, được phát triển tại trường đại học California
tại phòng nghiên cứu máy tính Berkeley. Nó là một chương trình mã nguồn
mở xây dựng trên mã nguồn ban đầu của đại học Berkeley. Nó hỗ trợ một
phần rất lớn cho SQL chuẩn và cung cấp nhiều tính năng hiện đại như :
- Câu truy vấn phức hợp (complex query)
- Khóa ngoại (foreign key)
- Thủ tục sự kiện (trigger)
- Các khung nhìn (view)
- Tính toàn vẹn của các giao dịch (integrity transactions)
- Việc kiểm tra truy cập đồng thời đa phiên bản (multiversion
concurrency control)
Ngoài ra, PostgreSQL có thể được mở rộng bởi nhiều người
dùng bằng nhiều cách. Ví dụ, người dùng có thể thêm kiểu dữ liệu, hàm, toán
tử, hàm tập hợp, phương thức đánh chỉ mục và ngôn ngữ thủ tục.
So sánh giữa 3 hệ quản trị cơ sở dữ liệu MySQL, Oracle và
PostgreSQL thì thấy rằng, hệ quản trị cơ sở dữ liệu PostgreSQL rất mạnh,
nó hoạt động được trên hầu hết các hệ điều hành, hỗ trợ rất nhiều tính năng
48
cơ bản, và hỗ trợ rất nhiều kiểu đánh chỉ mục.
Ngày nay, PostgreSQL là một trong những hệ quản trị cơ sở lớn
nhất hiện có. Với những tính năng được chỉ ra dưới đây, chúng ta có cái nhìn
tổng quan về PostgreSQL :
- Trong quan hệ đối tượng PostgreSQL, mọi bảng định nghĩa như
một lớp. PostgreSQL thực thi kế thừa giữa các bảng, hàm và toán tử là đa hình.
- Cú pháp chuẩn của PostgreSQL tuân thủ theo chuẩn của SQL92
và nhiều tính năng của SQL99.
- PostgreSQL cung cấp nhiều kiểu dữ liệu. Bên cạnh kiểu dữ liệu
numeric, string thông thường, nó còn cung cấp kiểu dữ liệu geometry,
boolean và kiểu dữ liệu được thiết kết đặc biệt để dùng cho các địa chỉ
mạng.
- Khả năng mở rộng là một trong những tính năng của PostgreSQL.
Nếu với những gì mà PostgreSQL cung cấp mà ta vẫn chưa hài lòng, ta
có thể thêm vào PostgreSQL. Ví dụ, ta có thể thêm vào kiểu dữ liệu mới,
hàm và toán tử mới và các thủ tục mới.
Ngoài nhu cầu lưu trữ các kiểu dữ liệu thông thường như kiểu
chuỗi, kiểu số, kiểu ngày tháng, người sử dụng còn có thêm nhu cầu lưu trữ
các kiểu dữ liệu không gian để lưu trữ các đối tượng như Point, Line,
Polygon. Do đó, PostgreSQL còn hỗ trợ kiểu dữ liệu hình học (geometry)
như Point, Line, Polygon…Và PostGIS chính là công cụ được bổ sung cho
PostgreSQL để hỗ trợ hiện thị đối tượng địa lý.
PostGIS là một mã nguồn mở, mở rộng không gian cho
PostgreSQL. CSDL không gian trong PostGIS được sử dụng cho hiệu suất
sử dụng cao đa người dùng truy cần đến tập dữ liệu có tính liền mạch.
PostGIS đã được chứng nhận là “Simple Features for SQL”, tuân thủ theo
Open Geospatial Consortium. PostGIS được phát hành lần đầu tiên vào năm
2001, và hiện đang được sử dụng trên khắp thế giới như một máy chủ hoạt
động với hiệu suất cao cho các đối tượng không gian.
49
Đặc điểm của PostGIS:
Do PostGIS được sử dụng như một CSDL không gian, nên nó
bao gồm tất cả các đặc điểm của CSDL không gian. Ngoài ra, nó còn có
những đặc trưng như:
- Các kiểu dữ hình học như Point, Linestring, Polygon, Multipoint,
multilinestring, Multipolygons và Geometrycollection.
- Các toán tử không gian cho phép xác định các phép đo không gian địa
lý như tính diện tích, tính khoảng cách, tính độ dài, và tính chu vi. PostGIS
hỗ trợ các hàm như : ST_Area(), ST_Length(), ST_Perimeter(),
ST_Distance()…các hàm này thường thực hiện chức năng kiểu phép đo.
- Các toán tử không gian cho phép xác định không gian địa lý. Các thao
tác như phép hợp, so sánh sự khác nhau giữa các đối tượng hình học. Các
toán tử được PostGIS hỗ trợ để làm việc này có thể là : ST_Difference() : trả
về phần khác nhau giữa 2 đối tượng hình học hay hàm ST_Buffer()…
- PostGIS cung cấp việc đánh chỉ mục không gian tốc độ cao sử dụng
GisT hoặc R-tree. Công cụ đánh chỉ mục không gian mà PostGIS hỗ trợ làm
tăng tốc cho truy vấn không gian đặc biệt là trên bảng dữ liệu lớn.
- Chỉ mục hỗ trợ chọn lọc, cung cấp việc thực hiện truy vấn bản đồ pha
trộn truy vấn không gian hoặc truy vấn không có không gian.
2.3.4. Apache
Apache hay là chương trình máy chủ HTTP là một chương trình dành
cho máy chủ đối thoại qua giao thức HTTP. Apache chạy trên các hệ điều
hành tương tự như Unix, Microsoft Windows, Novell Netware và các hệ điều
hành khác. Apache đóng một vai trò quan trọng trong quá trình phát triển của
mạng web thế giới (World Wide Web).
Apache được phát triển và duy trì bởi một cộng đồng mã nguồn mở
dưới sự bảo trợ của Apache Software Foundation. Apache được phát hành
50
với giấy phép Apache License và là một phần mềm tự do và miễn phí.
2.3.5. Leaflet
Leaflet là một thư viện Javascript mã nguồn mở cho việc tương tác với bản đồ.
JavaScript, theo phiên bản hiện hành, là một ngôn ngữ lập trình kịch bản dựa trên đối
tượng được phát triển từ các ý niệm nguyên mẫu. Ngôn ngữ này được dùng rộng rãi
cho các trang web, nhưng cũng được dùng để tạo khả năng viết script sử dụng các đối
tượng nằm sẵn trong các ứng dụng. Nó vốn được phát triển bởi Brendan Eich tại Hãng
truyền thông Netscape với cái tên đầu tiên Mocha, rồi sau đó đổi tên thành LiveScript,
và cuối cùng thành JavaScript.
*Ưu điểm của Javascript:
- Hoàn toàn miễn phí và dễ học.
- JavaScript được thiết kế độc lập với hệ điều hành. Nó có thể chạy trên bất kỳ
hệ điều hành nào có trình duyệt hỗ trợ JavaScript.
- Dễ dàng tương tác, điều khiển và tránh bớt việc xử lý từ phía server
- Nắm vững kiến thức JavaScript bây giờ rất hữu dụng cho các bạn sau này để
có thê tiếp thu những công nghệ mới mà nó được gói gọn vào những ngôn ngữ
như : Ajax , Atlas ….
*Nhược điểm của Javascript:
- Javascript không có trình biên dịch riêng mà được diễn dịch và chạy bởi trình
duyệt hỗ trợ nó. Chính vì thế, nếu trình duyệt không hỗ trợ, hoặc không bật
JavaScript, nó sẽ không chạy được.
- JavaScript có thể làm ứng dụng web của bạn trở nên nặng nề hơn.
- Bảo mật kém. Không có khả năng giấu mã.
Leaflet được phát triển bởi Vladimir Agafonkin. Leaflet thì được thiết kế đơn
giản, nhanh chóng và dễ sử dụng. Nó sử dụng được trên môi trường Desktop,Mobile
51
vì nó sử dụng HTML5, CSS3.
CHƯƠNG 3: THỰC NGHIỆM VÀ ĐÁNH GIÁ HỆ THỐNG TRỰC
QUAN HÓA TRẠNG THÁI GIAO THÔNG HÀ NỘI
Trong các chương trước tôi đã trình bày về cơ sở lý thuyết, bài toán đặt ra, các
thuật toán ứng dụng và hướng tới xây dựng hệ thống Trực quan hóa trạng thái giao
thông Hà Nội trên nền bản đồ số. Trong chương này tôi sẽ trình bày về phân tích thiết
kế hệ thống và xây dựng ứng dụng thử nghiệm, đánh giá về những kết quả của ứng
dụng cùng với đó đưa ra hướng phát triển tiếp theo cho hệ thống được hoàn thiện
hơn.
3.1. Phân tích thiết kế hệ thống
3.1.1. Kiến trúc hệ thống
Phân tích các yêu cầu đầu vào, kết hợp với các mô hình, công cụ, đã trình bày
của luận văn đưa ra mô hình triển khai hệ thống như hình sau [4]:
52
Hình 3.1: Mô hình kiến trúc
Trong đó dữ liệu đầu vào được cập nhật vào cơ sở dữ liệu. Ứng dụng trực quan hóa tình trạng giao thông Hà Nội được xây dựng đưa lên Web server và có quan hệ
với các thành phần khác của hệ thống như trên hình. Googe Maps API sẽ tương tác
với dịch vụ bản đồ của Google để hiển thị bản đồ nền và trực quan dữ liệu trạng thái
giao thông từng tuyến phố cụ thể.
Hệ thống cơ bản được xây dựng trên mô hình với chi tiết từng lớp như sau:
- Lớp người dùng (Client Tier)
Lớp này bao gồm người dùng và quản trị hệ thống.
- Lớp giữa (Applications)
Ở lớp này sẽ được chia ra thành 3 lớp con:
Lớp tương tác với người dùng: người dùng sẽ tương tác với hệ thống thông
qua những hành động như chọn mục nhập mới, sửa, xóa, tìm kiếm hay
click chọn điểm có trên bản đồ và xem được thông tin về camera giám sát
tại điểm đó.
Lớp điều khiển: Lớp này sẽ điều khiển những tương tác của người dùng
ứng với luồng xử lý nào.
Lớp model: Lớp có chức năng mô hình hóa những tương tác của người
dùng theo mô hình hướng đối tượng (một object sẽ gồm những phương
thức và thuộc tính tương ứng)
- Lớp thứ ba (Database layer)
Lớp lưu trữ dữ liệu để thực hiện có kết quả được mọi thao tác của người dùng.
3.1.2. Chức năng hệ thống
Các thành phần trong ứng dụng phát triển theo Mô hình trực quan hóa trạng
thái giao thông trình bày tại mục 1.2.3. Theo phân tích đề xuất áp dụng các kỹ thuật
trình bày tại mục 2.1 và các thuật toán sử dụng “Thuật toán Heatmap để hiển thị mật
53
độ nhân”, “Thuật toán tính giá trị trung bình tại mỗi thời điểm”, thuật toán trình bày
đồ họa “Thuật toán Graphics Layout Algorithms “, sử dụng Leaflet để trình bày dữ
liệu bản đồ, Heatmap để biểu diễn trực quan trạng thái dữ liệu các tuyến đường và
D3js để xây dựng đồ thị biểu diễn trực quan dữ liệu trạng thái giao thông tổng hợp
theo thời gian. Sơ đồ áp dụng mô hình để phát triển ứng dụng như hình 3.2.
Hình 3.2 : Sơ đồ áp dụng mô hình trực quan hóa
Các chức năng hệ thống được mô tả cụ thể dưới đây:
- Nhóm chức năng hiển thị, thao tác bản đồ nền: Nhóm các chức năng này cho
phép hiển thị bản đồ nền dạng tile và các thao tác cơ bản như phóng to, thu nhỏ, dịch
chuyển bản đồ bằng chuột và nút điều khiển.
- Chức năng hiển thị trực quan dữ liệu trạng thái giao thông trên các tuyến
đường: Chức năng này kết hợp dữ liệu địa lý và dữ liệu trạng thái giao thông tại một
thời điểm để tạo ra một lớp bản đồ dạng heatmap trên nền bản đồ số. Các điểm
heatmap nằm dọc theo đoạn đường có giá trị trạng thái giao thông được lấy từ cơ sở
dữ liệu. Mật độ các điểm càng lớn càng thể hiện trạng thái giao thông đông đúc. Đồng
thời với đó, dùng màu sắc và bán kính điểm hiển thị để thể hiện trạng thái giao thông.
Điểm màu đỏ thể hiện mật độ đông hơn so với điểm có màu xanh. Điểm có trạng thái
giao thông lớn sẽ có bán kính lớn hơn.
- Chức năng hiển trực quan dữ liệu trạng thái giao thông tổng hợp: Tại mỗi thời
54
điểm xác định trạng thái giao thông tổng hợp của các tuyến phố khảo sát bằng giá trị
trung bình của trạng thái giao thông từng tuyến. Biểu đồ sẽ thể hiện giá trị tổng hợp
của trạng thái giao thông này theo thời gian. Dữ liệu qua các ngày được tổng hợp để
xây dựng biểu đồ. Do thời gian có thể kéo dài nên biểu đồ này có 1 biểu đồ phụ ở
phía dưới để người dùng có thể phóng tới thời điểm cần quan tâm để xem chi tiết.
Chức năng này có lựa chọn xem biểu đồ tổng hợp trạng thái giao thông theo từng thời
điểm lấy dữ liệu hoặc xem biểu đồ tổng hợp trạng thái giao thông của cả ngày, tuần,
tháng, năm.
- Tiện ích khi chọn vào thời điểm thể hiện trạng thái giao thông tổng hợp trên
biểu đồ thì bản đồ hiển thị trạng thái giao thông tại từng tuyến phố tại thời điểm đó.
- Chức năng lựa chọn thời gian để xem trực quan dữ liệu trạng thái giao thông
cho phép người dùng chọn thời gian quan tâm để xem.
- Chức năng phóng ở biểu đồ để xem các biểu đồ trạng thái giao thông tổng hợp
ở các mức khác nhau: Biểu đồ thể hiện trạng thái giao thông trung bình theo thời điểm
lấy mẫu, theo ngày, theo tuần, theo tháng, năm.
- Chức năng cập nhật dữ liệu theo thời gian thực. Hệ thống sẽ tự động cập nhật
dữ liệu để hiển thị trạng thái giao thông mới nhất có trong cơ sở dữ liệu.
3.1.3. Lược đồ cơ sở dữ liệu
Dữ liệu sau khi được chuẩn hóa, đưa vào cơ sở dữ liệu phục vụ trực quan hóa
gồm có 02 bảng được lưu trữ trong cơ sở dữ liệu PostgreSQL/PostGIS lưu thông tin
và tình trạng giao thông của các tuyến đường, và 04 bảng lưu thông tin tình trạng giao
thông tổng hợp theo ngày, tuần, tháng, năm. Lược đồ cơ sở dữ liệu của hệ thống như
55
hình 3.3.
Hình 3.3: Lược đồ cơ sở dữ liệu
Mô tả cụ thể các bảng dữ liệu trong lược đồ cơ sở dữ liệu:
Bảng Thông tin trạng thái giao thông Mã bảng: tb_traffic
Kiểu dữ liệu: Bảng dữ liệu
Mô tả: Bảng dữ liệu tb_traffic thể hiện thông tin trạng thái giao thông tại các
tuyến đường xác định trong các thời điểm cụ thể.
Các trường dữ liệu trong bảng tb_traffic:
STT Mã trường Kiểu dữ liệu Tên trường Mô tả
1 ID bigint Mã Khóa chính của bảng dữ
liệu.
2 road_id int Mã tuyến đường Mã tuyến đường khảo sát.
3 status int Trạng thái
Dạng số trong khoảng từ 0- 5 lưu giá trị tình trạng giao thông của tuyến đường. Giá trị lớn ứng với tình
trạng đường tắc nghẽn. Các mức cụ thể gồm:
0: Thông thoáng
1: Dễ đi
56
2: Hơi đông
3: Đông đúc 4: Tắc
5: Tắc nghẽn
4 time datetime Thời gian Thời điểm có dữ liệu đánh
giá tình trạng giao thông.
5 duration int Khoảng thời gian Khoảng thời gian duy trì
tình trạng giao thông tính
bằng phút.
6 description ntext Mô tả
Mô tả thêm về thông tin trạng thái giao thông.
Bảng 3.1: Trường dữ liệu thông tin trạng thái giao thông
Bảng Thông tin tuyến đường giao thông Mã bảng: tb_street
Kiểu dữ liệu: Bảng dữ liệu
Mô tả: Bảng dữ liệu tb_ street thể hiện thông tin của các tuyến đường xác định.
Các trường dữ liệu trong bảng tb_ street:
STT Mã trường Kiểu dữ liệu Tên trường Mô tả
1 ID bigint Mã Khóa chính của bảng dữ
liệu. Là mã tuyến đường
khảo sát.
2 name ntext Tên tuyến Tên tuyến đường khảo sát.
đường
3 direction int
Hướng di chuyển
Hướng di chuyển của tuyến đường khảo sát. Giá trị : 0: Tuyến phố hai chiều
1: Tuyến phố một chiều từ điểm đầu đến điểm cuối -1: Tuyến phố một chiều từ
điểm cuối đến điểm đầu
4 description ntext Mô tả
57
Mô tả thêm về thông tin tuyến đường giao thông.
5 geom geometry Thông tin địa lý Dữ liệu địa lý của tuyến
đường (theo kiểu Polyline).
Bảng 3.2: Trường dữ liệu thông tin tuyến đường giao thông
Thống kê trạng thái giao thông theo ngày Mã bảng: tb_day_statistics
Kiểu dữ liệu: Bảng dữ liệu
Mô tả: Bảng dữ liệu tb_day_statistics thống kê trạng thái giao thông tổng hợp
theo ngày. Dữ liệu của bảng này dữ liệu tổng hợp trung bình trạng thái giao thông
của cả hệ thống theo ngày.
Các trường dữ liệu trong bảng tb_day_statistics:
STT Mã trường Kiểu dữ liệu Tên trường Mô tả
1 ID bigint Mã Khóa chính của bảng dữ
liệu.
2 day date Ngày thống kê Ngày thống kê dữ liệu trạng
thái giao thông trung bình.
3 status real Trạng thái giao Giá trị trạng thái giao thông
thông trung bình ngày.
Bảng 3.3: Trường dữ liệu thống kê trạng thái giao thông theo ngày
Thống kê trạng thái giao thông theo tuần Mã bảng: tb_week_statistics
Kiểu dữ liệu: Bảng dữ liệu Mô tả: Bảng dữ liệu tb_week_statistics thống kê trạng thái giao thông tổng hợp theo tuần. Dữ liệu của bảng này dữ liệu tổng hợp trung bình trạng thái giao thông của cả hệ thống theo tuần.
Các trường dữ liệu trong bảng tb_week_statistics:
STT Mã trường Kiểu dữ liệu Tên trường Mô tả
1 ID bigint Mã
58
Khóa chính của bảng dữ liệu.
2 week date Tuần thống kê
Ngày đại diện (đầu tiên) của tuần thống kê dữ liệu trạng
thái giao thông trung bình.
3 status real Trạng thái giao Giá trị trạng thái giao thông
thông trung bình tuần.
Bảng 3.4: Trường dữ liệu thống kê trạng thái giao thông theo tuần
Thống kê trạng thái giao thông theo tháng Mã bảng: tb_month_statistics Kiểu dữ liệu: Bảng dữ liệu
Mô tả: Bảng dữ liệu tb_ month _statistics thống kê trạng thái giao thông tổng
hợp theo tháng. Dữ liệu của bảng này dữ liệu tổng hợp trung bình trạng thái giao
thông của cả hệ thống theo tháng.
Các trường dữ liệu trong bảng tb_ month _statistics:
STT Mã trường Kiểu dữ liệu Tên trường Mô tả
1 ID bigint Mã Khóa chính của bảng dữ
liệu.
2 month date Tháng thống kê Ngày đại diện (đầu tiên) của
tháng thống kê dữ liệu trạng
thái giao thông trung bình.
3 status real
Trạng thái giao thông Giá trị trạng thái giao thông trung bình tháng.
Bảng 3.5: Trường dữ liệu thống kê trạng thái giao thông theo tháng
Thống kê trạng thái giao thông theo năm Mã bảng: tb_year_statistics
59
Kiểu dữ liệu: Bảng dữ liệu
Mô tả: Bảng dữ liệu tb_ year _statistics thống kê trạng thái giao thông tổng hợp theo năm. Dữ liệu của bảng này dữ liệu tổng hợp trung bình trạng thái giao thông của
cả hệ thống theo năm.
Các trường dữ liệu trong bảng tb_ year _statistics:
STT Mã trường Kiểu dữ liệu Tên trường Mô tả
1 ID bigint Mã Khóa chính của bảng dữ
liệu.
2 year date Năm thống kê Ngày đại diện (đầu tiên) của
năm thống kê dữ liệu trạng thái giao thông trung bình.
3 status real Trạng thái giao Giá trị trạng thái giao thông
thông trung bình năm.
Bảng 3.6: Trường dữ liệu thống kê trạng thái giao thông theo năm
3.2. Xây dựng ứng dụng và thử nghiệm
3.2.1. Môi trường ứng dụng
- Thiết lập môi trường phát triển PHP với các thư viện javascript đã giới thiệu:
D3.js, Heatmap.js, Leaflet.js, leaflet-heatmap.js.
- Máy chủ web: Apache
- Hệ quản trị cơ sở dữ liệu: PostgreSQL/PostGIS
- Google Maps API: để khai thác dịch vụ bản đồ của Google
3.2.2. Dữ liệu thử nghiệm
Dữ liệu được tạo để phục vụ thử nghiệm hệ thống trong khoảng thời gian từ
01/06/2014 đến 30/7/2015 theo lược đồ cơ sở dữ liệu:
Dữ liệu về đường giao thông: 5 đoạn đường gồm:
- Ngã ba Phạm Văn Đồng - Trần Quốc Hoàn (Hướng đi cầu Thăng Long)
- Ngã ba Phạm Văn Đồng - Hoàng Quốc Việt (Hướng đi cầu Thăng Long)
- Ngã ba Phạm Văn Đồng - Hoàng Quốc Việt (Hướng đi Phạm Hùng)
- Ngã tư Khuất Duy Tiến - Nguyễn Trãi (Hướng đi Nguyễn Xiển)
- Ngã tư Nguyễn Trãi - Nguyễn Xiển (Hướng đi Ngã Tư Sở)
60
Dữ liệu về trạng thái giao thông:
Dữ liệu được sinh ngẫu nhiên cho toàn bộ 5 đoạn đường trong khoảng thời gian
từ 01/06/2014 đến 30/7/2015, thời điểm lấy dữ liệu trạng thái giao thông 15 phút/lần.
Tổng số 198.890 bản ghi dữ liệu.
Dữ liệu thống kê trạng thái giao thông tổng hợp theo ngày, tuần, tháng:
Theo yêu cầu, dữ liệu này sẽ được tính toán và cập nhật tự động cơ sở dữ liệu
vào cuối ngày, tuần, tháng.
Dưới đây là FUNCTION tính dữ liệu trạng thái giao thông trung bình trong
CREATE FUNCTION f_lv_tbngay(IN fromdate date, IN todate date) RETURNS SETOF f_lv_tbngay AS $BODY$ DECLARE r somefun_type; query text := ''; var_match somefun_type; BEGIN query := 'SELECT b.dt::date as dt, 1.25 FROM tb_traffic b where b.dt>='''||cast(fromdate as
date)||'''
and b.dt<='''||cast(todate as date)||''' and b.idroad = 1 group by b.dt::date order by b.dt::date
asc';
RETURN NEXT var_match;
FOR var_match IN EXECUTE(query) LOOP END LOOP;
FOR r IN EXECUTE(query) LOOP query:='select '''||r.ngay||''', AVG(a.state) as tb from tb_traffic a where a.dt::date = '''||r.ngay||''' '; END LOOP; END; $BODY$ LANGUAGE plpgsql VOLATILE COST 100 ROWS 1000; ALTER FUNCTION f_lv_tbngay(date, date) OWNER TO postgres;
ngày (tính toán cho tuần, tháng được làm tương tự) được cài đặt trong PostgreSQL:
Dữ liệu thử nghiệm của các bảng này trong cơ sở dữ liệu gồm: Bảng
tb_day_statistics có 424 bản ghi, Bảng tb_ week_statistics có 14 bản ghi,
Bảng tb_ month _statistics có 61 bản ghi.
3.3. Kết quả thử nghiệm
Thực hiện các thiết kế và kỹ thuật đã giới thiệu, xây dựng hệ thống thử nghiệm
61
trực quan hóa trạng thái giao thông trên nền web như hình 3.4
Ứng dụng thử nghiệm đã hiển thị được trực quan hóa dữ liệu các tuyến phố trên
nền bản đồ và xây dựng đồ thị thể hiện kết quả tổng hợp trạng thái giao thông của hệ
thống theo thời gian như các yêu cầu về chức năng hệ thống đã phân tích tại mục
3.1.2.
Hệ thống đã được cài đặt thử nghiệm và kết quả màn hình chính hệ thống thử
nghiệm được minh hoạ như hình sau:
Hình 3.4: Màn hình chương trình thử nghiệm
Khi lựa chọn “Chạy theo thời gian thực”, dữ liệu hiển thị trực quan trên bản đồ
thể hiện sự thay đổi trạng thái của ngày cuối cùng được cập nhật trong cơ sở dữ liệu.
Người dùng cũng có thể lựa chọn ngày để xem biểu diễn trực quan hóa trạng thái giao
thông. Dữ liệu hiển thị trực quan trên bản đồ và biểu đồ thể hiện trạng thái giao thông
của ngày được lựa chọn.
Người dùng chọn ngày và nhấn nút “Chọn” để hiển thị trực quan trạng thái giao
thông trên bản đồ và biểu đồ thể hiện trạng thái giao thông tổng hợp của hệ thống
theo ngày được chọn. Do khoảng hiển thị trên biểu đồ lớn, người dùng có thể chọn
khoảng thời gian để xem chi tiết hơn hoặc di chuyển theo khoảng thời gian đã chọn
62
ở biểu đồ phụ bên dưới.
Có thể sử dụng nút “+”, “-” để tăng giảm mức các loại biểu đồ thể hiện trực
quan trạng thái giao thông tổng hợp theo thời điểm, ngày, tuần, tháng.
Hình 3.5 là biểu đồ thể hiện trạng thái giao thông tổng hợp các thời điểm trong
ngày 25/6/2015. Trục x thể hiện thời gian trong ngày, trục y thể hiện giá trị trung bình
trạng thái giao thông toàn bộ hệ thống theo các thời điểm lấy mẫu trong ngày. Tương
tự có các biểu đồ thể hiện trạng thái giao thông theo ngày (Hình 3.6 - Trạng thái giao
thông tổng hợp các ngày), theo tuần (Hình 3.7 - Trạng thái giao thông tổng hợp tuần),
theo tháng (Hình 3.8 - Trạng thái giao thông tổng hợp các tháng).
Giá trị trạng thái giao thông tương ứng với tình trạng của đoạn đường là: 0:
Thông thoáng; 1: Dễ đi; 2: Hơi đông; 3: Đông đúc; 4: Tắc; 5: Tắc nghẽn
Hình 3.5: Biểu đồ tổng hợp trạng thái giao thông theo thời điểm
Hình 3.6: Biểu đồ tổng hợp trạng thái giao thông theo ngày
63
Hình 3.7: Biểu đồ tổng hợp trạng thái giao thông theo tuần
Hình 3.8: Biểu đồ tổng hợp trạng thái giao thông theo tháng
Người dùng có thể chọn thời điểm trên biểu đồ để hiển thị trực quan trạng thái
giao thông trên bản đồ như hình 3.10 thể hiện trạng thái giao thông của 5 đoạn đường
64
vào thời điểm hiện tại ngày 30 tháng 6 năm 2015.
Hình 3.9: Trực quan trạng thái giao thông trên bản đồ theo thời điểm chọn
3.4. Đánh giá
Qua những kết quả thực nghiệm đã đạt được và trình bày ở trên, nhận thấy rằng
hệ thống đã phần nào đáp ứng được những yêu cầu bài toán đặt ra. Qua thực nghiệm
cho thấy hệ thống có sự tương tác với khung hệ thống và cung cấp đến người tham
gia giao thông Hà Nội trực tuyến trên Internet (Web), khai thác được những tính năng,
tiện ích, tính trực quan từ dịch vụ bản đồ số.
Tuy nhiên hệ thống vẫn có nhiều những điểm chưa thực sự tốt. Giao diện hệ
thống mới chỉ đáp ứng được các chức năng đơn giản cơ bản của người dùng chứ chưa
65
có nhiều chức năng chuyên sâu hơn phục vụ việc sắp xếp theo dõi.
KẾT LUẬN
Trong bối cảnh xã hội như hiện nay vấn đề giao thông đường bộ là một trong
những vấn đề lớn trong đó ùn tắc giao thông cũng là vấn đề “nóng” được xã hội quan
tâm. Việc ứng dụng công nghệ thông tin vào hệ thống giao thông đường bộ là giải
pháp đã được ứng dụng ở rất nhiều nơi trên thế giới và mang lại hiệu quả rất lớn. Ở
Hà Nội đã đầu tư nhiều công trình giao thông đường bộ, hệ thống giao thông song
việc áp dụng CNTT, công nghệ hiện đại để quản lý, khai thác hệ thống giao thông
cũng như việc áp dụng CNTT để điều tiết giao thông còn hạn chế. Vì vậy giao thông
thông minh với hạ tầng CNTT hiện đại được xem là một giải pháp tốt để giảm ùn tắc
và tai nạn giao thông.…Với thực trạng đó, luận văn này đã chú trọng đến việc tìm
hiểu, nghiên cứu và xây dựng mô hình trực quan hoá trạng thái giao thông Hà Nội
trên nền bản đồ số.
Qua quá trình nghiên cứu và thực hiện luận văn đã đạt được những kết quả sau:
- Trình bày khái quát hóa về trực quan hóa trạng thái giao hà nội và bài
toán trực quan hóa trạng thái giao thông Hà Nội trên nền bản đồ số.
- Hệ thống hóa một số kỹ thuật liên quan đến việc giải quyết bài toán trực
quan hóa trạng thái giao thông Hà Nội trên nền bản đồ số.
- Cài đặt thử nghiệm hệ thống trực quan hóa trạng thái giao thông cho địa
bàn Hà Nội với 5 đoạn đường bao gồm: Ngã ba Phạm Văn Đồng - Trần
Quốc Hoàn (Hướng đi cầu Thăng Long); Ngã ba Phạm Văn Đồng -
Hoàng Quốc Việt (Hướng đi cầu Thăng Long); Ngã ba Phạm Văn Đồng
- Hoàng Quốc Việt (Hướng đi Phạm Hùng); Ngã tư Khuất Duy Tiến -
Nguyễn Trãi (Hướng đi Nguyễn Xiển); Ngã tư Nguyễn Trãi - Nguyễn
Xiển (Hướng đi Ngã Tư Sở)
Tuy nhiên do hạn chế về thời gian, khả năng tìm hiểu, thiếu sót về kinh nghiệm
nên kết quả thu được còn rất hạn chế và cần tiếp tục xây dựng và cải thiện nhiều hơn
nữa trong tương lai sắp tới.
66
Hướng phát triển tiếp theo của luận văn là:
- Xây dựng hoàn thiện hơn các chức năng đã có, cải thiện hiệu suất và
hướng tới việc áp dụng chương trình cho toàn địa bàn Hà Nội.
- Có tiện ích dự báo ngắn hạn trạng thái giao thông tuyến phố.
- Cho phép người dùng đăng ký nhận thông tin trạng thái giao thông theo
lộ trình tuỳ biến.
- Cho phép quảng bá thông tin trạng thái trực tiếp trên đầu tuyến phố và
đưa ra những khuyến cáo cho người tham gia giao thông trên màn hình
lớn.
- Thêm các chức năng cho phép người dùng tương tác nhiều hơn với ứng
dụng hệ thống.
Trong thời gian tới, tôi sẽ cố gắng hoàn thiện hơn đề tài luận văn của mình để
có thể phục vụ một cách tốt nhất các nhu cầu đã đặt ra nói riêng và các nhu cầu của
67
người dùng nói chung.
TÀI LIỆU THAM KHẢO
[1]. Sở KH-CN Hà Nội, mã số 01C-04/08-2014-2 đề tài “Hệ thống thông tin trạng thái giao thông thành phố Hà Nội: Thực trạng và giải pháp”. [2]. Nguyễn Văn Chương, “Mô phỏng giao thông đường bộ sử dụng NetLogo”, khoá luận tốt nghiệp, trường Đại học Công nghệ, 2013. [3]. Đào Quang Quân, “Xây dựng hệ thống bản đồ số hỗ trợ tích hợp camera giám sát”, khoá luận tốt nghiệp, trường Đại học Công nghệ, 2013. [4]. Phạm Đức Dương, “Mô hình và trực quan hoá dữ liệu trạng thái giao thông trên nền Web”, luận văn tốt nghiệp, trường Đại học Công nghệ, 2015. [5]. TS. Trần Vân Anh, ThS. Nguyễn Thị Yên Giang (2011), Bài giảng Hệ thống thông tin địa lý, Trường Đại học Mỏ Địa chất Hà Nội. [6]. Noah Iliinsky, Julie Steele (2011), Designing Data Visualizations, O’Reilly. [7]. Andy Kirk (2012), Data Visualization: a successful design process, Packt Publishing. [8]. Li, Ming-wei; Yun, Jun, "Calculating the contribution rate of intelligent transportation system for the smooth general characteristic of urban traffic," Management Science & Engineering (ICMSE), 2014 International Conference on , vol., no., pp.1855,1859, 17-19 Aug. 2014. [9]. Rong-Jong Wai; Jeng-Dao Lee; Kun-Lun Chuang, "Real-Time PID Control Strategy for Maglev Transportation System via Particle Swarm Optimization," Industrial Electronics, IEEE Transactions on , vol.58, no.2, pp.629,646, Feb. 2011. [10]. Zhu Yongjun; Zhu Xueli; Zhu Shuxian; Guo shenghui, "Intelligent transportation system based on Internet of Things," World Automation Congress (WAC), 2012 , vol., no., pp.1,3, 24-28 June 2012. [11]. Baselice, Fabio; Ferraioli, Giampaolo; Matuozzo, Gianfranco; Pascazio, Vito; Schirinzi, Gilda, "3D automotive imaging radar for transportation systems monitoring," Environmental Energy and Structural Monitoring Systems (EESMS), 2014 IEEE Workshop on , vol., no., pp.1,5, 17- 18 Sept. 2014. [12]. Ling Li; Ting Wang, "Design and Implement of Vehicle Monitoring System Using 3G Technology," Industrial Control and Electronics , vol., no., Engineering (ICICEE), 2012 International Conference on pp.832,835, 23-25 Aug. 2012. [13]. Liang Xu; Shasha Gao; Haitao Zhang, "Dynamic bus monitoring and scheduling system based on ArcGIS Server technology," Computer
68
Science and Information Processing (CSIP), 2012 International Conference on , vol., no., pp.1438,1441, 24-26 Aug. 2012. [14]. http://bigdata.csail.mit.edu/challenge [15]. Tom Barker (2013), Pro Data Visualization using R and JavaScript, Apress. [16]. Scott Murray (2010), Interactive Data Visualization for the Web, O’Reilly.
69