Chương trình mô phỏng chỉ thực hiện trên server, do vậy coi những thông tin đầu vào về vị trị của số điện thoại bị theo dõi là đã biết. Trong hệ thống thực tế, các thông tin này sẽ được nhận từ GMLC thông qua các phương pháp định vị di động đã biết. Khi này, thông tin về vị trí của thuê bao di động bị theo dõi sẽ được sinh ngẫu nhiên theo một đường cho trước và hệ thống sẽ hiển thị thuê bao di chuyển trên bản đồ theo các vị trí đó.
Chương trình được viết bằng ngôn ngữ C# .NET 2008 với mã nhúng là MapXTreme 2008. Thư viện MapXTreme 2008 được phát triển từ công ty MapInfo ứng dụng cho hiển thị bản đồ dạng Vector.
Chương trình gồm các phương thức sau:
• Project DoAn: Là Project chứa toàn bộ giao diện chương trình, gửi thông tin vị trí thông qua SMS, các chức năng đọc các lệnh yêu cầu của người theo dõi, và sử dụng project MapAction để thực hiện. • Project MapAction: Chứa tất cả các phương thức, các class có
nhiệm vụ ghi log sự kiện, lấy thông tin về vị trí của mục tiêu theo dõi, tra cứu thông tin một thuê bao …
Đồ án tốt nghiệp Đại học Chương 3: Thiết kế modul chức năng và mô phỏng
Class Mô tả
DoAn MapForm1 Giao diện chương trình chính chứa bản
đồ cần hiển thị, thực hiện truy vấn thông tin, gửi tin SMS đều qua giao diện này. Form1 Là giao diện hiển thị thông tin về thuê
bao và log nhật ký của thuê bao theo dõi. Form2 Là Form dùng để cập nhật thông tin của
một thuê bao nào đó vào cơ sở dữ liệu. HienThiBanDo Hiển thị bản đồ log nhật ký của thuê bao
đã đi qua.
MapAction ReadXMLContent Thực hiện tất cả các câu lệnh liên quan đến đọc dữ liệu, lấy địa chỉ SMS và gửi SMS, loại bỏ một thuê bao đã lập lịch theo dõi trong khoảng thời gian nào đó. ReadXMPPoint Đọc thông tin về vị trí xuất hiện của một
thuê bao (ở đây là lấy từ một file có sẵn – do không có dữ liệu đầu vào)
WriteXMLLog Lưu lại log sự kiện
SMSAction Thực hiện gửi tin SMS theo hai tùy chọn, gồm đẩy tin SMS đến Server có tại trung tâm theo dõi, hoặc qua web; và gửi tin SMS thông qua một bộ giả lập ModemGSM có gắn sim gửi đến số điện thoại khác.
Bảng 3.1: Các Class trong mô phỏng
Các phương thức thực hiện trong mỗi Class được thể hiện ở bảng 3.2. Do project MapAction là quan trọng nhất, do vậy, tôi chỉ nêu các phương thức thực hiện của các class trong project này.
Phương thức Mô tả
ReadXMLContent AddScheduledTask Lập lịch theo dõi một đối tượng liên tục trong một khoảng thời gian nào đó. DelScheduledTask Xóa thuê bao đã được lập lịch.
GetExist Kiểm tra xem thuê bao đã được lập lịch theo dõi chưa?
GetHistory Lấy thông tin log của đối tượng.
GetListScheduledTask Lấy toàn bộ list những người đã lập lịch.
GetPersonInfo Lấy thông tin về một số điện thoại theo dõi.
UpdateScheduledTask Thay đổi lập lịch của số điện thoại đã theo dõi
WriteXMLLog insertNewLog Ghi thông tin của số điện thoại đang bị theo dõi vào gồm tọa độ (x, y) theo lat, long; thời gian ; và trạng thái lúc đó là Nghe, gọi, hay bình thường …
insertNewPerson Ghi mới một số điện thoại cần theo dõi updatePerson Thay đổi thông tin cá nhân người đó
trên file log.
ReadXMLPoint CreateHashTablePoint Tạo ra mảng đường đi của các thuê bao bị theo dõi
SMSAction SendSMS Gửi thông tin về vị trí cho số điện thoại của trinh sát đang theo dõi đối tượng.
Bảng 3.2 Các phương thức thực hiện trong các class của MapAction 3.3.2. Các file lưu trữ trong mô phỏng
Trong chương trình mô phỏng gồm các file định nghĩa các lớp sử dụng, các biến, đường dẫn các file… và những file lưu trữ log nhật ký của đối tượng bị theo dõi. Các file cơ sở dữ liệu này đều được viết dưới dạng ngôn ngữ đánh dấu XML trình bày trên các tag khác nhau.
Đồ án tốt nghiệp Đại học Chương 3: Thiết kế modul chức năng và mô phỏng
• AppConfig.xml: Lưu trữ thông tin về địa chỉ cổng gửi SMS, nhằm ứng dụng gửi tin SMS đến người theo dõi qua thiết bị đầu cuối điện thoại.
3.3.3. Những sự kiện trong bản mô phỏng
Hệ bản đồ sử dụng để hiển thị là bản đồ Hà Nội, thuộc loại bản đồ vector. Bản đồ vector hiển thị đối tượng, tìm kiếm đều dựa trên các lớp và các đối tượng. Do vậy, để hiển thị vị trí của thuê bao trên bản đồ, đầu tiên bản đồ sẽ tạo một lớp tương ứng với số điện thoại, có các giá trị thuộc lớp đó chính là ví trí mà thuê bao bị theo dõi đi qua.
Chúng ta xét một ví dụ như sau: khi chúng ta theo dõi một số điện thoại 0912345678, trên các lớp của bản đồ sẽ thêm một lớp có tên là 0912345678, và có giá trị trong đó là vị trí mà thuê bao đó đi qua. Ngoài ra, bản đồ cũng sẽ tạo ra một lớp là lớp thời gian lưu lại những thời điểm tại nơi thuê bao được hiển thị trên bản đồ.
3.4. Xây dựng chương trình
3.4.1. Quy trình thực hiện
Hình 3.3 mô tả quy trình thực hiện của server, với User là người sử dụng gửi các yêu cầu lệnh hiển thị tới chương trình theo dõi đi động.
Hình 3.3: Quy trình thực hiện định vị di động 3.4.2. Mô tả chi tiết sơ đồ
Khi cần theo dõi một thuê bao khi người dùng sử dụng điện thoại di động thì việc gửi tin SMS vị trí là cần thiết. Chương trình lấy thông tin từ cơ sở dữ liệu và gửi SMS đi.
User yêu cầu tra cứu thông tin lịch sử theo dõi, thông tin hiển thị ra sẽ lấy ra từ cơ sở dữ liệu lưu trữ (file log).
Khi có yêu cầu định vị trong một khoảng thời gian nào đó (lập lịch theo dõi), chương trình sẽ kiểm tra xem thời điểm hiện tại đã nằm trong khoàng theo dõi hay chưa. Nếu đúng thì chương trình sẽ gửi thông tin yêu cầu định vị tới GMLC, GMLC trả lại thông tin theo dõi cho chương trình để hiển thị. Thông tin này đồng thời cũng được lưu lại vào trong cơ sở dữ liệu.
Yêu cầu định vị tại thời điểm hiện tại xảy ra, thì chương trình sẽ yêu cầu thông tin từ GMLC luôn, và quy trình thực hiện tương tự như trên.
3.5. Giao diện thực hiện các chức năng chính
Sau khi thực hiện chạy chương trình, đăng nhập vào hệ thống chúng ta sẽ được giao diện như sau:
Đồ án tốt nghiệp Đại học Chương 3: Thiết kế modul chức năng và mô phỏng
3.5.1. Xem log
Trên file log ghi toàn bộ những hoạt động của một số điện thoại gồm những thông tin: Thời gian, ngày tháng, vị trí, trạng thái, số điện thoại kết nối tới thuê bao đó tại thời điểm đó ….
Trong đó: Trạng thái của thuê bao có thể : Nghe, chờ …
Hình 3.5 Log file
Để có thể nhìn trực quan hơn người dùng có thể click vào nút hiển thị. Hệ thống sẽ xuất hiện như sau:
Hình 3.6: Chức năng hiển thị log hình ảnh 3.5.2. Theo dõi
Khi theo dõi một thuê bao, ngưởi sử dụng sẽ nhìn thấy thuê bao đó xuất hiện trên bản đồ và các vị trí thuê bao đó đi qua.
Hình 3.6 xuất hiện khi người dùng nhấn nút “thêm” để thêm đối tượng cần hiển thị:
Đồ án tốt nghiệp Đại học Chương 3: Thiết kế modul chức năng và mô phỏng
Hình 3.7: Cập nhật thông tin thuê bao cần theo dõi
Hình 3.8: Thuê bao bị theo dõi xuất hiện trên bản đồ
Trên màn hình xuất hiện thuê bao có hình dạng như sau:
: Thuê bao đang nghe điện thoại : Thuê bao đang ở chế độ chờ (idle). : Tin nhắn SMS
Đồ án tốt nghiệp Đại học Chương 3: Thiết kế modul chức năng và mô phỏng
2 G Ram
Graphic: NVIDIA 256Mb.
Hệ bản đồ có thể phóng to thu nhỏ theo yêu cầu người theo dõi, chỉ bằng cuộn chuột.
Bản mô phỏng đáp ứng được những yêu cầu đặt ra của modul chức năng thiết yếu đối với trinh sát, như hiển thị những điểm quan trọng lân cận như đồn công an, trạm ATM, tùy theo thông tin có trên bản đồ.
Tuy nhiên, bản mô phỏng cũng còn nhiều hạn chế như: MapXTreme sử dụng trong bản đồ chỉ là bản demo nên chương trình không ổn định, hệ bản đồ chỉ là bản đồ hành chính nên thông tin vẫn chưa thực sự đầy đủ đối với một trinh sát.
KẾT LUẬN
Đồ án đã đi nghiên cứu và đề ra giải pháp cho dịch vụ định vị vị trí theo yêu cầu (Location based Service), định vị di động hoàn toàn dựa trên sóng vô tuyến của hệ thống GSM/ GPRS. Ưu điểm của phương pháp này đó là hoàn toàn không sử dụng GPS, do đó có thể định vị tất cả các thuê bao điện thoại mà không cần biết đến đó là loại máy gì. Mặc dù hệ thống này vẫn có một số nhược điểm như độ chính xác thấp (theo nghiên cứu chỉ ra là 100m trong thành thị và 200m ngoại ô), tuy nhiên, tùy vào yêu cầu thời gian đáp ứng mà chúng ta có thể nâng cấp nhằm đạt được độ chính xác cao hơn.
Trong tương lai, khi khả năng tính toán của máy tính cũng như các công nghệ phát triển hơn, việc đo đạc và dò tìm vị trí điện thoại sẽ có thời gian đáp ứng nhanh hơn. Tương ứng với điều đó thì độ chính xác sẽ tăng lên.
Mặc dù rất cố gắng, nhưng đồ án thực hiện không tránh khỏi thiếu sót, mong thầy cô và các bạn góp ý nhằm đồ án được hoàn thiện hơn, và đi vào thực tế hơn.
Đồ án tốt nghiệp Đại học Tài liệu tham khảo
TÀI LIỆU THAM KHẢO
1. TS.Nguyễn Phạm Anh Dũng, “Thông tin di động”, Học viện công nghệ Bưu chính - Viễn thông, 07/2007.
2. TS.Nguyễn Phạm Anh Dũng, “Thông tin di động GSM”, Nhà xuất bản Bưu Điện, 1997.
3. TS.Nguyễn Phạm Anh Dũng, “Thông tin di động 3G”, Học viện công nghệ Bưu chính - Viễn thông, 2002.
4. Axel Kupper, Location – Based Services, Fundamentals and Operation, 2005 5. Jochen Schiller & Agnès Voidsard, Location – Based Services, 2004
6. 3GPP TS 22.071. Location Services-Services Description-Stage 1 (Release 8) 7. 3GPP TS 25.111. Location Measurement Unit (LMU) performance specification -
User Equipment (UE) positioning in UTRAN (Release 7) 8. 3GPP TS 23.002. Network Architecture (Release 8)
9. SMS Forum, Short Message Peer to Peer (SMPP) Interface Specification, version 3.3.
PHỤ LỤC A: CƠ SỞ DỮ LIỆU CỦA HỆ THỐNG THÔNG TIN ĐỊA LÝ
Cở sở dữ liệu của GIS gồm 2 loại cơ bản: Dữ liệu không gian
Dữ liệu phi không gian
Dữ liệu không gian là những mô tả của hình ảnh bản đồ, chúng bao gồm tọa độ, quy luật và các ký hiệu dùng để xác định một hình ảnh bản đồ cụ thể trên từng bản đồ.
Hệ thống thông tin địa lý (GIS): dùng các dữ liệu không gian để tạo ra một bản đồ hay hình ảnh bản trên màn hình hoặc trên giấy thông qua thiết bị ngoại vi, …
Dữ liệu phi không gian là những diễn tả thuộc tính, số lượng, mối quan hệ của các hình ảnh bản đồ với vị trí địa lý của chúng. Các dữ liệu phi không gian được gọi là dữ liệu thuộc tính.
A.1. Dữ liệu không gian
Dữ liệu không gian bao gồm:
Hệ thống dữ liệu dạng Vector Hệ thống dữ liệu dạng Raster
A.1.1. Hệ thống dữ liệu dạng Vector
- Kiểu đối tượng điểm
Các đối tượng đơn, thông tin địa lý chỉ gồm cơ sở vị trí sẽ được phản ánh là đối tượng điểm.
Các đối tượng điểm có các đặc điểm sau: Là tọa độ đơn (x,y)
Đồ án tốt nghiệp Đại học Phụ lục A
Hình A.1: Dữ liệu Vector dưới dạng điểm
- Kiểu đối tượng đường(arc)
Đường được xác định như tập hợpdãy của các điểm. Mô tả đối tượng địa lý định tuyến. Nó có những đặc điểm sau:
Là một dãy các cặp tọa độ
Một cung bắt đầu và kết thúc bởi nút (node) Các cung nối với nhau và cắt nhau tại nút (node)
Hình dạng của arc được định nghĩa bởi các điểm vertices (đỉnh) Ðộ dài chính xác bằng các cặp tọa độ.
- Kiểu đối tượng vùng (Polygons)
Vùng được xác định bởi ranh giới bởi các đường thẳng. Các đối tượng địa lý có diện tích và đóng kín bởi một đường được gọi là đối tượng vùng (Polygons). Nó có đặc điểm sau:
Polygons được mô tả bằng tập các đường (arcs) và điểm nhãn (label points)
Một hoặc nhiều arc định nghĩa đường bao của vùng
Một điểm nhãn label points nằm trong vùng để mô tả, xác định cho mỗi một vùng
Hình A.3: Dữ liệu vector dưới dạng vùng A.1.2. Hệ thống dữ liệu dạng raster
Mô hình dữ liệu dạng Raster phản ánh toàn bộ vùng nghiên cứu dưới dạng một lưới các ô vuông hay điểm ảnh (pixel). Mô hình Raster có các đặc điểm:
Các điểm được xếp liên tiếp từ trái qua phải và từ trên xuống dưới.
Đồ án tốt nghiệp Đại học Phụ lục A
Trong một hệ thống dữ liệu, Raster thường được lưu trữ trong các ô (thường là hìnhvuông) được sắp xếp trong một mảng hoặc các dãy hàng và cột.
Hình A.4: Biểu diễn bản đồ dưới dạng Raster A.1.2. Quan hệ giữa Dữ liệu Vector và Dữ liệu Raster.
Dữ liệu dạng Raster có thể chuyển qua Dữ liệu dạng Vector và ngược lại tùy thuộc vào yêu cầu của người sử dụng.
Với hệ thống Vector thì dữ liệu lưu trữ sẽ chiếm diện tích nhỏ hơn so với hệ thống Raster và các đường viền (contour) sẽ chính xác hơn hệ thống Raster. Nhưng với việc sử dụng ảnh vệ tinh trong GIS thì buộc phải sử dụng dưới dạng Raster.
A.2. Dữ liệu phi không gian
Dữ liệu phi không gian hay còn gọi là thuộc tính là những mô tả về đặc tính, đặc điểm và các hiện tượng xảy ra tại các vị trí địa lý xác định.
Hệ thống thông tin địa lý GIS thường có 4 loại dữ liệu thuộc tính:
Ðặc tính của đối tượng: liên kết chặt chẽ với các thông tin không gian có thể thực hiện SQL (Structure Query Language) và phân tích
Số liệu hiện tượng, tham khảo địa lý: miêu tả những thông tin, các hoạt động thuộc vị trí xác định.
Chỉ số địa lý: tên, địa chỉ, khối, phương hướng định vị, …liên quan đến các đối tượng địa lý.
Đồ án tốt nghiệp Đại học Phụ lục B
PHỤ LỤC B: CÁCH ĐẶT TÊN LỚP ẢNH RASTER
Như chúng ta đã biết, mỗi block ảnh vệ tinh của Google có một tên riêng, gồm một chuỗi ký tự, tổ hợp từ 4 chữ cái : q, r, t, s. Mỗi chữ này nằm ở một vị trí nhất định. Để định vị nó, họ (Google) quy ước như sau: q=0, r=1, t=2, s=3. Để hiểu cách thức Google dùng chúng như thế nào, ta sẽ dò tìm ngược quá trình tạo ra tên này. Cụ thể hơn, giả sử nhà chúng ta ở, thuộc block có tên: trsttrqrrtqssrtrqtr (Level thứ 19). Chúng ta sẽ sẽ thay các chữ cái, bằng các số, theo cách họ quy ước:
t r s t t r q r r t q s s r t r q t r t q t s s
2 1 3 2 2 1 0 1 1 2 0 3 3 1 2 1 0 2 1 2 0 2 3 3
Bảng B.1: Quy ước tên ký tự sang số thập phân
Bây giờ, ta sẽ chuyển các số hệ thập phân trong dãy trên (từng số một) thành hệ nhị phân 2-bit: 0 = 00; 1 = 01; 2 = 10; 3 = 11. Với quy ước viết và đọc từ dưới lên trên ta được 2-dãy số sau:
t r s t t r q r r t q s s R t r q t R t q t s s
= 2 1 3 2 2 1 0 1 1 2 0 3 3 1 2 1 0 2 1 2 0 2 3 3
H 0 1 1 0 0 1 0 1 1 0 0 1 1 1 0 1 0 0 1 0 0 0 1 1
V 1 0 1 1 1 0 0 0 0 1 0 1 1 0 1 0 0 1 0 1 0 1 1 1
Bảng B.2: Quy ước tên ký tự sang số nhị phân
Nhìn vào hai dãy số này, ta nhận thấy nếu tổ hợp chúng lại, sẽ có hai số nhị phân 24-bit (mức chi tiết cuối cùng của ảnh vệ tinh).
Trong các dãy số ấy, bit 0 có nghĩa trái/phải, bit 1 có nghĩa trên/dưới. Chúng biểu