Tải bản đầy đủ (.pdf) (96 trang)

Hệ chương trình hỗ trợ quản lý và điều phối hoạt động giao thông tp hồ chí minh

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2 MB, 96 trang )

#5,

lén

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

6
8
8
9

Mơ hình hỏa mạng lưới giao thơng.
4.5.2 Xây dựng luật giao thơng.
45.2.1
4.5.2.2
453

5

5

Từ nhóm cung cấp dịch vụ.

4.4.72


Ngày 20/1un/05

Ẳœ
we
bạ
iy
FRRAHVASSSRRSRRKERRGOCOSS

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ỉ:


1 Mac Dinh Chi. Quận 1, TPHCM.

2.1.5 Co quan quan ly

Sở Khoa học và Công nghệ TPHCM.

Địa chỉ: —

244 Điện Biên Phủ, Quận 3,TPHCM

2.1.6 Chủ nhiệm đề tài
Họ và tên:

Học vị:

_ Trần Văn Lãng

Tiền sĩ

Điện thoại: _ 8222 870, 8222 947 (110). 0903 938 036
Địachỉ:
1 Mac Dinh Chi, Q1, TPHCM
email:
2.2
2.2.1

Nội dung khoa học của đề tài
Mục tiêu


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

TOTT-HCMC

giao thơng Thành phố Hồ Chí Minh

© Quản lý sự phân luỗng cho các phương tiện giao thông khác nhau theo không


gian và thời gian (không gian - cho phép loại phương tiện đi qua những con

đường nào, thời gian- vào thời điểm nào).
« Tìm đường đi tơi ưu cho một phương, tiện trên mạng

giao thơng, qua đư giúp tìm

kiểm đường đi giữa hai điểm; xác định lộ trình cần đi qua của một phương tiện

giao thơng; tìm chu trình đi qua tối ru với một số rằng buộc nhất định.

b) Nghiên cứu giải pháp để cho phép khai thác dữ liệu bản đồ từ nhiều nguồn khác nhau

(ừ những hệ thông thông tin địa lý khác nhau), phục vụ cho hệ thống có thê hoạt động
trong nhiều điều kiện khác nhau.

2.2. .3 Phương pháp nghiên cứu

+ Tích hợp dữ liệu không gian định hướng veetor-topology thiết

kế trong hệ thông

lưu ÿ đến các tiều chuẩn quốc tế,

ửng dụng với dữ liệu thuộc. tỉnh,

khuôn dạng dữ liệu giữa các sản phẩm
ø© Xây dựng cơng cụ giao tiếp chu
GIS thương mại để đưa vào hệ thơng.

« Xây dựng hệ thống thông tin đa tầng (multi-tier) nhằm đáp ứng nhu cầu người
dùng qua mạng hoặc qua máy đơn.

© Nghiên cứu cơng nghệ SVG để hệ thống hoạt động có hiệu quả trên mạng với
giao thức Internet.

ø_ 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


KS Phan Võ Minh Duy

3.3.4 Viết
KS
KS
CN

chương trinh
Nguyễn Tín Quang
Tran Thi Minh Khang
Trang Hồng Sơn

KS Phan V6 Minh Duy

CN Pha Tran Tin

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...

<?xml version="1.0°?>
!DOCTYPE

svq

PUBLIC

"-//W3C//DTD


SVG

1.0//EN°

“http: //www.w3.org/TR/2001/REC-SVG-20010904/DID/svgl0.dtd">
<svg width="400" height="400">
<g id="myText”>
:
y="84px" style="fill:rgb
(0,0, 0) ;fontsize:24; font-family: @Batang">Gis</text>

</g>
style="f£ill:none;
width: 3"/>

"

y="30" width="82" height="64"
stroke: rgb (15, 36,241) ;stroke-

style="fill:rgb(0,
0,255} ; stroke: rgb (232, 62,82) ; stroke~
width: 3;opacity:0.26"/>

</g>
</svg>

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

xX

Y

56840853.337515
56921217.507366
5687117199565

119732337.231016
119950496.550635
119511415.388768

Bảng Edge: cạnh được tạo bởi 2 đỉnh đầu và cuối, tọa độ của các định đó được tra trong

bảng Node trên, còn trường Coords dùng, để lưu các đỉnh trung gian giữa 2 đỉnh đầu và

cuối (có tác dụng làm cho cạnh vẽ lên sẽ chính xác hơn).

Edgeld
1
2
3


StarNode
1
3
5

2
4
6

|EndNode

j¡Coords
Blob Data
Blob Data
Blob Data

Bảng độ rộng đường:

Quan hệ giữa các bảng:

Nodelđ*
x
x

lẻẾ
L |StartNode
EndNode
nnrds


idEdgeld
Edgelc

Sau đây là đoạn chương trinh PHP ding các bảng dữ liệu đã mô tả ở trên để vẽ lêo lớp
đường của bản đồ.
1.

$host="lacalhost":

2: §username="root”;

Phần viện Cơng nghệ Thơng tin tại TP.Hồ Chí Minh.

Trang 15/95.


[T

Ngày 20/J0n/05

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

TOTT-HCMC

3. Spassword="abc"
4, Sdatabase=“MapDB";

5.

6,
7,
8.
9,

10.
11,
12.
13.
14.
15,
16.

mysql_connect (Shost, Susername, $Ðbassword) ¿
mysgl_ select_do(§database)¿
print£ ("<ợ
“road-layer\">")¿
$nodeFromDB = mysgi query("select * from topo_node");
$roadWidthFromDB

17.

18,
19.
20.
21.
22.
23.
24,
25.

26.

|
1
j

>

=

mysql_query{"select

SedgefromDB = mysql_query("select
$nodeld = 1;
$edgeWidthTd = 1;
whi1e(SnodeTable=mysal_£etch_array
$node [$nodeId} = $nodeTable["x'].
$nodeTd++;
}

while

*

from

width_road");

* from topo_edge");


(SnodefromD8) | {
~§nodeTable
[ 'Y"};

(SroadWidthTable=mysql_fetch_array

($roadWidthFromDB))

SedgeWidth(SedgeWidthId] = $roadWidth7able['Width']/3;
$edgeWidthTd++;
1
$count = 1;
fox ($i=1;5i<=16108; $i++) {
SedgeTable=mysql_fetch_array (SedgeFromDB) +
Swidth = SedgeWidth{SedgeTable{‘Edgeld']];
$d = "M . $node (SedgeTable['StartNode']};
$d
SedgeTable[’Coords'] ."L $node [SedgeTable[ 'EndNode']]
22.
print£(""};
28.
Scount++;
29.
$d = nụ
30,
}
31,
printf ("</g>")+

Đồ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.

Độc lập với ngơn ngữ lập trình.

Được nhiều hệ điều hành hỗ trợ : Microsoft Windows, Apple, Unix, Macintosh.
Những hệ thống và ứng đụng sử dụng các thành phần COM sẽ dễ dàng cỏ thể
phát triển,
©_ Có khả năng mở rộng, phát triể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

giao

© Giao diện có một định danh. Mỗi giao điện có một định danh tồn cục duy nhất.
+ Giao điện khơng thể bị biến đổi. Giao điện COM cỏ duy nhất một phiên bản.
Điều này nhằm tránh các xung đột giữa các phiên bản cö và mới của một giao
diện và một giao điện cô một định danh duy nhất.
Ứng dụng
;Đắi tượng


4.2.6

Đăng ký và sử dụng DLL chứa các thành phan COM

được DLL chứa các thành phần COM, DLL phải được đăng ký

Trước khi PHP sử

với hệ điều hành. Đối với Window, lệnh đăng ký DLL có cú pháp như sau:
regsvr32 <đuèng dẫn dén DLL>

PHP sử dụng các thành phẩn trong DLL bằng cách tạo mới một đối tượng COM:
Scom

=

new

COM(

“DLL.interface”

Phân viện Cơng nghệ Thơng tin tại TP.Hồ Chí Minh

}7

Trang 19/95



Hệ chương trình bỗ trợ quản lý và điều phối hoạt động

101T-HCMC

giao thơng Thành phố Hồ Chí Minh

S$com

Vidu:

=

Ngày 20/1un/05

COM("FindPath.ShortestPath”);

new

FindPath là tên DLL: FindPath.DLL
ShortestPath là tên Interface : [ShortestPath

Truy cập đến phương thức của thành phần trong DLL:
$result

=

$com->MethodName

MethodName | là phương thức của Interface.


(Svarl,$var2,$var3);

Các tham. số truyền vào phải có kiểu con trô

VARIANT, số lượng tham số phải đúng với số lượng trong phương thức của DLL.
Vi di

$res

= $com->FindShortestPath ($vertex, $shortest Path,
$errorcode, $distance)

;

Các biến $varl, §var2, $var3 có thẻ là biến nhập hay biến xuất. Để lấy giá trị của biến

sau khi gọi phương thức của COM ta dùng lệnh:
Svalue

= $varl->value;

Sau khi sir dung DLL, bién Scom phải được hủy bởi cầu lệnh:
$com

=

null;

4.2.7 Các biến hỗ trợ cho COM


Các tham số của phương thức trong các giao diện phải sử dụng một kiểu duy nhất: kiểu
VARIANT. Hầu hết các ngôn ngữ cấp cao đều hỗ trợ kiểu này,

Dưới đây là bảng mô tả các định dạng các kiểu VARJIANT cơ bản:

Kiểu biến

Tên biến

LONGLONG

lival

LONG

lval

BYTE

bval

SHORT

ival

FLOAT

Kiểu dữ liệu trơng ứng cña VARIANT
i 1⁄7
__


18

"

!

fltval

lzT R4

dblval

RB

boolVal

BOOL

| SCODE

scode

ERROR

ley

cyVal

cy


DATE

date

DATE

BSTR

bstrVal

BSTR

TUnknown

*

UNKNOWN

Idispatch

*pdispVaL

D9UBLE
VARIANT

BOGL

punkVal


"Phân viện Cơng nghệ Thơng tin tại TP.Hồ Chí Minh

DISPATCH

Trang 20/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

| SAFEARRAY
BYTE
SHORT
LONG
LONGLONG
ELOAT
DOUBLE
\ VARIANT _BOOL
SCODE
cy
DATE
BSTR
1Unknown
1Dispatch
SAFEARRAY
VARIANT
VOID

CHAR
USHORT
ULONG.
ULONGLONG

*parray
VT ARRAY |*
*pbVal
VT BYREFIVT UIL
*pival
VT_BYREE|VT_12
*plval
VT BYREFIVT I4
*pllval
VT_BYREFIVT I8
*p£FltVal
Vĩ BYREFIVT R4
*pdblval
VTĩ_BYREF|VT R8
*pboolval | VT_BYREF!VT BOOL
*pscode
VT_BYREPIVT ERROR
*peyval
VT_BYREFIVT CY
*pdate
VT_BYREFIVT_DATE
*pbstrVal
|VT BYREFIVT BSTR
**ppunkVal | VT BYREFIVT UNKNORN
**ppdispVal |Vĩ BYREF|VT DISPATCH.

**pparray | VT ARRAY|*
*pvarVal
VI_BYREF|VT_VARIANT
*byref
eval
VT 1L
vival
VP_UL2
0EVal
VT† U14
uilVal
VT_UIB
intVal
V?_TNT
JuiarVa3
UINT,
_
| spdecvel
BYREFIVE DECIMAL

¬-

ĐLONG
ULONGLONG
INT
UINT

BYRFF|VT

*pu1Va+

*pullval
*pintVaL
*puintVal

Ngày 20/)un/05

|

T1

BYREFIVT U12
Vĩ BYREFIVT U14
VT_BYREFIV?_UI8
VT_BYREFIVT_INT
|V: BYREFIVT UINT

Bang mơ tả kiểu đữ liệu mả VARIANT biểu diễn:
Kiểu dữ liệu

VT_EMPTY

Mô tả

Không thuộc kiểu đừ liệu nào

Phan viện Công nghệ Thông tn tại TP.Hồ Chí Minh

Trang 21/95



1OTT-HCMC

VT_EHI
VT U11
VT_UI1

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

| VT_BYREE

| VT_BYREF

VT_012
Vĩ_UI2

1 VT_BYREF

T

Ngày 20/Jun/05

Không hợp lệ

Kiur 1 byte khong dầu
Tham chiếu đến kí tự 1 byte khơng dấu
Số ngun 2 byte không dấu

Tham chiéu dén sé nguyén 2 byte khong div


VT_U14
VT_UI14
VT_U18

¡ Vĩ BYREF

Tham chiếu đến số nguyên 4 byie không dầu
Số nguyên 8 byte không dấu.

VT_UI8

| VT_BYREF

Tham chiếu đến số nguyên 8 byte không dấu.
Số nguyên không dấu

VT_UTNT.
VT_UINT
VT_TNT

| Vĩ BYREE

VT_TNT

| VT_BYREF

VI I1

VT_I1


| VT_BYREF

| VT_BYREF

| Vĩ SYREF

VT_18

VT_IB

ˆVT_R4

Tham chiếu đến kí tự ] byte

Tham chiếu đến kỉ tự 2 byre
Kitw

4

byte

Tham chiéu dén ki ty 4 byte

|

Tham chiéu dén ki ny 8 byte

Số thực 4 byte theo chuẩn IEEE
Tham chiều


YT_ 8

đến số thực 4 byte theo chuẩn IEEE,

Số thực § byte theo chuẩn IEEE
¡ VT BYREF,

Tham chiều đến số thực 8 byte theo chuẩn IEEE __|

VT_CY
VT_CY | VT_BYREF
VT_BSTR

Giá trị tiễn tị Được lưu trong 8 bvte
Tham chiéu đến giá trị tiền tệ

VT_BSTR

Tham chiếu

| VT_BYREF

VP_DECIMAL
VT_DECTMAL

LYT_NUtL

i


Kitw 8 byte

LVT_ m4

VT_R8

Tham chiếu đến số nguyên.

Kí tự 2 byte

VT_14

VT_14

Tham chiếu đến số ngun khơng dấu
8ơ ngun
Kí tự 1 byte

VT_T2

VTĩ_I2

Số nguyên 4 byte không đầu.

Chuồi

én chuỗi

Giả trị thập phân


| VT_BYREF.

Tham chiếu đến giá trị thập phân
Giá trị null

Phân viện Công nghệ Thông tin tại TP.Hồ Chỉ Minh.

Trang 22/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.

lớn xui L1 VT BVREE
| VT_ERROR
VT_ERROR | VT_BYREE
VT_BOOL

VT_BOOL

Ngày 20/1un/05

¡ Không hợp lệ
|
Gia trj Boolean 16 bit

| VT_BYREF


Tham chiéu dén gid tri Boolean

WT_DATE

Giả trị ngày

VT_DATE ¡ VT_BYREF
VT_DISPATCH

Tham chiều đến giá trị ngày và giờ
Con trỏ đến IDispatch.

VT_DISPATCH

| VT_BYREF | Tham chiếu đến con trỏ IDispatch

VT_VARIANT

VT_VARIANT

và giờ.

Không hợp lệ

| VT_BYREF | Tham chiếu đến một giá trị VARIANT khác

VT_UNKNOWN
VT_UNKNOW | VT BYREF
VT_ARRAY | <VT_...>


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.


Phân viện Công nghệ Thông tin tại TP.Hồ Chỉ Minh

Trang 25/95


×