3.2.13.1.1Giải pháp tối ƣu dữ liệu[4]
Tại sao cần tối ưu dữ liệu?
Khi số lƣợng bản tin gửi về với tần suất lấy mẫu cao (1Hz) thì với số lƣợng thiết bị giám sát lớn sẽ xảy ra hiện tƣợng quá tải dữ liệu. Ví dụ, ới tần suất gửi bản tin dữ liệu v
NMEA1083 là 1s/bản tin/thiết bị thì trong một ngày số lƣợng bản tin nhận đƣợc sẽ là 60×60×24=86400 bản tin. Với mỗi bản tin có kích thƣớc 70 bytes tƣơng ứng với khoảng 6Mb dữ liệu đƣợc truyền và lƣu trữ tại server một ngày. Kết quả là tại trung tâm sẽ lƣu trữ một lƣợng lớn bản tin dữ liệu, ảnh hƣởng đến hiệu năng hoạt động của server và thời gian hiển thị thông tin cho ngƣời sử dụng. Tôi đƣa ra giải pháp xử lý số lƣợng bản tin “dƣ thừa” này tại server trung tâm với yêu cầu không làm mất đi khả năng giám sát liên tục và chính xác đối với bộ thu.
Ý tƣởng của thuật toán đó là vị trí của phƣơng tiện có rất ít hay gần nhƣ không thay đổi trong vòng một giây và chỉ có một vài trong số hàng ngàn điểm đó là những điểm quan trọng (những điểm mang nhiều thông tin –tôi tạm gọi là điểm chuyển hƣớng). Ví dụ, khi ngƣời dùng kiểm tra lại lịch sử di chuyển của phƣơng tiện trên một tuyến đƣờng, với hầu hết cac hệ bản đồ số phổ biến nhƣ Google Maps, ta chỉ cần điểm bắt đầu và kết thúc của tuyến đƣờng và những điểm chuyển hƣớng di chuyển là có thể vẽ lại lộ trình mà không cần load lại toàn bộ các điểm. Dựa trên nguyên lý về sự chuyển hƣớng của phƣơng tiện, ta hoàn toàn có thể giảm hay loại bỏ những điểm không cần thiết giữa những điểm này. Hơn nữa, một bộ lọc đơn giản có thể đƣợc dùng
Formatted: Font: 14 pt, No underline, Font color: Auto, All caps
Formatted: Font: 14 pt, No underline, Font color: Auto, All caps
Formatted: Font: 14 pt, No underline, Font color: Auto, All caps
Formatted: Font: 14 pt, No underline, Font color: Auto, All caps
Formatted: Font: 14 pt, All caps
Formatted:No underline, Font color: Auto, All caps
Formatted: Level Indent: Hanging: 0.5",2, Space Before: 6 pt
Formatted:No underline, Font color: Auto, All caps
Formatted: All caps
Formatted: Justified, Level Outline3, numbered + Level: 3 + Numbering Style: 1, 2, 3, … + Start at: 1 + Alignment: Left + Aligned at: 0.25" + Indent at: 0.75"
Formatted: Font: Not Bold, No underline, Font color: Auto
NGHIÊN CỨU THIẾT KẾ VÀ CHẾ TẠO THIẾT BỊ ĐỊNH VỊ CHÍNH XÁC KẾT HỢP TRUYỀN THÔNG VÔ TUYẾN PHỤC VỤ CÁC MỤC ĐÍCH GIÁM SÁT để loại bỏ những điểm có cùng tọa độ, những điểm này đƣợc sinh ra khi phƣơng tiện dừng trên đƣờng hoặc ở khu đỗ xe.
Hình sau trình bày nguyên lý cơ bản của việc dữ liệu trƣớc và sau khi đƣợc tối ƣu.
Hình 3.1 Ví d v tụ ề ối ƣu hóa dữ u liệ
Sau khi xử lý thuật toán này những bản tin trùng lặp tại các điểm 1 và 4 sẽ đƣợc ,
loại bỏ và khi thực hiện chức năng xem lại lộ trình di chuyển của xe trên trong một khoảng thời gian có hƣớng di chuyển không đổi với các điểm bắt đầu – kết thúc là 1 và 7 có hai đoạn đƣờng là 1-4, 4-7 thì các điểm trung gian 2, 3, 5, 6 là không cần thiết, chúng sẽ đƣợc loại bỏ. Nhƣ vậy khi cần xem lại lộ trình di chuyển từ điểm bắt đầu 1 và kết thúc 7 chỉ cần các điểm đầu và cuối mỗi đoạn đƣờng di chuyển của xe và điểm chuyển hƣớng 4.
Nhƣ vậy, quá trình thực hiện qua 2 bƣớc nhƣ sau: đầu tiên hạn chế các điểm trùng lặp chính là các điểm có cùng một tọa độ, sau đó chọn các điểm có hƣớng di chuyển thay đổi so với các điểm trƣớc đó.
Chi tiết thuật toán nhƣ sau:
Pha 1: Loại bỏ những điểm trùng nhau
Vì những điểm trung nhau có tọa độ giống nhau vì thế kết quả của phép trừ giữa hai điểm liên tiếp sẽ bằng không. Vì thế, ta chỉ cần một vòng lặp với các phép trừ để để loại bỏ những điểm này.
Formatted: Font: No underline, Font color: Auto
Formatted: Font: Not Bold, No underline, Font color: Auto
NGHIÊN CỨU THIẾT KẾ VÀ CHẾ TẠO THIẾT BỊ ĐỊNH VỊ CHÍNH XÁC KẾT HỢP TRUYỀN THÔNG VÔ TUYẾN PHỤC VỤ CÁC MỤC ĐÍCH GIÁM SÁT
Mảng đầu vào là A[], là một mảng N phần tử, chứa chỉ số và tọa độ của các điểm. Kết quả của pha này là mảng B[], gồm K phần tử (K<=N).
- Bƣớc 1:
Khởi tạo B[ ]; B[0]:=A[0]; i:=0; // điểm hiện tại j:=i; //điểm tiếp theo k:=0; - Bƣớc 2: Loop { if i >= N-1 or j>=N: //Vòng lặp kết thúc Return B[ ] ; if i <N and j<N: //Tiếp tục lặp j++;
if(A[i] != A[j]) // Không phải điểm trùng nhau i:=j; // Tới điểm tiếp theo
B[k++]:=A[j]; // Lưu trữ vào B[] else
j++; }
Pha 2: Loại bỏ những điểm giữa hai điểm chuyển hƣớng.
Sau khi kết thúc pha 1, ta thu đƣợc một tập các điểm đƣợc lƣu trong bảng B[]. Những điểm chuyển hƣớng có thể là điểm bắt đầu hoặc kết thúc của mảng B[] hoặc là những điểm mà tại đó góc di chuyển có sự sai khác nhất định với điểm gần nhất trƣớc nó, trong nghiên cứu này tôi xác định giá trị đó là 10 độ. Những điểm dƣ thừa là những điểm nằm giữa hai điểm chuyển hƣớng và cần bị loại bỏ.
Formatted: Line spacing: 1.5 lines, Bulleted + Level: 1 + Aligned at: 0.25" + Indent at: 0.5"
Formatted: Line spacing: 1.5 lines
Formatted: Font: Italic, No underline, Font color: Auto
Formatted: Font: Italic
Formatted: Font: Italic, No underline, Font color: Auto
Formatted: Font: Italic
Formatted: Font: Italic, No underline, Font color: Auto
Formatted: Font: Italic
Formatted: Font: Italic, No underline, Font color: Auto
Formatted: Font: Italic
Formatted: Line spacing: 1.5 lines, Bulleted + Level: 1 + Aligned at: 0.25" + Indent at: 0.5"
Formatted: Font: Italic, No underline, Font color: Auto
Formatted: Line spacing: 1.5 lines
Formatted: Font: Italic
Formatted ... Formatted: Font: Italic
Formatted ... Formatted: Font: Italic
Formatted ... Formatted: Font: Italic
Formatted ... Formatted: Font: Italic
Formatted ... Formatted: Font: Italic
Formatted ... Formatted: Font: Italic
Formatted ... Formatted: Font: Italic
Formatted ... Formatted: Font: Italic
Formatted ... Formatted: Font: Italic
Formatted ... Formatted: Font: Italic
NGHIÊN CỨU THIẾT KẾ VÀ CHẾ TẠO THIẾT BỊ ĐỊNH VỊ CHÍNH XÁC KẾT HỢP TRUYỀN THÔNG VÔ TUYẾN PHỤC VỤ CÁC MỤC ĐÍCH GIÁM SÁT
Mảng đầu vào là mảng B[] chứa K phần từ với mỗi i thuộc[0,K], B[i] tƣơng ứng là là góc của mỗi điểm. Đầu ra là mảng R[] chứa M phần tử (M<=K), bao gồm chỉ số của các điểm chuyển hƣớng. Với mỗi điểm j thuộc [0,M], B[R[j]] là góc của các điểm chuyển hƣớng này.
Bƣớc 1:
Khởi tạo:
i := 0; // Điểm bắt đầu của điểm chuyển hướng trong mảng B[] j :=0; // biến chỉ số trong R[ ] Bƣớc 2: If index >= K-1 // vòng lặp kết thúc { Jump Step 4; }
Else // kiểm tra mỗi phần tử trong B[ ] {
NextIndex:=Findturningdirectionpoint(index);//tìm điểm chuyển hướng tiếp theo
R[j++]:= NextIndex; // lưu trữ điểm tìm được }
Bƣớc 3:
Index := NextIndex; // khởi tạo điểm chuyển hướng tiếp theo Return Step 2;
Bƣớc 4:
Return R[ ];
Một vòng lặp sẽ đƣợc dùng trong hàm Findturningdirectionpoint() để tìm các điểm tiếp theo với góc của chúng sai khác 10 độ so với điểm chuyển hƣớng trƣớc đó và sau đó trả về chỉ số của chúng trong mảng B[].
Formatted: Line spacing: 1.5 lines
Formatted: Font: Italic, No underline, Font color: Auto
Formatted: Font: Italic
Formatted: Font: Italic, No underline, Font color: Auto
Formatted: Font: Italic
Formatted: Font: Italic, No underline, Font color: Auto
Formatted: Font: Italic
Formatted: Font: Italic, No underline, Font color: Auto
Formatted: Font: Italic
Formatted: Font: Italic, No underline, Font color: Auto
Formatted: Font: Italic
Formatted: Font: Italic, No underline, Font color: Auto
Formatted: Font: Italic
Formatted: Font: Italic, No underline, Font color: Auto
Formatted: Font: Italic
Formatted: Font: Italic, No underline, Font color: Auto
Formatted: Font: Italic
Formatted: Font: Italic, No underline, Font color: Auto
Formatted: Font: Italic
Formatted: Font: Italic, No underline, Font color: Auto
Formatted: Font: Italic
Formatted: Font: Italic, No underline, Font color: Auto
Formatted: Font: Italic
Formatted: Font: Italic, No underline, Font color: Auto
Formatted: Font: Italic
Formatted: Font: Italic, No underline, Font color: Auto
Formatted: Font: Italic
Formatted: Font: Italic, No underline, Font color: Auto
NGHIÊN CỨU THIẾT KẾ VÀ CHẾ TẠO THIẾT BỊ ĐỊNH VỊ CHÍNH XÁC KẾT HỢP TRUYỀN THÔNG VÔ TUYẾN PHỤC VỤ CÁC MỤC ĐÍCH GIÁM SÁT
3.2.2.13.1.2 Kết quả và đánh giá
Thông qua mô giải pháp tối ƣu dữ liệu, hình sau trình bày kết quả so sanh dữ liệu khi chƣa đƣợc tối ƣu (Original), dữ liệu sau khi đã loại bỏ những điểm trùng lặp (Phase 1) và dữ liệu sau khi loại bỏ điểm trên cùng đoạn đƣờng có hƣớng di chuyển không đổi.
Hình 3.2 D ữliệu đƣợ ối ƣu (phase 1 và phase 2) so vớ ữc t i d u g c (original) liệ ố Có thể thấy rõ ràng qua biểu đồ trên, trong lần thử nghiệm với hơn 8000 điểm, sau pha 1 (loại bỏ điểm trùng nhau), số lƣợng điểm bị lƣợc bỏ không đáng kể có thể do phƣơng tiện không dừng, nghỉ mà di chuyển liên tục. Tuy nhiên, sau pha 2, một số lƣợng điểm rất lớn (khoảng 6000 điểm) đã đƣợc loại bỏ, số điểm còn lại chỉ lớn hơn 2000.
Hình vẽ sau trình bày dữ liệu định vị hiển thị trên bản đồ trƣớc (hình a) và sau khi đƣợc tối ƣu (hình b). Kết quả cho thấy không có sự thay đổi về lộ trình di chuyển của phƣơng tiện, tuy nhiên sau khi tối ƣu thì đƣờng biểu thị di chuyển phƣơng tiện sẽ không đƣợc “trơn” so với đƣờng dữ liệu gốc.
Formatted: Level Outline numbered +3, Level: 3 + Numbering Style: 1, 2, 3,… + Start at: 1 + Alignment: Left + Aligned at: 0.25" + Indent at: 0.75"
Formatted: Centered
Formatted: Centered, Indent: First line: 0.3"
Formatted: Font: Not Bold, No underline, Font color: Auto
NGHIÊN CỨU THIẾT KẾ VÀ CHẾ TẠO THIẾT BỊ ĐỊNH VỊ CHÍNH XÁC KẾT HỢP TRUYỀN THÔNG VÔ TUYẾN PHỤC VỤ CÁC MỤC ĐÍCH GIÁM SÁT
a) Dữ liệu gốc b) Dữ liệu sau tối ƣu
Hình 3.3 Hình 4 - 2. D ữliệu định v hi n th trên bị ể ị ản đồ trƣớc và sau khi tối ƣu Chính đầu ra của thuật toán tối ƣu hóa dữ liệu này lại là đầu vào của các bài toán xử lý trên bản đồ nhằm tăng độ chính xác khi hiển thị thông tin định vị.
3.33.2GIẢI PHÁP TRÊN BẢN ĐỒ Ố S GOOGLE MAPS
3.3.13.2.1Các vấn đề thƣờng gặp khi hiển thị dữ liệu trên bản đồ Google maps
Trong nhiều trƣờng h p, d ợ ữliệu định v gị ửi từ tracker v ề server, sau khi đã đƣợc xử
lý và hi n thể ị lên bản đồ ẫ, v n có nh ng sai l ch nhữ ệ ất định v i bớ ản đồ.
Nguyên nhân d n t i nh ng sai l ch này có th do: gi ẫ ớ ữ ệ ể ữchậm c a tủ ầng đối lƣu và
t ng ion x y ra khi tín hi u v tinh b ầ ả ệ ệ ịchậm đi khi xuyên qua tầng khí quy ển. Hoặc hiện
tƣợng tín hiệu đa đƣờng, x y ra khi tín hi u ph n x t ả ệ ả ạ ừ nhà hay các đối tƣợng khác
trƣớc khi t i máy thu.Lớ ỗi đồng h máy thu là l i do d ng h có trong máy thu không ồ ỗ ồ ồ chính xác nhƣ đồng h nguyên t trên các v tinh GPS. M t nguyên nhân khác có th là ồ ử ệ ộ ể
do l i qu o ỗ ỹ đạ cũng đƣợc biết nhƣ lỗi thiên văn, do vệ tinh thông báo v trí không chính ị
xác.Nhà cao tầng, địa hình, nhi u loễ ạn điệ ửn t hoặc đôi khi thậm chí tán lá d y có th ầ ể
chặn thu nh n tín hi u, gây lậ ệ ỗi định v hoị ặc không định v ị đƣợc. Nói chung máy thu GPS không làm việc trong nhà, dƣới nƣớc hoặc dƣới lòng t.Che khu t v hình đấ ấ ề
học, đ ềi u này liên quan t i v ớ ị trí tƣơng đố ủi c a các v ệtinh ởthời điểm b t kì. Phân b ấ ố
Formatted: Centered
Formatted: Font: No underline, Font color: Auto
Formatted:No underline, All caps
Formatted: Level Indent: Hanging: 0.5",2, Space Before: 12 pt
Formatted:No underline, All caps
Formatted:No underline, All caps
Formatted:No underline, All caps
Formatted: All caps
Formatted: Level Outline numbered +3, Level: 3 + Numbering Style: 1, 2, 3,… + Start at: 1 + Alignment: Left + Aligned at: 0.25" + Indent at: 0.75"
Formatted: Font: Not Bold, No underline, Font color: Auto, Condensed by 0.05 pt
Formatted: Font: Not Bold, No underline, Font color: Auto, Condensed by 0.05 pt
NGHIÊN CỨU THIẾT KẾ VÀ CHẾ TẠO THIẾT BỊ ĐỊNH VỊ CHÍNH XÁC KẾT HỢP TRUYỀN THÔNG VÔ TUYẾN PHỤC VỤ CÁC MỤC ĐÍCH GIÁM SÁT
v ệ tinh lí tƣởng là khi các qu v ả ệtinh ở ị v trí t o các góc r ng v i nhau. Phân b x u ạ ộ ớ ố ấ
x y ra khi các qu v tinh trên mả ả ệ ở ột đƣờng th ng ho c c m thành nhóm. ẳ ặ ụ
V i nh ng sai l ch này, khi hi n th lên bớ ữ ệ ể ị ản đồ ẽ s gây ra nhi u l i thi u chính xác ề ỗ ế nhƣ vị trí phƣơng tiện b lêch kh i ị ỏ đƣờng,sai th t hi n th v trí,l trình ứ ự ể ị ị ộ và hƣớng di chuyển của phƣơng tiện.
Để rõ hơn về điều này, ta xét í dụ nhƣ sau: v
Hình 3.4 D u hi n th trên bữliệ ể ị ản đồ ị ệ b l ch khỏi đƣờng
Rõ ràng trong trƣờng hợp trên không thể băng cắt qua đƣờng hoặc chuyển đƣờng một cách đột ngột nhƣ vậy. Trong nhiều trƣờng hợp yêu cầu độ chính xác khi hiển thị trên bản đồ số nhƣ trong các ứng dụng dẫn dƣờng, điều này sẽ làm ảnh hƣởng đáng kể đến độ chính xác của những phƣơng pháp trên.
Vấn đề mất tín hiệu GPS hoặc sự cố trên đƣờng truyền cũng là những vấn đề hay gặp phải trong các hệ thống định vị dành cho mục đích giám sát.
Ví dụ nhƣ trong hình sau:
Formatted: Font: Not Bold
Formatted: Centered
Formatted: Font: Not Bold
Formatted: Caption, Centered, Line spacing: single
Formatted: Font: Not Bold, No underline, Font color: Auto
NGHIÊN CỨU THIẾT KẾ VÀ CHẾ TẠO THIẾT BỊ ĐỊNH VỊ CHÍNH XÁC KẾT HỢP TRUYỀN THÔNG VÔ TUYẾN PHỤC VỤ CÁC MỤC ĐÍCH GIÁM SÁT
Hình 3.5 Hình ảnh k t qu hi n th trên bế ả ể ị ản đồ khi m t tín hi u ấ ệ
3.3.23.2.2Mô hình ánh xạ dữ liệu trên bản đồ số
Để khắc phục việc ánh xạ dữ liệu lên bản đồ bị sai lệch, phƣơng pháp map- matching đã đƣợc nghiên cứu và thực hiện trong phạm vi luận văn.
Mô hình đƣợc xây dựng nhƣ sau:
Hình 3.6 Mô hình ánh x d u v trí lên bạ ữliệ ị ản đồ
Mô hình đƣợc xây dựng gồm các bƣớc tiền xử lý dữ liệu, map-matching(ánh xạ dữ liệu lên bản đồ), lƣu cơ sở dữ liệu và hiển thị dữ liệu. Mỗi bƣớc đóng một vai trò quan
Formatted: Centered
Formatted: Font: No underline
Formatted: Font: Not Bold, English (U.S.)
Formatted: Justified, Level Space After: 63, pt, Outline numbered + Level: 3 + Numbering Style: 1, 2, 3,… + Start at: 1 + Alignment: Left + Aligned at: 0.25" + Indent at: 0.75"
Formatted: Font: No underline, Font color: Auto
NGHIÊN CỨU THIẾT KẾ VÀ CHẾ TẠO THIẾT BỊ ĐỊNH VỊ CHÍNH XÁC KẾT HỢP TRUYỀN THÔNG VÔ TUYẾN PHỤC VỤ CÁC MỤC ĐÍCH GIÁM SÁT trọng trong việc thực hiện đƣa dữ liệu lên bản đồ một cách chính xác và thời gian hiển thị nhanh.
Tại server:
- Bƣớc 1: Dữ liệu đầu vàolà dữ liệu đƣợc gửi về từ thiết bị GPS và lƣu vào cơ sở dữ liệu.
- Bƣớc 2: Tiền xử lý dữ liệu dùng để loại bỏ lƣợng lớn các điểm sai, điểm dƣ thừa để giảm số điểm lƣu trữ không cần thiết đồng thời giảm số lƣợng các request
cho bƣớc tiếp theo và qua đó tăng tốc độ xử lý. Điểm sai và những điểm dƣ thừa
là những điểm do thiết bị gửi về nhƣng sau khi đƣợc tính toán thì bị loại bỏ do sự phi logic và sự lặp lại của những điểm này.
- Bƣớc 3: Ánh xạ dữ liệu lên bản đồ (Map-matching) là việc gửi dữ liệu định vị thô lên server của Google Maps nhằm ánh xạ những điểm này vào các tuyến đƣờng tƣơng ứng.
- Bƣớc 4: Lƣu vào CSDL những điểm đã đƣợc map-matching ở bƣớc 4. Việc lƣu trữ này sẽ phục vụ cho các yêu cầu hiển thị ở các bƣớc tiếp theo.
Tại client:
- Hiển thị kết quả đƣợc thực hiện bên phía client. Khi ngƣời dùng yêu cầu về hiển