VIEN KHOA HOC VA CONG NGHE VIET NAM PHAN VIEN CÔNG NGHE THONG TIN TAL TP. HO CHi MINH
DE TÀI NGHIÊN CỨU ~ PHÁT TRIÊN
Thuộc chương trình Cơng nghệ thơng tin
BAO CAO TONG KET
Dé tai: HE CHUONG TRINH
HO TRG QUANLY VA DIEUPHO] HOAT DONG GIAO THONG TP HO CHi MINH
Cơ quan quản lý: Cơ quan chủ trì:
Chủ nhiệm:
Sở Khoa học và Cơng nghệ TPHCM Phân viện Công nghệ thông tin tại TPHCM
TS. Trần Văn Lăng
TPHCM, 6/2005
TOTT-HCMC
Hệ chương trình hỗ trợ quản lý và điều phối hoạt động
giao thơng Thành phố Hồ Chí Minh
Ngày 20/1un/05
MỤC LỤC 1
L1 1⁄2
MỠĐÁU
Mục đíc Pham vi 4p dụng.
1.3
Cụm từ viết tắt
1.4.
Danh mục tải liệu tham khảo
2 _ THUYẾT MINH ĐÈ TÀI. 2.1
2.11
Thông tinchun;
Ten dé wi.
2.1.2
Thi gian thực hiện.
2.13. 2.1.4. 2.1.5. 2.2
Kinh phí được duyệ Cơ quan chủ trì Cơ quan quản k
2.1.6 _ Chủ nhiệm đềt 2.2.1
Nội dung khoa học của đề tai Mục tiêu...
2.2.2 2.2.3 3
Nội dung nghiên cứu.. Phương pháp nghiên cứu
22.4
3.1.
Sân phẩm của để tải
KÉT QUÁ ĐẠT ĐƯỢC... Những kết quả đạt được 3.1.1
Hệ thông hoạt động độc lậi
3.1.3
Hệ
3.1.2 __ Hệ thống hoạt động trên web
3.2 3.3
3.1.4. 3.2.1
3.2.2
thắng điều hành taxi
Tài liệu ky thud Thành viên của đề t Tham gia thực
Cộng tác viết Phân công thực hi
hiện.
34. tL Quan tri 34. 2 Bién soan tài lì 33 3 Hiệu đỉnh tài li 33. 4 Viết chương trình, KỸ THUẬT VÀ CƠNG NGHỊ 4.1 Cơng nghệ SVG cho bản đô trên web .L Sơ lược về §Vi 2 SVG phía Server .13 _
SVG phia Server voi PHP
2.3
Các cơ cấu COM cung cấp. Đổi tượng, thành phần và giao diện trong COI
14
SVG phia Client 4.2. COM sử dụng cho hệ thống web 2.1 Giới thiệu về COM 2 __ Các đặc tinh cba COM. 2.5
Đặc tính của giao diện...
Phân viện Công nghệ Thông tin tạt TP.Hồ Chí Minh.
Trang 2/95
4.2.6
4.3
4.2.7 43.1
Đăng ký và sử dụng DLL chứa các thành phần COM
Các biến hỗ we cho COM cho hệ thông web Cac phuong thie DLL sid Điều chỉnh tọa độ các
Đường một cÍ
4.3.2
Tránh các điể
43.3
433.1 43.3.2 Bản chỉ dẫn đường đi 434
44
43.5
441
Một số phương thức chủ yếu.
Web Service
44.2
4.4.2.1.
Kiến trúc dịch vụ web
Các thành phần cua dich vy wel
4.4.2.2 __ Các lớp giao thức dịch vụ web 4.4.3. Thông điệp dạng XML. XML-RPC... 444.1 SOAP 443.2 Môtä dịch vụ: WSDL 44.4 4.4.5. Tùm kiểm địch vụ: UDDI Truyền tải dịch vụ
44.6
Nhận xé 4.47 4471
4.5
9
0
Tim đường đi ngắn nhất gì
4.5.4
0
Quản lýhệ thống tun xe buy’
4.5.5
4.5.6 4.5.7 4.6 __ Bài tốn mơ phỏng hoạt động tax á Đã 46.1 46.2 Giải quy 5.1
tệ chương trình hỗ trợ quản lý và điều phối hoạt động giao thơng Thành phố Hồ Chí Minh
TOIT-ECMC
-
MƠ TẢ HỆ THƠNG
2 2 42 42 43
Hé thing hoại đội Mơi trường phát trién hé thơng
-1.5.2
1
Đặc điểm của hệ thống.. Những lợi ích khi sử dụng cơng nghệ Web Service: Các chức năng chính và giao điện của hệ thơn l8
46
+6 47
a
Trang Wap tìm đường dành cho các thiết
lệ thơng hoạt động độc Lay
Các chức năng bản đi
Phân viện Công nghệ Thơng tin tại TP. Chí Minh:
Trang 3/95
TOTT-HCMC
-_ Hệ chương trình hỗ trợ quản lý và điều phối hoạt động giao thơng Thành phố Hồ Chí Minh Ban đồ con
Cây qn lí các Các cơng cụ bản đồ
Các cơng cụ soạn thảo bản
5.2.2.5
Ngày 20/1un/05 51
SI 51
Cơng cụtìm đường.
Hệ thống điều hành taxi.
Mục tiêu và chức năng
3.2.1
Mơ hình hệ thống,
Mơi trường phải triển.
5.3.2.2 Đặc tà hệ thơng... 5.3.3 Đặc điểm
5.34 Giao diện chương trinl 5.3.4.1 Trên máy mơ phỏng
6 7 §
5.3.4.2...
KETLUAN.
Trên hệ thông điều hành quản lý taxi
60
PHULUC ữ liệu về các tuyến đường. PHÙ LỤC B: Dữ liệu về các tuyến xe bt...
Phân viện Cơng nghệ Thơng tin tại TP.Hồ Chí Minh
Trang 4/95
101T-HCMC
1+
Ngây 20/Jun/05
Hệ chương trinh hỗ trợ quản lý và điều phối hoạt động.
giao thông Thành phổ Hồ Chỉ Minh
MỞ ĐÀU
4.1 Mục đích Tài liệu nảy được biên soạn như một phần của sản phẩm c
'Hệ chương trình hỗ
trợ quản lý và điều phối hoạt động giao thông Thành phổ Hồ Chỉ Minh” thuộc chương trình CNTT, đo Sở Khoa học và Cơng nghệ TPHCM quản lý. 1.2
Pham vi ap dung
Tài liệu này được đùng như một báo cáo bỗ sung chỉ tiết cho bản báo cáo tóm tắt, đề trình
bày trước hội đồng nghiệm thu do Sở Khơa học và Công nghệ TPTICM thành lập. Đồng thời làm căn cứ để trình lánh đạo Sở Khoa học và Công nghệ TPHCM xem xét thanh lý
hợp đồng số 178/HĐ-SKHCN ngày 21/10/2003 được ký kết giữa Sở khoa học và Công
nghệ TPHCM với Phân viện Công nghệ Thông tin tại TPHCM. 1.3 Cụm từ viết tắt
Những từ và cụm từviết tắt sử dụng trong tài liệu bao gềm:
TPHCM CNTT KHCN PVCNTT
Thành phố Hề Chí Minh Cơng nghệ Thơng tin Sở Khoa học và Công nghệ TPHCM. Phân viện Công nghệ Thông tỉn tại Thành phố Hồ Chí Minh
VPF
Vector Product Format
GIS SVG PHP XML
DOM COM
SOAP
WSDL
Geographic Information Systems Scalable Vector Graphics PHP: Hypertext Preprocessor
Extensible Markup Language Document Object Model Component Object Model
Simple Object Access Protocol
Web Services Description Language
HTTP
Hypertext Transfer Protocol
SMTP
Simple Mail Transfer Protocol
UDDI FIP
BEEP GPS. SSL WSIF
RPC
TSP DBMS ITS
us
Universal Description, Deployment and Intergration File Transfer Protoco!
Block Extensible Exchange Protocol Global Positioning System Secure Sockets Layer Web Services Invocation Framework Remote Procedure Call
Travelling Salesman Problem DataBase Management System Intelligent Tranportation System
Microsoft Internet Information Server
1.4
Danh mục tài liệu tham khảo
(I]
A. Watt, C. Lilley. et. a! (2002) SVG Unleashed, Sams Publishers.
Phân viện Công nghé Théng tin tai TP.H6 Chi Minh
Trang 5/95
TOIT-HCMC
tệ chương trình hỗ trợ quản lý và điều phối hoạt động
giao thơng Thành phố Hồ Chí Minh
Ngày 20/Jun/05
[2] 1.D.C. Little, K. G. Murty, et. al (1993). An algorithm for the traveling salesman problem, Oper. Res., 11, pp 972-989. [3] Peter van Oosterom (1993) Reactive Data Structures for Geographic information System, Oxford University Press. [4] W3.Org (2003). The World-Wide-Web Consortium, http.//www.w3.org/ [5] W3.Org (2003). Scalable Vector Graphics 1.1 Specification {6} Carto (003) Example for server-side SVG generation with PHP. htp://www.carto.net/papers/svg/samples/serverside_svg_php.shtml. Serverside SVG Programming. (2003) ROASP: IT Systems [7] RO bttp://www.roasp.com. [8] Department of Defense (1996). Interface standard for Vector Product Formai, MIL-STD-2407. [9] Andreas Neumann and Andréas M. Winter (). Time for SVG — Towards High Quality Interactive Web — Maps. Institute of Cartography, ETH Zurich.
{10] Adobe.com (2003). SVG Resource at Adobe.com, hitp://www.adobe.com/svg/ [II] Geoffrey Fox and Bryan Carpenter (2002). SVG: Scalable Vector Graphics. Indiana University. [12] SVG Open 2003 Conference and Exhibition (2003). 7 Annual Conference on
Scalable Vector Graphics. bttp://www.svgopen.org/2003/presenter.html [13] J.David Eisenberg (2002), SVG Essentials. O'Reilly and Associates. {14} Patrik Johansson & Robert Siirila (2001). Internet vector map server. University Of Gavle Department Of Technology.
[15] Trần Văn Lăng, Nguyễn Kim Khơi, Đảo Văn Tuyết, Nguyễn Tín Quang (2003), Sử dụng cơng nghệ SVG trong bản đỗ trên web, Hội thảo quốc gia về các vấn đề chọn
lọc của CNTT, Thái Nguyễn, 29-3 1/8/2003.
[16] Nguyễn Tín Quang, Trần Thị Minh Khang (2004), Một số phương pháp tiếp cận
trong việc xây dựng hệ thông bản đô trên web, Hội thảo Quốc gia lan thir VII “Moe số vấn đề chọn lọc của Công nghệ thơng tin và Truyền thơng”, Đả Nẵng, 8/2004. [I7] Nguyễn Tín Quang, Nguyễn Kim Khôi (2004), SVG phia Server cho bán đồ trên web, Hội thảo Khoa học lần thứ Ï, Phân viện CNTT tại TPHCM (SCIOITHCM 04), TPHCM, 24/3/2004. [18] Trang Hồng Sơn, Nguyễn Tín Quang (2005), Xây đựng ứng dụng WAP sit dung
Web Services, Hội thảo Khoa học lần thứ I, Phân viện CNTT tại TPHCM (SCIOITHCM: 05), TPHCM, 30/3/2005.
Phân viên Cơng nghệ Thơng tin tại TP.Hồ Chí Minh:
Trang 6/95
TOTT~HCMC
Hệ chương trình hỗ trợ quản lý và điều phối hoạt động giao thơng Thành phổ Hồ Chí Minh
Ngày 20/2un/05
2. THUYET MINH DE TA! 2.1
Théng tin chung
2.4.4 Tén da tai
Hệ chương trình hỗ trợ quản lý và điều phối hoạt động giao thông TPHCM.
2.1.2 Thời gian thực hiện
Mười hai tháng, kế từ tháng 10/2003 đến tháng 10/2004 (theo hợp đồng số 178/HĐ-
SKHCN, ngày 21 tháng 10 năm 2003) 2.1.3 Kinh phí được duyệt
Tổng kinh phí: 180.000.000 đồng.
Trong đỏ, ~ Giai đoạn 1:190.000.000 đồng - Giai đoạn 2: 60.000.000 đồng - Giai đoạn 3: 20.000.000 đồng (sẽ được chuyển sau khi nghiệm thu thành công) 2.1.4
Cơ quan chủ trì
Tên cơ quan: Phân Viện Cơng nghệ Thơng tìn tại TPHCM Địa chỉ:
Nghiên cứu một số giải pháp công nghệ, khai thác và sử dụng các đữ liệu bản đỏ hiện có
để xây dựng phần mềm máy tỉnh hỗ trợ hoạt động của các phương tiện giao thông tại TPHCM thông qua mạng IntraneUTInternet. 2.2.2
Nội dung nghiên cứu
a) Xây dựng hệ thống hỗ trợ hoạt động của các phương tiện vận chuyển, với các tính
nang sau đây:
« Tìm các tuyến xe bt cần thiết trên một mạng lưới giao thông của thành phổ, từ đỏ giúp người dân chọn lựa. tuyến đường cần đi sao cho tiết kiệm thời gian, hoặc kinh phí, hoặc phục vụ cho mục tiêu tham quan.v.v...
Phân viện Công nghệ Thông tin tai TP.Hỗ Chí Minh.
Trang 7/95
Ngày 20/Jun/05
Hệ chương trình hỗ trợ quản lý và điều phối hoạt động
ø_ Nghiên cứu và ứng dụng các thành tựu về lý thuyết, đặc biệt trong lĩnh vực xử lý song song/phân tán, các thuật giải tìm kiếm tơi ưu mang tính tiến hố, heurictic
đề xây dựng hệ thống đáp ứng yêu cầu nhiều người dùng qua mạng.
«_ Nghiên cứu các cơng nghệ lập trình trên các hệ thơng mã nguồn mở để cỏ thẻ xây dựng và tích hợp được các module chương trình.
2.2.4 Sản phẩm của đề tài Tên sản phẩm TT 1 | Phẫn mềm hoạt động trên máy đơn
| Yêu cầu khoa học, kinh tế | day: Phan mềm bao gôm các tính năng sau
> Cho phép người dân xác định các |
| hỗ trợ quản lý sự hoạt động của
Ì phương tiện
tưới giao thông.
tuyển xe buýt cần thiết.
vận chuyển trên mạng
> Ban quan lý giao quản trị việc phân tiện vận chuyển không gian và thời > Xác định lộ trình
1
giao thơng.
2 | Phan mém hoạt động trên mạnghỗ
| trợ người dân trong việc sử dụng
| phương tiện vận chuyên trên mạng
lưới giao thông.
I
thông sử dụng để luồng các phương khác nhau theo.
gian. tôi ưu trên mạng,
> Sử dụng nhiều nguồn dữ liệu bàn để ` từ hệ thông, khác.
! Phần mềm bao gồm các tính năng sau đây:
> Cho phép người dân xác định các; tuyến xe buýt cần thiết thơng qua
| trình duyệt web. >> Từ trình duyệt web có thể xác định lộ trình tối ưu trên mạng giao thơng.
3_ | Tài liệu kỹ thuật, hướng dẫn sử dụng. | Có nội dung rồ ràng, phù hợp với người sử dụng bảo tri, quan trị Phân viện Cơng nghệ Thơng tin tại TP.Hư Chí Minh
Ị
Trang B/95
j |
Hệ chương trình hỗ trợ quản lý và điều phối hoạt động
TOTT-HCMC
giao thơng Thành phố Hồ Chí Minh
Ngày 20/Jun/05
3_ KÉT QUÁ ĐẠT ĐƯỢC 3.1
Những kết quả đạt được
3.1.1 Hệ thống hoạt động độc lập.
Phần mềm hoạt động trén may đơn, hỗ trợ sự quản lý hoạt động với cơ sở dữ liệu được
quan trị bởi hệ quản tị MySQL. Đây là một hệ thống hoạt động độc lập, dùng cho các bộ phận quản lý giao thơng đơ thì với các chức năng:
» Quan lý việc phân luồng các phương tiện vận chuyển khác nhau, qua đó có thể cập nhật dữ liệu về mạng lưới giao thơng đơ thị. « Tìm lộ trình tôi ưu qua nhiều điểm trên mạng lưới giao thông. ø
Xác
định các tuyết
xe bt cần thiết,
« Mơ phỏng điều phối hoạt động xe taxi với số lượng lớn thông qua việc phát sinh
ngẫu nhiên.
» Hệ thơng có thể tương tắc với nhiều nguồn dữ liệu bản đồ khác nhau.
3.1.2 Hệ thống hoạt động trên web
Phần mềm nảy hoạt động trên mạng thông qua các Web Browser, với các Web Server
thông dụng như Internet Information Server (IIS), Apache Server cé sự tích hợp PHP. Co sở đữ liệu của hệ thống được quản trị bởi hệ quản trị MySQL
thống nhất với hệ thống
hoạt độc độc lập, Hệ thông nảy bao gồm các chức năng giúp người sử dụng tìm kiếm các thơng tin cân thi
n quan đến giao thông đô thị như sau đây:
+ Tm đường đi cho các loại phương tiện như xe máy, xe ô tô, xe 3 bánh và xe tài theo thời gian khác nhau tùy thuộc vào sự cho phép của bộ phận quản lý giao
thơng đơ thị. « Xác định các tuyển xe buýt cần thiết giữa hai trạm, đưa ra các chỉ dẫn về tuyến xe và các trạm cân đi qua.
+ Di có 3 nguồn dữ liệu bản đơ phục vụ giao thơng và du lịch. « Trang web bao gồm giao diện tiếng Anh và tiếng Việt đẻ phục vụ khách du lịch nước ngoài cũng như người dân trong, nước.
« Hệ thêngtìm kiểm lộ trình tối vu khi có tình trạng ùn tắc giao thơng. « Thiết kế chu trình thu góp rác tối tru nhằm phục vụ cho việc thường xuyên thay đổi vị trí tập trung rác thải dân cư.
3.1.3 Hệ thống
điều hành taxi
Hệ thống bao gồm các 3 thành phần chỉnh sau đây, với dữ liệu được quản trị bởi hệ quản
trị cơ sở đỡ liệu MySQL.
« Thành phẩn mỏ phỏng sự đi chuyển của các đối tượng taxi trên mạng lưới giao thơng.
« Thành phần quản trị của bộ phận điều hành công ty taxi, cho phép nhập dữ liệu khách hang; tim kiểm taxi rãnh gin nhất, gửi lệnh điều hành đến taxi tìm thấy;
nhận tin hiệu cấp cứu; phát lệnh điều hành taxi đến vị trí taxi có tín hiệu cấp cứu.
« Thành phần cập nhật đữ liệu, bao gồm việc nhận thơng tin từ
thành phần mơ
phóng. để chuyên dữ liệu về trung tâm. Tại trung tâm cập nhật dữ liệu về vị trí và
tải trọng của taxi căn cứ vào tinh trang biện hành của taxi đó. Thành phần này nhằm kết nỗi hai hệ thống trên thông qua cổng COM.
Phân viện Công nghệ Thông tin tại TP.Hồ Chỉ Minh
Trang 9/95
1OIT-HCMC
Hệ chương trình hỗ trợ quản lý va điều phối hoạt động giao thơng Thành phố Hồ Chí Minh
Ngày 20/1un/0S
Hệ thống này có thể triển khai thực tế khi có các thiết bị định vị GPS nối với máy tính
thơng qua cơng COM
3.1.4. Tài liệu kỹ thuật
Bao gồm:
Báo cáo tồn văn với nội đung mô tả các kỹ thuật và công nghệ sử dụng; minh họa hệ
thơng
«_ Tài liệu hướng dẫn sử dụng phần mềm va trang web.
3.2 Thành viên của đề tài 3.2.1
Tham gia thực hiện
Hẹ và tên Trân Văn Lăng
Hoc vi Tiến sĩ
Phan Võ Minh Duy
Kỹ sư
Nguyễn Tín Quang Tran Thi Minh Khang Nguyễn Kim Khôi
Trang Hồng Sơn
Kj su Ky su
Thạc sĩ
Phân công thực hiện Điều hành chung
Hệ thống hoạt động trên mạng -RE~ ~nt-
~nt-
Cử nhân
Hệ thống điều hành taxi
Thạc sĩ
Hệ thống hoạt động độc lập
Họ và tên Lê Mậu Long
Học vị Cử nhân
Cơ quan công tác Phân Viện CNTT tại TPHCM
Nguyễn Ngọc Tú
“Thạc sĩ
~"E-
Phù Trần Tin
Nguyễn Minh Nam
Nguyễn Vĩnh Nam Luu Quang Dat
3.2.2
Cộng tác viên
Đảo Văn Tuyết
Võ Nguyên Anh Thơ
Trần Bá Tuyến Từ Tuyết Hong
Nguyễn Ngọc Loan
3.3
Cử nhân
Thạc sĩ Ky su
Thạc sĩ
~nt-
~nt~ -nt-
-nt-
Kỹ sự
-nt-
Cử nhân
-nt-
Cử nhân “Thạc sĩ
-Rt~ -nt-
Phân công thực hiện
3.3.1
Quản trị
Chủ nhiệm: Thư ký:
TS Trần Van Lang
KS Nguyễn Tín Quang
3.3.2 Biên soạn tài liệu ones
se TS Trần Văn Lang KS Nguyễn Tin Quang
KS Trân Thị Minh Khang
CN Trang Hồng Sơn
KS Phan Võ Minh Duy
Phân viện Công nghệ Thông tin tại TP.Hồ Chí Hinh
Trang 10/95
TOIT-HCHC
Hệ chương trình hỗ trợ quản lý và điều phối hoạt động
giao thơng Thành phố Hồ Chí Minh
Ngày 20/)un/05.
TTh§ Nguyễn Minh Nam
ThS Nguyén Vinh Nam 3.3.3 Hiệu đính tài
TS Tran Van Lang KS Nguyén Tin Quang ThS Nguyén Kim Khéi
ThS Nguyén Vinh Nam ThS Nguyén Minh Nam KS Luv Quang Dat
Phan viên Công nghệ Thông tin tai TP.Hồ Chí Hinh
Trang 11/95
1O1T-HCHC
Hệ chương trình hỗ trợ quản lý và điều phối hoạt động giao thơng Thành phố Hỗ Chí Minh
4_
KỸ THUẬT VÀ CƠNG NGHỆ SỬ DỤNG
4.1
Cơng nghệ SVG cho bản đỗ trên web
Ngày 20/1un/0S
Hiện nay các bản đỗ trên Internet ở Việt Nam và một phần khơng nhỏ trên thế giới vẫn
cịn sử dụng công nghé anh bitmap (raster images). Day là cơng nghệ đã có từ lầu, bản thân cơng nghệ này có rất nhiều nhược điểm. Để đưa ảnh bitmap lên Internet thì thơng
thường các
ảnh bitmap xuất
ra có chất lượng chỉ vào khoảng trung bình (để giảm kích
thước của ảnh). Đồng thời khả năng tương tác của anh rất han chế và tương đối chậm vì
phải dùng đến cơng nghệ ActiveX hoặc Java Applet. Công nghệ SVG (Scalabte Vector Graphics) ra đời dựa trên chuẩn XML đã khác phục được những nhược điểm của ảnh bitmap và có tất cả ưu điểm của ảnh vector. SVG mở ra một thời kỳ mới cho công nghệ
ảnh trên web, đặc biệt để biểu điển dữ liệu địa lý lên web. Các dữ liệu địa lý hiện nay đều được lưu trữ trong cơ sở dữ liệu dưới dạng vector. Khi
cần biểu điển lên web phải chuyên đổi dữ liệu bản đồ trên máy phục Vụ (Server) sang
dạng raster. Điều này làm giảm chất lượng và khả năng tương tác của ảnh, chăng hạn như đi chuyển bản đồ, phóng to, thu nhỏ, hiển thị các lớp địa lý. Tất cả những thao tác này
đều không thể thực hiện từ phía máy trạm (clienQ) mà phải gửi yêu cầu về phía máy phục vụ để phía máy phục vụ vẽ lại theo yêu cầu của người dùng. Hơn nữa đây là những thao tác thường xuyên khi sử dụng hệ thống bân đổ. Với công nghệ anh SVG, ta sẽ có thé khắc phục được tắt cả các nhược điềm trên bằng cách chuyển đổi dữ liệu bản đồ trong cơ
sở dữ liệu sang định dạng của SVG, sau đó gửi anh vector nay về phía client. Mọi thao tác cơ bản trên bản đồ sẽ chỉ cần thực hiện ở phía client.
4.1.1 Sơ lược về SVG
SVG viết tắt cia Scalable Vector Graphics. SVG được sảng lập bởi tổ chức W3C, SVG được coi như ngôn ngữ dùng để mô tả ảnh hai chiều dựa trên chuẩn XMI. SVG hiển thị được ba dạng đổi tượng để họa: các hình thể đỗ họa vector (vector graphic shapes), anh (images) va van ban (text). Những ưu im ca SVG: ôâ Vi l vn bn thun tỳy nên ảnh SVG có thể soạn thảo bằng bất cứ chương trình soạn thảo văn bản nào.
Kích thước nhỏ và nén để đàng.
In ở mọi độ phân giải mả vẫn đạt chất lượng cao. Phóng to thu nhỏ mà các chỉ tiết vẫn giữ độ sắc nét.
Văn bản trong SVG có thể đánh dâu hoặc tìm kiếm. Kết hợp được với cơng nghệ Java.
Là một đạng chuẩn mở.
“Thừa hưởng tất cả những ưu điểm của XML. Vi dụ về cầu trúc của một tập tin SVG độc lập:
Ty <?xml version="1.0" standalone=""2> 2.
svg
PUBLIC
"-//W3C//DTD
SVG
1.1//EN”
3, “http: //www.w3.org/Graphics/SVG/1.1/DID/svgl1.dtd"> 4. y="0"> Phận viện Cơng nghệ Thơng tin tại TP.Hồ Chí Minh
Trang 12/95
TOTT-HCHC
tiệ chương trình hỗ trợ quán lý và điều phối hoạt động
giao thơng Thành phố Hồ Chí Minh
Ngày 20/1un/05
› Định nghĩa Document Type Declaration (DTD).
ệt đọc tới thẻ (tag) này thì sẽ hiểu đây là ảnh SVG.
trong 46 width và hejghr là hai thuộc tính của tag <zvg> dùng để chỉ chiều rộng và cao của ảnh. Nếu không khai bảo ảnh sẽ dùng độ rộng và dài của trình duyệt.
x và y đễ chỉ ra vị trí biểu diễn SVG trong trình duyệt,
Dịng Š - 7: Biểu diễn các phần tử của SVG. Dịng §: Kết thúc anh SVG.
Một ví dụ đơn giản về một tập tin SVG hoàn chỉnh, kết quả như Hình 4...
Hình 4.1 Kết quả sau khi chạy đoạn chương trình trên.
SVG sử dụng thể "<g>” để gom các đối tượng có chung tính chất thành một nhóm vì
một mục đích nào đó, chẳng hạn phần văn bản (chữ ïọt và Gis) được nhóm lại theo cùng một nhóm có định danh là myText, các hình thể hình học được nhóm với định danh là myShape. Các lớp bàn đồ là các đối tượng địa lý được quân lý hoàn toàn tương tự.
Phân viện Cơng nghệ Thơng tín tại TP.Hồ Chí Minh
Trang 13/95
Hệ chương trình hỗ trợ quản lý và điều phối hoạt động “giao thơng Thành phố Hồ Chí Minh
1OTT-HCMC _
Ngày 20/0un/05
SVG phía Server Web Server khi gửi một trang văn bản web có kèm theo ảnh SVG tdi client, phia client phải cỏ một cơ chế để nhận dạng tập tin đó là SVG, từ đó chuyển nội đụng van ban cho
4.1.2
SVG Viewer thích hợp để hiển thị lên web. Cơ chế này được gọi là MIME (Mime Type) và hoạt động như Hình 4.2.
Hình 4.2 Cơ ché Mime Type
Mime type của SVG theo RFC3023 là image/svg+xmÌ Tùy Web Server sẽ có cách cầu hình MIME tương ứng. Ví dụ với Apache Web Server, : /ectUmime.types hoặc /etc/httpd/mime.types, khi đó cân mime-type thường đặt ở thư
thêm một định nghĩa MIME mới : image/svg+xml svg svgz vào tập tin đã xác địnhở trên. 4.1.3
SVG phía Server với PHP
Khi sử dụng PHP, đầu tiên phải thiết lập MIME type bằng cách sở dụng ham headerQ, cũng cần phải đặt lệnh gọi hàm này ngay ở đầu chương trình dé trình đuyệt có thé hiéu được tài liệu văn ban sir dung !a SVG:
(Content-type:
[header
I
image/svgtxml”}:
Sau đó cho Web Browser biét dinh dang dang ding la XML bang dong khai bao "
Ï<?xm1l version="1,0"7>
— ]
Tuy nhiên cách khai báo trên lại dùng đến ký tự đặc biệt “<7” của PHP, vì vậy cần sửa lại đặc biệt của PHP trong tập tin PHP ini. hoặc dùng hàm echo() hoặc printƠ của PHP để hiển thị dịng khai báo trên. Một ví dụ đơn giản để hiển thị SVG bằng PHP :
{header echo 7>
(*Content-type:
“« version="1,0"2>“;
width="400"
</svg>
x="20"
image/s+z†zmì”];
height="400">
y="20">Phan
vien
Phân viện Cơng nghệ Thơng tin tại TP.Hồ Chí Minh,
C:TT</text>
Trang 14/95.
Hệ chương trình hỗ trợ quản lý và điều phối hoạt động
LOLT-HCMC
giao thơng Thành phố Hồ Chí Minh.
Ngày 20/2un/05
Vi du trên chỉ dùng PHP dé sinh ra header va dong khai bao XML.
Dữ liệu bản đỗ dùng trong ví dụ này được tô chức theo chuẩn VPF và lưu trữ trong hệ quản trị cơ sở đữ
VPF là định dạng cấu trúc chuẩn. được tổ chức riêng cho các cơ sở dữ liệu địa lý lớn. trong đó dữ liệu địa lý được biểu diễn bởi đỉnh, cạnh và bề mặt, rất thích hợp để cải đặt
các giải thuật thiết kế cho cấu trúc topology, Giả sử có cơ sở đữ liệu như sau:
Bang Node: ding 4é lưu tọa độ của đỉnh Nodeld I 2 3
Đồng 1 đến 6: Kết nếi tới eơ sở dữ liệu MySql với các thông số như địa chỉ server
(§host). tài khoản (Susername) để truy cập cơ sở dữ liệu (§database), v.v...
Dịng 7: Khai báo cho SVG biết điểm bắt đầu của lớp đường. Để hiển thị đẩy đủ một bản
đề cân thêm nhiều lớp như: lớp ranh giới. sơng ngịi, tên đường. ... Các lớp được tơ chức
trong SVG theo từng nhóm (eroup) và dùng tag "<e>” để tách biệt các nhóm (lớp địa lý)
với nhau.
Dịng 7 đến 10: Thực thí các cầu lệnh truy vấn đến các bảng trong cơ sở dữ liệu MapDB,
Dòng 13 đến 20: Đọc 2 bảng tọa độ đỉnh và độ rộng từ cơ sở dữ liệu. song 22 đến 30: Phần chương trình chính, dùng để duyệt bảng cạnh trong cơ sở dữ liệu, kết hợp với 2 mảng đã tạo ở trên để xuất ra lệnh vẽ tương ứng của SVG. Toa đô các đỉnh:
$StartNode + $Coords + $EndNode
~~
{printé( Độ rộng của cạnh, được
tra trong bang canh
d=\"$d\" stroke-width=\"$width\"/>");
Phần viện Công nghệ Thông tin tại TP.Hồ Chí Minh
Trang 16/95
{
1OTT-HCMC
Hệ chương trình hỗ trợ quản tý và điều phổi hoạt động giao thơng Thành phố Hồ Chí Minh
Ngày 20/Jun/05
4.1.4 SVG phia Client
Vi SVG được xây dựng dựa trên chuẩn XML, nên đẻ tác động đến cấu trúc của XML
phai ding dén XML DOM. DOM (Document Object Model): là giao diện lập trình (programming interface) cho XML, dinh ra céc phurong thitc dé truy cập và điều kh một tai liệu XML, Ngoài việc hỗ trợ các phương thức DOM có sẵn của XML, SVG còn
cung cấp khả nhiều các phương thức khác để hỗ trợ người lập trình trong quá trình soạn
thảo SVG
Mat vi dụ về phương thức và thuộc tính mà SVG cung cấp cho phép biến hinh (transform) trong SVG :
[Object
§VGTransform
The SVGTransform object has the following properties: type This read-only property is of type Number. matrix
This read-only property is of type SVGMatrix. angle This read-only property is of type Number. The SVGTransform object has the following methods: secMatrix (matrix) This method has no return value. The matrix parameter is of type $VGMatrix. set Translate (tx, ty) This method has no return value. The tx parameter is of type Number. The ty parameter is of type Number. setScale(sx, sy)
|
:
This
method
has
The sx parameter The sy parameter
no return
setRotate (angle, cx,cy}
This method has no parameter rameter is The cy parameter is setSxewX (angle) This method nas no The angle parameter setSkewY (angie)
|
This method
has
value.
is of type Number, is of type Number. return value,
is of type Number. of type Number. of type Number. return value. is of type Number.
no return
value.
The angle parameter is of type Number.
Dé gọi được các phương thức do SVG cung cấp, phải đùng ngôn ngữ kịch bản (script) phia client. Javascript hỗ trợ rất t6t cho XML DOM. Chang han, voi doan Javascript cho đối tượng SVGTransformở
trên:
var svgDoc = svgDocument
var
svgRoot
=
//khai báo biến để lưu tài liệu SVG
svgDoc.rootElement
//ldy
ra
gốc
của
var newTransform = svgRoot.createSVGTransform(}; ⁄/
tạo
đổi
newTrans form. setTranslate (50, -100); Phân viện Công nghệ Thơng tin tại TP.Hồ Chí Minh
tượng
cẩu
transform
trúc
SVG
mới
Trang 17/95
1OIT-RCMC
Ngày 20/)un/05
tệ chương trình hỗ trợ quản lý và điều phối hoạt động giao thơng Thành phố Hồ Chí Mình. //dịch
newTrans€ozm, setRorate(601;
pixel,
chuyển
xng
anh
dưới
SVG
100
qua
pixel.
phải
50!
J
//xoay ảnh SVG một góc 60 độ.
|
4.2 COM sử dụng cho hệ thống web
4.2.1 Giới thiệu về COM
COM (Component Object Model) là một kiến trúc phần mềm thành phẩn, cho phép các
ứng dụng hay các hệ thống được xây dựng từ các thành phan khác nhau, các thành phân
này có thể được tạo lập từ các phần mềm khác nhau. Ví dụ như những thinh phan COM
được tạo bởi ngôn ngữ C/C++ vẫn có. thể được sử dụng bởi các chương trình tạo bởi các
ngơn ngữ khác như ASP, JSP, PHP, ... COM
cho các địch vụ phần mềm cao cấp.
là kiến trúc bên dưới tạo thành nén tang
4.2.2 Các đặc tính của COM
COM có các đặc tính cơ bản và nỗi bật sau: Định nghĩa một tiêu chuẩn nhị phân cho các thành phần.
4.2.3 Các cơ cấu COM cung cấp COM cung cấp các cơ cấu cho phép:
Liên lạc giữa các thành phản, thơng qua các tiễn trình và thơng qua web.
Quản lý bộ nhớ được chỉa sẻ giữa các thành phần. Ghi lại trạng thái và lỗi của các thànhphản.
Các thành phần được tải động.
4.2.4 Đối tượng, thành phần và giao diện trong CoM Các đối tượng của COM là các đối liệu va chức năng của r ig nd. Nhưng khác với các Đơi tượng thảnh phan cũng có dữ tượng trong các ngơn ngữ lập trinh, các đối tượng thành phần không thể truy cập dữ liệu và chức năng của nhau, chúng phải truy cập thông qua các giao diện. Giao diện bao gồm các hàm của một đối tượng thành phan, truy cập giữa các thành phân
và giữa thành phẩn với hệ thống, Một đối tượng thành phẩn có thể có nhiều giao điện.
nhưng một giao điện chỉ thuộc về một thành phân. Tất cả các giao diện đều kế thừa từ giao điện TUnknow.
4.2.5 Đặc tính của giao diện
s Một giao diện khơng là một lớp. Một lớp có thể được trừu tượng hố để thành
một đơi tượng thành phân, một. giao điện khơng trừu tượng vì khơng chứa một thực thể nào cả. Giao điện được thực thi bởi đối tượng thành phân mà nó thuộc về,
Phân viện Cơng nghệ Thơng tin tại TP.H Chi Minh
Trang 18/95
Hệ chương trình hỗ trợ quản lý và điều phối hoạt động giao thơng Thanh phố Hồ Chí Minh
10TT-NCMC
Ngày 20/10/05
« Một giao điện không phải là một đối tượng thành phan. Giao diện là một nhóm các hàm có liên quan và là tiêu chuân nhị phần để client và thành phần liên lạc với nhau. Một đối tượng thành phần có thể được thực thí bởi bất cứ : ngơn ngữ nào với bắt cử thể hiện trạng. thái nào bẽn trong, vì thể có thể cung cấp các con trê đến các hàm thành phần của giao diện.
B @——
Interface
- Đội tường
+ Cliemt chỉ có thể tương tác với cọn trơ của giao diện. Con trở này được gọi là con. trỏ giao điện. Con trỏ giao điệnãidn dấu các thực thể bên trong của nó, các đữ liệu bên trong khơng thể truy cập được.
Interface Pointer
điện,
« Đối tượng thánh phần có thể thực thi nhiều giao
Đó là trong trường hợp
một lớp cung cấp nhiều dịch vụ, mỗi dich vụ gồm nhiêu hàm và tạo thành một
Con tré dén JUnknown | Tham chiếu đến con trổ lUnknown Mang các kiểu dữ liệu <VT_...>
Trong PHP. nểu muốn sử dụng một biển VARIANT, ta phải tạo mới một bỉ $string = “hello”; $var = new VARIANT(Sstring,
VT_BSTR);
Khi đó, biến $var là biến VARIANT có kiểu chuỗi VT_BSTR, có giá trị là "hello”.
4.3 Các phương thức DLL sử dụng cho hệ thống web
Khi người dùng yêu cầu thực hiện một chức năng nào đó ở trên web, PHP sẽ gọi phương
thức tương
ứng
của ĐLL thông qua doi trong COM
dé dap ứng yêu cầu đó. Interface
DỊ.L, mà hệ thống sử dụng được xây dung tit Visual C++. Trong đó đã giải quyết được các vấn đề cơ bản sau 4.3.1 Điều chỉnh tọa độ các điểm nhập vào
Các điểm nhập vào do người đủng chọn trên màn hình có thé sékhéng năm trên một con đường nào đó. Để thực hiện tìm kiế đường đi từ các điểm đó, hệ thống phải đặt điểm đỏ
lên trên một con đường gan nó nhất, Để thực hiện như vậy chương trình sẽ có một vong
lặp tìm kiểm con đường gần điểm đó nhất. Sau khi rìm kiếm được, tọa độ của điểm sẽ
được thay đổi thành tọa độ mới nằm trên con đường mà nó tìm được. Và sau đó chương. trình sẽ gởi cho hệ thông web biết đấy các tọa độ mới mà chương trình đã hiệu chỉnh. Việc điều chỉnh như thể sẽ giúp người dùng có thể tìm được đường gần nhất có thể đi mà
khơng u cầu họ phải chọn điềm có độ chính xác cao. 4.3.2 Đường một chiều
Tương tự nhưở chương trình hoạt động độc lập trên máy đơn, phương thức của giao DLL xem luật đi theo đường một chiều như là một luật cấm theo chiêu đi. Khi thực hiệ
Phân viện Cơng nghệ Thơng tin tại TP.Hồ Chí Minh
Trang 23/95
10TT-HCMC
tệ dhương trình hỗ trợ quản lý và điều phối hoạt động giao thơng Thành phố Hồ Chí Minh
Ngày 19/10/05
tìm kiểm đường đi, chương trình sẽ kiểm tra luật đi theo đường một chiều. Nếu đi thuận đường một chiều thì mới tiếp tục đi, nếu đi ngược đường một chiều thì coi như là đường cắm, không thé đi tiếp theo đường đó được.
4.3.3 Tránh các điểm kẹt xe
Việc tránh điểm kẹt xe cũng được giải quyết tương tự như bài toán đi theo đường một
chiều. Các điểm kẹt xe sau khi được thêm vào sẽ được lưu thành một bảng ở cơ sở iệu. Khi có u câu tìm đường đi có tránh điểm kẹt xe, chương trình sẽ đọc cơ sở dữ liệu lấy ra dữ liệu của tất cả các điểm kẹt xe.
43.3.1 Bing dữ liệu điểm Xerxe Đữ liệu về một điểm kẹt xe bao gồm các thành phẩn chủ yous sau:
[Nedeta] x Y Radius | TimeStart | Duration` Là, 57430356.832573 | 118941299.461952 | 27371 | 1083636677 |_ 1565 « Tâm của điểm kẹt xe: là một điểm trên bản đổ do người dùng chọn trực tiếp trên trang web. (X, Y) chính là tọa độ của tâm.
« Bán kính của điểm kẹt xe Radius: là khoảng cách bán kính tính từ tâm của điểm
kẹt xe. Các điểm ở trong vùng bản kính này coi như thuộc vùng kẹt xe và sẽ bị cam trong thuật tốn tìm đường. Bán kính của điểm kẹt xe sẽ được phát sinh ngẫu nhiên khi tạo ra và sẽ được tính tốn cho nó giảm dần, sau một khoảng thời
gian Duration, né sé bang 0. « Thời điểm bắt đầu xảy ra kẹt xe TimeStart: là thời điểm mà phát sinh điểm kẹt
xe, lấy theo thời gian của hệ thống.
« Thời gian xây ra kẹt xe Duzation: là khoảng thời gian (được phát sinh ngẫu
nhiên) mà điểm kẹt xe đó sẽ kéo dài bao nhiêu. Tỉnh từ thời điểm bắt đầu kẹt xe,
sau khoảng thời gian này, điểm kẹt xe sẽ hết.
Sau khi đọc dữ liệu các điểm kẹt xe vào bộ nhớ, chương trình sẽ thực hiện kiểm tra thời
gian xảy ra điểm kẹt xe. Nếu thời gian hiệntại trừ đi thời điểm bắt đầu xây ra điểm kẹt xe kẹt xe đó coi như khơng tồn
tại nữa và nó sẽ . Đối với các điểm kẹt xe còn lại thi sẽ được liệu sau khi được tính tính tốn lại bán kính sao cho nó giảm dẫn theo thời gian. Các dữ
toán lại này sẽ được cập nhật lại trong cơ sở dữ liệu và sẽ được gửi lên cho hệ thống web để vẽ lại hiển thị lên trên bản đồ. 4.3.3.2. Thuật giải tránh điểm kẹt xe Đối với bài tốn tìm đường thì bây giờ sẽ có thêm một luật cấm đi đến các điểm nằm
trong vùng kẹt xe. Giả sử có một đồ thị như Hình 4.3. Bài tốn đặt ra là tìm đường từ A đến F sao cho không đi qua vùng kẹt xe (vùng kẹt xe là vùng được tô màu đỏ) Từ điểm A, khi tiến hành tìm các node liên thơng với nó thi ta sẽ tới được B. Từ B sẽ có 3 điểm C, D, E liên thơng với B. Nhưng node C và D nằm trong ving ket xe Để kiểm tra, ta sẽ tính khoảng các từ C, D đến tâm điểm kẹt xe. Nếu khoảng cách này nhỏ hơn bán
kính của điểm kẹt xe đó thì coi như điểm này nằm trong vùng kẹt xe. Như vậy ta sẽ loại
điểm này ra khỏi danh sách các node có thể đi tới. Phân viện Cơng nghệ Thơng tin tại TP.Hồ Chí Minh
Trang 24/95
TOIT-HCMC
Hệ chương trình hỗ trợ quản lý và điều phối hoạt động
giao thơng Thành phổ Hồ Chí Minh
Ngày 20/Jun/05
Tương tự như vậy ở nốc G. ta chỉ có thể đi tới H mà không thể đi tới D. Do vậy, con đường ngắn nhất tìm được đi từ A đến F sẽ là con đường vịng được tơ đậm ABEGHF chứ khơng phải là ABCF. Các cạnh BC, BD, GD là có liên thông nhưng bị cấm do đi vào
vùng kẹt xe.
Tuy nhiên, trong chương trình sẽ thực hiện kiểm tra trước, Nếu như điểm bắt đầu hoặc là điểm kết thúc của con đường đi do người dùng chọn nằm trong vùng kẹt xe thì chương
trình vẫn tiến hành tìm đường đi. Và khi đó nó sẽ cảnh báo cho người dùng biết là họ sẽ đi vào vùng kẹt xe thông qua cờ flag.
Hình 4.3 Ví dụ một điểm kẹt xe 4.3.4 Bản chỉ dẫn đường đi Trong chương trình, ngồi việc xuất ra đây các điểm mà người dùng phải đi qua để vẽ hiển thị lên bản đổ, chương trình cịn
xuất ra bản chỉ dẫn hướng dẫn đường đi. Bản chỉ
dẫn đường đi sẽ chỉ cho người đùng biết người dùng sẽ đi bắt đầu rừ con đường nảo, sẽ đi thẳng hay rẽ phải, rẽ trái tại các giao lộ để đi tới điểm cần tới theo con đường đi tôi ưu nhât.
Với cách giải quyết như vậy hệ thông đã cung cấp được các phương thức để thực hig
các chức năng do người dùng yêu cu tir trang web. Các phương thức này đâm bảo xử lý
dỡ liệu đầu vào sao cho chỉnh xác điểm phải nằm trên đường, tìm kiếm đường đi theo yêu cầu. trả về cho hệ thông web con đường đi tối ưu nhất, bản hướng dẫn đường đi và các kết quả cần thiết khác đề vẽ ta màn hình hiển thị cho người dùng nhìn thầy.
Khi người dùng yêu câu thực hiện một chức năng nảo đó, hệ thống web với PHP chỉ cần
tạo ra một đối tượng COM truy cập
đến các phương thức tương ứng của giao diện
ra kết quả cần thiết. Ví dụ như, để tìm đường đi ngắn nhất, PHP sẽ gọi phương
đề lây
FindShortestFath () với các thông số nhập vào là tọa độ của bắt đầu và điểm kết thúc. Khi đỏ chương trình DLL sẽ thực hiện tính toán và trả ra các kết quả tương ứng.