MapXtreme 2008 là một môi trường phát triển và tạo ra các ứng dụng
bản đồ, bản đồ trung tâm. Với chương trình này, người sử dụng có thể hiển thị, phân tích dữ liệu nhằm khám phá những mối quan hệ và xu hướng của thị trường mà nếu dùng các phương pháp như bảng tính và báo cáo sẽ không thể thấy được [9].
Để chạy MapXtreme 2008 trên desktop có nhiều khuôn mẫu khác nhau, giúp tự động định cấu hình và nhập vào môi trường bản đồ với những công cụ
PC, MapXtreme 2008 hỗ trợ hoàn toàn cho các ngôn ngữ Microsoft.NET như Visual Basic.NET C# và Visual C.
Với môi trường web, chương trình này tạo điều kiện triển khai nhanh chóng bằng cách cung cấp các khuôn mẫu bản đồ, công cụ điều khiển đa năng, các ứng dụng mẫu và chức năng kéo/thả. Có thể sử dụng tất cả các ngôn ngữ .NET như ASP.NET
MapXtreme 2008 hỗ trợ chuẩn IT bao gồm khả năng tích hợp
Microsoft.NET, ADO.NET và SQL-3, hỗ trợ chuẩn không gian địa lý bao gồm OpenLS và giao thức Open GIS, truy cập đến vùng dữ liệu trong nội bộ cơ quan bằng cách sử dụng giao thức chuẩn bao gồm ADO.NET, ODB, Oracle Spatial và Microsoft SQL Server. Chương trình còn được tích hợp khả năng bản đồ vào hệ thống thông tin của bên thứ 3. MapXtreme 2008 cũng có khả năng hỗ trợ nhiều dạng cơ sở dữ liệu không gian, phi không gian và các hiệu chỉnh file.
Cơ sở dữ liệu của MapXtreme 2008 gồm: Microsoft Access ,SQL Server 2000,SQL Server 2005, Infomix IDS 9-3, Oracle 9*,Oracle 10*, Spatial Ware cho Microsoft SQL Server và IBM Infomix*. Chương trình có thể chạy trên các hệ điều hành Windows 2000, 2003 ,XP và Windows 7.
Đi kèm với MapXtreme 2008 là bản SDK (Software Developer Kit). Bộ công cụ phát triển phần mềm này có khả năng chạy trên cả desktop và web. Được thiết kế cho các lập trình viên quen làm việc trên môi trường Microsoft.NET, bộ SDK cho phép triển khai giải pháp kết hợp bản đồ trong hệ thống của người sử dụng cho các khách hàng, server khách, mạng toàn cầu hay môi trường hỗn hợp.
Chƣơng 2: PHÂN TÍCH HỆ THỐNG 2.1. Khảo sát hệ thống
2.1.1. Khảo sát hiện trạng
Các hệ thống vận tải nói chung và hệ thống xe bus nói riêng đều thực hiện giám sát lộ trình của xe bằng việc chốt lệnh của lái xe trên hành trình và các điểm đầu cuối. Quá trình diễn ra như sau:
- Mỗi khi bắt đầu một lộ trình từ bến đầu, người lái xe phải thực hiện việc chốt lệnh (xin lệnh vận hành) để thông báo bắt đầu khởi hành. Người quản lý sẽ xác nhận việc chốt lệnh đó.
- Trong quá trình đi từ bến đầu đến bến cuối, sẽ có những điểm bắt buộc để lái xe thực hiện chốt chặng.
- Khi về đến bến cuối, người lái xe lại thực hiện chốt lệnh một lần nữa để xác nhận xe đã về đúng bến.
Theo đó, nếu lái xe thực hiện đủ việc chốt lệnh, có xác nhận của các điểm chốt thì xe đi đúng lộ trình. Quy trình giám sát xe bus này diễn ra thủ công và không đạt hiệu quả cao vì việc giám sát chỉ dựa trên việc lái xe thực hiện chốt lệnh tại các chặng quy định mà không thể giám sát được xe khi vận hành giữa các chặng đó.
Yêu cầu đặt ra của bài toán là cần phải giám sát được xe có đi đúng lộ trình quy định hay không, có đi sai đường, bỏ bến hay không, có thể xem lại được lộ trình và vi phạm của xe khi cần thiết.
2.1.2. Hƣớng giải quyết yêu cầu đặt ra của bài toán
Để giải quyết vấn đề trong việc giám sát xe bus có đi đúng lộ trình quy định trong suốt quá trình vận hành thì cần có một thiết bị định vị GPS luôn gửi thông tin về vị trí và trạng thái của xe về trung tâm.
vụ mobile, dịch vụ tra cứu trên web và dịch vụ cho việc giám sát quản lý của người vận hành. Tại trung tâm, sẽ sử dụng thông tin nhận được từ hệ thống thông tin, bản đồ số có sẵn và cơ sở dữ liệu thông tin về tuyến xe, các xe, các bến đỗ để kiểm tra xem các xe có đi đúng hay không.
Với việc giám sát xe, cần có chức năng có thể xem được tất cả vị trí các xe đang hoạt động và có thể xem được chi tiết lộ trình, thông tin của một xe được lựa chọn. Trong quá trình nhận thông tin, cần có sự lưu trữ dữ liệu để khi cần thiết có thể xem lại lộ trình của xe, thống kê các vi phạm nếu có.
2.1.3. Yêu cầu hệ thống mới
Yêu cầu hệ thống mới là xây dựng module phần mềm là thống con của hệ thống giám sát cho trung tâm giám sát vận hành xe bus, hỗ trợ người vận hành (Operator) tại trung tâm vận hành để giám sát lộ trình của xe bus. Hệ thống nhận thông tin về xe bus từ hệ thống thông tin và thực hiện các chức năng sau:
- Hiển thị vị trí các xe đang hoạt động. - Theo dõi lộ trình một xe.
2.2. Phân tích hệ thống 2.2.1. Sơ đồ chƣ́c năng 2.2.1. Sơ đồ chƣ́c năng
Hình 2.1: Sơ đồ chức năng của hệ thống giám sát xe bus
Mỗi chức năng của hệ thống đều có những chức năng nhỏ để hỗ trợ lẫn nhau.
- Chức năng hiển thị ngoài việc hiển thị vị trí các xe đang hoạt động thì còn có chức năng lưu lại thông tin lộ trình của từng xe để phục vụ cho việc xem lại lộ trình của các xe ở chức năng xem lại lộ trình.
- Chức năng theo dõi ngoài việc theo dõi lộ trình của một xe thì còn có chức năng cảnh báo, lưu vi phạm giúp cho người vận hành có thể lưu lại những vi phạm phát hiện ra khi theo dõi lộ trình của xe.
- Chức năng xem lại lộ trình ngoài việc xem lại lộ trình xe, còn có chức năng thống kê các vi phạm trong ngày của các tuyến xe.
2.2.1.1. Chức năng hiển thị
sẽ xác định mã xe của từng xe, lấy thông tin về bản đồ tương ứng và hiển thị vị trí của các xe lên bản đồ.
- Đầu vào của chức năng: thông tin về mã xe,chiều đi, vị trí và trạng thái của các xe đang hoạt động từ hệ thống thông tin.
- Đầu ra của chức năng: Hiển thị vị trí của các xe đang hoạt động và trạng thái dừng/đi của nó trên màn hình.
2.2.1.2. Chức năng theo dõi
a. Chức năng theo dõi xe
Chức năng theo dõi có nhiệm vụ theo dõi lộ trình của một xe được chọn. Khi nhận được thông tin lộ trình của xe được chọn, hệ thống sẽ tìm kiếm vị trí trước đó của xe nếu có trên bản đồ và update thêm vào lộ trình của xe trên bản đồ
- Đầu vào của chức năng: yêu cầu theo dõi của người vận hành, thông tin mã xe, chiều đi, vị trí, trạng thái của xe được chọn từ hệ thống thông tin.
- Đầu ra của chức năng: đường đi của xe trên màn hình, cung cấp khả năng cảnh báo vi phạm cho người điều hành.
b. Chức năng cảnh báo
Chức năng cảnh báo giúp cho người giám sát có thể lưu lại thông tin vi phạm của một xe trong khi đang giám sát xe đó.
Khi có yêu cầu lưu cảnh báo của người giám sát, hệ thống sẽ xác định xe đang theo dõi và lưu thông tin về mã xe, tuyến, vị trí, chiều đi, trạng thái của xe đang được theo dõi lộ trình vào bảng VIPHAM của cơ sở dữ liệu.
2.2.1.3. Chức năng xem lại lộ trình
a. Lưu cơ sở dữ liệu
Chức năng lưu cơ sở dữ liều được thực hiện trong khi đang giám sát vị trí các xe đang hoạt động. Nó có nhiệm vụ lưu lại tất cả thông tin của xe đang hoạt động vào cơ sở dữ liệu để phục vụ cho việc xem lại lộ trình của các xe.
Thông tin lưu lại bao gồm: thời gian, mã xe, vị trí, trạng thái, chiều đi, lượt đi trong ngày của từng xe.
- Đầu vào: Thông tin về chiều, vị trí, trạng thái của các xe đang hoạt động từ hệ thống thông tin.
-Đầu ra: thông tin về lộ trình của xem bảng LOTRINH của cơ sở dữ liệu.
b. Xem lại lộ trình của xe
Chức năng này giúp cho người quản lý có thể xem lại lộ trình của từng xe trong ngày, dùng để kiểm tra lại lộ trình của xe xem có vi phạm hay không. - Đầu vào: Yêu cầu xe cần xem lại của người quản lý, thông tin về lộ trình của xe từ cơ sở dữ liệu.
- Đầu ra: Lộ trình của xe được chọn.
c. Thống kê vi phạm
Chức năng xem lại vi phạm dùng để thống kê các vi phạm của các tuyến và các xe trong ngày
- Đầu vào: Yêu cầu xem vi phạm của người quản lý, thông tin vi phạm của các xe trong ngày từ cơ sở dữ liệu.
- Đầu ra: Số lượng vi phạm trong ngày, danh sách các xe vi phạm theo tuyến.
2.2.2. Biểu đồ luồng dƣ̃ liệu
Hình 2.2: Biểu đồ luồng dữ liệu mức khung cảnh
- Hệ thống thông tin : Đây chính là khối công việc quan trọng nhất trong toàn bộ hệ thống dịch vụ bản đồ của nhóm. Tuy nhiên, xét trong hệ thống hỗ trợ theo dõi xe bus tại trung tâm vận hành thì đó lại là một tác nhân ngoài. Hệ thống thông tin có tác dụng lắng nghe các yêu cầu từ client, sau đó truy xuất và xử lý dữ liệu và cuối cùng là trả lại kết quả cho client.
- Người điều hành: Là những người sử dụng ứng dụng theo dõi tại trung tâm xe bus, họ sẽ đưa ra các yêu cầu thông qua giao diện của chương trình thực hiện các chức năng đã có.
2.2.2.2. Phân tích các yêu cầu chức năng
a. Nhận thông tin
Dữ liệu thông tin về xe của hệ thống được nhận từ hệ thống thông tin qua vệ tinh theo chu trình thời gian là 1 phút. Thông tin về xe bus bao gồm có: mã xe để xác định xe và tuyến xe, chiều đi của xe (là chiều đi hay chiều
Hệ thống thông tin qua vệ tinh
Hệ thống hỗ trợ theo dõi xe bus tại trung tâm vận hành
Ngƣời điều hành
Thông tin xe bus Yêu cầu
thông tin xe
Yêu cầu giám sát
Thông tin vị trí xe Yêu cầu quản lý xe
Thông tin lộ trình vi phạm
về), vị trí của xe (tọa độ của xe theo hệ quy chiếu của trái đất), trạng thái của xe (dừng hay đi). Hệ thống sẽ hiển thị bản đồ khu vực lấy từ cơ sở dữ liệu bản đồ có sẵn.
b. Khối giám sát
Sau mỗi một phút, hệ thống sẽ gửi yêu cầu đến hệ thống thông tin để lấy thông tin về các xe đang hoạt động. Khi nhận được thông tin, với mỗi một xe mới, hệ thống sẽ tự tạo một bảng trên bản đồ và vẽ vị trí của xe lên một lớp phía trên bản đồ có sẵn.
Khi người giám sát yêu cầu theo dõi lộ trình của một xe nhất định, hệ thống sẽ gửi thông tin yêu cầu vị trí của xe đến hệ thống thông tin và bắt đầu theo dõi xe. Sau mỗi một phút, hệ thống sẽ vẽ đường đi của xe bus được chọn theo dõi. Đường đi của xe có phân biệt lượt đi và lượt về, trạng thái của xe dừng hay đi tại thời điểm đó.
Khi phát hiện có vi phạm, người giám sát sẽ thực hiện chức năng cảnh báo, hệ thống sẽ lưu thông tin vi phạm của xe vào cơ sở dữ liệu để có thể thống kê lại khi cần thiết.
c. Khối quản lý
Hệ thống hỗ trợ người quản lý có thể xem lại lộ trình của các xe đã hoạt động theo ngày, thống kê các vi phạm nếu có.
Khi muốn xem lại lộ trình của một xe, người quản lý sẽ lựa chọn ngày cần xem, xe cần xem, lượt đi trong ngày đó hệ thông sẽ vẽ lại lộ trình của xe đó lên trên bản đồ.
Khi muốn thống kê vi phạm, người quản lý chọn ngày cần thống kê. Nếu có thông tin vi phạm, hệ thống sẽ thống kê lại tổng số vi phạm trong ngày của các xe. Người quản lý có thể xem chi tiết từng tuyến và từng xe có vi phạm.
CHƢƠNG 3: THIẾT KẾ HỆ THỐNG 3.1. Thiết kế cơ sở dữ liệu
Cơ sở dữ liệu cho hệ thống bao gồm các bảng sau:
TUYEN(TENTUYEN, BENDAU, BENCUOI): chứa thông về các tuyến xe.
BUS(MAXE, TENTUYEN, TENNGUOILAI, SOHIEUXE): chứa thông tin về các trong hệ thống xe bus.
BEN(MABEN, TOADOX, TOADOY): chứa thông tin tọa độ của các bến trong cả hệ thống xe bus.
BENTUYEN(TENTUYEN, MABEN): quy chiếu giữa tuyến xe và bến. LOTRINH(TIME, MAXE, TOADOX, TOADOY, LUOT, CHIEU, STATE): chứa thông tin về lộ trình của các xe do chức năng giám sát lưu trữ.
VIPHAM(MAXE, TENTUYEN, TOADOX, TOADOY, CHIEU, STATE): chứa thông tin vi phạm của các xe do chức năng giám sát lưu trữ.
3.2. Thiết kế chức năng 3.2.1. Chức năng hiển thị
Tạo phiên làm việc với bản đồ khu vực. Xóa các bảng của xe bus có được tạo ra từ phiên làm việc trước.
CatalogCat = MapInfo.Engine.Session.Current.Catalog; for (inti = 1; i < 10; i++) Cat.CloseTable(i.ToString());
Chức năng này sử dụng hàm ViewBusPosition(string s, int[] a) để hiển thị tất cả vị trí các xe đang hoạt động lên bản đồ.
Hình 3.2: Sơ đồ thuật toán hiển thị vị trí xe
Hệ thống thông tin sẽ gửi thông tin của các xe đang hoạt động trong 1 file XML. Hệ thống sẽ đọc thông tin từng xe và dùng nó để hiển thị lên bản đồ.
- DrawPoint() với đầu vào là mã xe, vị trí xe và trạng thái dừng hay đi của xe sẽ vẽ vị trí của xe lên bản đồ, với mỗi trạng thái dừng hay đi sẽ có một màu hiển thị khác nhau.
- SavePosition() với đầu vào là mã xe, vị trí xe, chiều đi, trạng thái đi
hay dừng của xe sẽ lưu các thông tin của xe vào bảng LOTRINH của cơ sở dữ liệu
Hàm SavePosition()sử dụng hàm CountL() để xác định số lượng lượt đi của xe trong ngày hôm đó. Hàm SavePosition() phải xác định xem xe có phải là bắt đầu một chuyến đi mới trong ngày không. Nếu phải thì sử dụng sẽ lưu vào cơ sở dữ liệu với số thứ tự lượt tăng thêm một, nêu không phải thì giữ nguyên.
Hình 3.3: Sơ đồ thuật toán của hàm SavePosition()
Cuối cùng là update danh sách các xe đang hoạt động để thống kê về số lượng, chiều đi, chiều về bằng các truy vấn SQL đến cơ sở dữ liệu.
3.2.2. Chức năng theo dõi
Khi người giám sát đưa ra yêu cầu giám sát một xe nhất định, hệ thống sẽ gửi yêu cầu thông tin của xe đó lên hệ thống thông tin.
Khi nhận đươc thông tin về xe được theo dõi, chức năng theo dõi sẽ vẽ một điểm trên bản đồ tương ứng với vị trí của xe. Và cập nhật biểu diễn lộ trình của xe trên bản đồ.
Nếu có vi phạm, người giám sát sẽ cảnh bảo, và chức năng sẽ lưu lại thông tin về thời gian, mã xe, tuyến xe, vị trí, chiều đi, trạng thái dừng đỗ của xe vào bảng VIPHAM trong cơ sở dữ liệu sử dụng truy vấn SQL.
Hàm Draw_Point() được dùng để vẽ vị trí của xe tại thời điểm hiện tại. Hàm Draw_Line() được dùng để update đường đi của xe bus lên trên bản đồ.
Hình 3.4: Sơ đồ thuật toán chức năng theo dõi lộ trình xe
3.2.3. Thiết kế cài đặt chức năng quản lý
Chức năng quản lý sẽ lấy thông tin từ cơ sở dữ liệu có sẵn về xe, tuyến, Draw_Line()
Draw_Point()
Cảnh báo
Lưu vi phạm Thông tin xe
bus theo dõi
Yes
quản lý xem lại lộ trình theo ngày của từng xe trong tuyến theo các lượt cả chiều đi và chiều về.
3.2.4. Chức năng xem lại lộ trình
Khi người quản lý có yêu cầu xem lại lộ trình của xe. Người quản lý sẽ lựa chọn ngày và xe muốn xem lại. Hệ thống sẽ tự động thống kê danh sách các lượt đi và lượt về của xe được chọn trong ngày đó nếu có. Nếu không có