Giới thiệu về MapInfo

Một phần của tài liệu Xây dựng hệ thống hỗ trợ giám sát xe bus tại trung tâm vận hành (Trang 34)

Hình 1.15: Biểu tượng MapInfo

MapInfo là phần mềm nhằm giúp ta xử lý các bản đồ số cũng như thông tin liên quan đến địa lý. Trước đây xử lý bản đồ là một chức năng chuyên nghiệp của ngành bản đồ học. Với sự ra đời của MapInfo, xử lý bản đồ trở thành công việc mà mọi người đều có thể làm được. Không những có những chức năng của bản đồ thông dụng như cung cấp thông tin địa lý, giúp định vị trong thực địa… MapInfo còn là một công cụ rất mạnh giúp xử lý và phân tích thông tin trên bản đồ số. Chức năng này của MapInfo giúp cho nó trở thành một hệ cơ sở dữ liệu bản đồ địa lý. Tính năng này còn được tăng cường nhờ sự liên kết với các hệ cơ sở dữ liệu khác như Microsoft Access, SQL Server, Oracle… Sử dụng MapInfo có thể hỗ trợ giải quyết nhiều vấn

1.4. Giới thiệu về Visual C#

Trong lịch sử phát triển của ngành Công nghệ thông tin, cứ khoảng một thập niên thì lại có một cuộc cách mạng về công nghệ cũng như cách tiếp cận về lập trình. Đầu những năm 1960 là sự xuất hiện của ngôn ngữ Cobol và Fortran, giữa thập niên 70 là sự xuất hiện của máy tính với ngôn ngữ Basic, vào đầu thập niên 80 những công nghệ mới là Unix có thể chạy trên máy tính để bàn với ngôn ngữ lập trình cực mạnh là C. Qua đầu thập niên 90 là sự xuất hiện của Windows và C++, đi theo sau là khái niệm về lập trình hướng đối tượng xuất hiện. Mỗi bước tiến trên làm thay đổi cách lập trình của lập trình viên: từ lập trình phi cấu trúc đến có cấu trúc, và bây giờ là lập trình hướng đối tượng tuy vẫn còn khó khăn và nhiều bất cập.

Giờ đây, với sự xuất hiện của .Net với các ngôn ngữ C#, VB.NET, J# thì cách lập trình đã thay đổi rất nhiều. Nói cách khác, .Net framework giúp cho chúng ta triển khai phần mềm dễ dàng hơn, mang tính chất chuyên nghiệp hơn và thực sự là hướng đối tượng. .Net framework được thiết kế để giúp ta triển khai dễ dàng những ứng dụng hướng đối tượng chạy trên Windows cũng như Internet.

Ngôn ngữ lâp trình hướng đối tượng được ưa thích ở đây là C#, được xây dựng từ những bài học kinh nghiệm rút ra từ C (năng suất cao), C++ (cấu trúc hướng đối tượng), JAVA (an toàn), và Visual Basic (triển khai nhanh) [7]. Đây là một ngôn ngữ lý tưởng cho phép ta triển khai những ứng dụng Web phát tán được kết cấu theo kiểu kết nối các thành phần (component) theo nhiều tầng (n-tier).

Để có thể xây dựng được một ứng dụng C# hoàn chỉnh ta cần có một môi trường tích hợp triển khai phần mềm (IDE )cho nó, ở đây là Visual Studio.NET. Visual Studio.Net cung cấp một IDE dành cho tất cả các ngôn ngữ .NET(Visual C#, VB.NET, Visual C++) chia sẻ sử dụng, cho phép lập

trình viên sử dụng cùng những công cụ giống nhau qua các ngôn ngữ lập trình khác nhau. Visual Studio .Net có sẵn một design view editor cho phép bạn sử dụng kỹ thuật kéo thả lên form những ô control tạo giao diện người sử dụng cũng như những ô control truy xuất dữ liệu. Khi đó, visual studio.Net sẽ tự động tạo ra những đoạn mã C# cân thiết đưa vào tập tin nguồn.

1.5. Giới thiệu về Visual Stadio và SDK MapXtreme 2008 1.5.1. Visual Stadio

Bộ Microsoft Visual Studio.NET bao gồm vừa mọi công cụ yểm trợ lập trình và ngôn ngữ lập trình .NET, tỷ như: Visual Basic.NET (VB.NET), C# (C Sharp), Visual C++.NET và Visual J#.NET

Một trong những công cụ quan trọng là Microsoft Visual Studio.NET Integrated Development Environment (IDE). IDE giúp ta lập trình Visual Basic.NET (VB.NET) dễ dàng, thoải mái và thích thú. IDE không những cung cấp mọi công cụ lập trình cần thiết không thể tìm thấy ở một ứng dụng (application) soạn nguồn mã thông thường bằng chữ (text editors) mà còn giúp kiểm tra nguồn mã (code checking) hay tạo giao diện Windows thích hợp và hiển thị, truy tìm các tập tin liên hệ đến dự án (project) và nhiều thứ khác nữa.

1.5.2. SDK MapXtreme 2008

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

Một phần của tài liệu Xây dựng hệ thống hỗ trợ giám sát xe bus tại trung tâm vận hành (Trang 34)