Use case 09: Lập biểu đồ dữ liệu AOT:

Một phần của tài liệu (LUẬN văn THẠC sĩ) xây dựng hệ thống web trực quan hóa, hỗ trợ quản lý và phân tích ảnh viễn thám dựa trên nền tảng mã nguồn mở (Trang 102 - 105)

3.5 .Phân tích các chức năng của hệ thống

3.5.3 .Đặc tả danh sách các Use Case

3.5.3.9. Use case 09: Lập biểu đồ dữ liệu AOT:

a) Use case 09.01: Lập biểu đồ phân tích giá trị AOT min, max

Tóm tắt:

o Use case này cho phép người sử dụng sau khi thống kê dữ liệu AOT của vùng chọn (đa giác, quốc gia hoặc tỉnh thành Việt Nam), lập nên 2 loại biểu đồ dạng cột và biểu đồ dạng đường thể hiện giá trị AOT (min, max, avegrade) theo thời gian.

Input:

o Mảng dữ liệu AOT đã được thống kê của các ảnh được chọn.

Output:

o Biểu đồ dạng cột (barchart) và biểu đồ dạng đường (linechart) thể hiện giá trị AOT thay đổi theo từng ảnh.

Giải thuật:

o Sử dụng công nghệ Google Chart API để import 2 loại biểu đồ sử dụng là barchart và linechart. Sau đó tạo bảng Google Visualization DataTable với các dịng là: tên ảnh, giá trị max AOT, giá trị min AOT, giá trị avegrade AOT. Cuối cùng là đưa bảng dữ liệu và 1 số cấu hình về kích cỡ, mầu sắc, thơng tin để hiển thị lên Google Chart. Tính năng xem dữ liệu AOT tại từng ngày được hỗ trỡ mặc định.

b) Use case 09.02: Lập biểu đồ phân tích số lượng AOT

Tóm tắt:

o Use case này cho phép người sử dụng sau khi thống kê dữ liệu AOT của vùng chọn (đa giác, quốc gia hoặc tỉnh thành Việt Nam), lập nên 2 loại biểu đồ dạng cột (cột thẳng đứng và cột nằm ngang). Mục đích là thể hiện về các thơng số thống kê giá trị AOT (tổng số điểm, tổng số điểm (có giá trị, khơng có giá trị), tổng giá trị AOT).

Input:

o Mảng dữ liệu AOT đã được thống kê của các ảnh được chọn .

Output:

o Biểu đồ dạng cột thẳng đứng (columchart) và biểu đồ dạng cột nằm ngang (barchart) thể hiện tổng số giá trị AOT thay đổi theo từng ảnh.

Giải thuật:

o Import 2 loại biểu đồ columnchart và barchart từ Google Chart API. Sau đó lập bảng Data Table với các dịng: tên ảnh, tổng số điểm AOT, tổng số điểm có giá trị, tổng số điểm khơng có giá trị, tổng số giá trị AOT. Cấu hình 2 loại biểu đồ với các thông số phù hợp và dữ liệu từ Data Table để hiển thị trên Google Chart.

c) Use case 09.03: Lập biểu đồ phân tích dữ liêu AOT theo các khoảng giá trị

Tóm tắt:

o Use case này cho phép người sử dụng sau khi thống kê dữ liệu AOT của vùng chọn (đa giác, quốc gia hoặc tỉnh thành Việt Nam), lập nên 2 loại biểu đồ dạng cột và biểu đồ hình trịn. Mục đích là thể hiện về các thông số thống kê giá trị AOT theo các khoảng giá trị (AOT chia thành 10 khoảng giá trị từ 0 → 5).

Input:

o Mảng dữ liệu AOT đã được thống kê của các ảnh được chọn.

Output:

o Biểu đồ dạng cột thẳng đứng (columchart) và các biểu đồ hình trịn (pipechart) thể hiện các khoảng giá trị AOT thay đổi theo từng ảnh.

Giải thuật:

o Import 2 loại biểu đồ columnchart và piechart từ Google Chart API, sau đó tạo ra bảng Data Table với các cột là: tên ảnh, AOT: 0.0 → 0.5,...AOT: 4.5 → 5.0 và đưa vào Google Chart API. Tuy nhiên, khác với các biểu đồ thơng thường thì biểu đồ dạng hình trịn chỉ có thể thể hiện 1 đối tượng ảnh viễn thám thống kê. Vì vậy, phải tạo ra n biểu đồ piechart ứng với n ảnh để có thể hiển thị lần lượt được khoảng giá trị AOT của tất cả các ảnh (dùng DHTML add thêm các biểu đồ pie – dạng thẻ div theo tổng số ảnh cần thống kê).

d) Use case 09.04: Lập biểu đồ phân tích dữ liệu AOT trên đoạn Polyline

Tóm tắt:

o Use case này cho phép người sử dụng thống kê và lập biểu đồ giá trị AOT giữa 1 Polyline vẽ trên Google Map và các ảnh được chọn. Mục đích là lập được biểu đồ thể hiện sự thay đổi về giá trị AOT theo từng kilomet (thống kê theo vùng không làm được điều này).

Input:

o Bản đồ nền hiện tại đã được vẽ 1 Polyline (có thể nằm ngồi, cắt, hoặc nằm trong các ảnh được chọn).

Output:

o Mảng tập dữ liệu thống kê giá trị AOT của các điểm trên đoạn thẳng cắt nhau với từng ảnh.

o 2 loại biểu đồ dạng cột (thể hiện khoảng giá trị AOT) và biểu đồ dạng đường (thể hiện sự tăng giảm giá trị AOT theo kilomet).

Giải thuật:

o Bởi vì mỗi ảnh có các tọa độ khác nhau nên đoạn thẳng này cũng có mối quan hệ với từng ảnh khác nhau (có thể nằm ngồi, cắt hoặc nằm trong ảnh). Để có thể thống kê thì áp dụng thuật tóan MidPoint để lấy ra các điểm cắt ảnh. Tuy nhiên để giới hạn khơng gian tìm kiếm thì cần chia ra 3 trường hợp:

 2 điểm của đoạn thẳng nằm ngồi ảnh: khơng có điểm chung với ảnh, kiểm tra dựa trên sự liên hệ về tọa độ với khung chữ nhật bao quanh ảnh. Giá trị thống kê là 0 trên mọi điểm thuộc đoạn thẳng này.

 2 điểm của đoạn thẳng nằm trong ảnh: khơng có điểm nào nằm ngồi ảnh nên khơng có giá trị thừa, áp dụng thuật tốn MidPoint để thống kê giá trị AOT thơng thường.

 1 hoặc 2 điểm của đoạn thẳng nằm ngoài ảnh: rõ ràng sẽ là dư thừa nếu duyệt các điểm nằm ngồi ảnh. Vì vậy, sử dụng PostGIS để truy vấn ra các điểm giao nhau giữa đoạn thẳng với ảnh. Như vậy, thay vì thống kê cả 1 đoạn thẳng dài thì ta chỉ thống kê 1 đoạn thẳng ngắn mà đầu mút của nó nằm trên cạnh (hoặc nằm trong) ảnh cần thống kê. Sau đó áp dụng thuật toán MidPoint để thống kê đoạn thẳng mới này.

o Kết quả là tập dữ liệu về giá trị AOT của đoạn thẳng cắt với từng ảnh. Ở đây, sử dụng 2 loại biểu đồ columnchart của Google Map API và dygraph (1 loại biểu đồ được mở rộng từ Google Map thể hiện được tính năng Time Series) và đưa các dữ liệu AOT ở trên để lập biểu đồ. Riêng với biểu đồ dygraph thể hiện giá trị AOT theo từng kilomet (quy đổi về cách tính 1 pixel = 1 kilomet ) giữa các ảnh nên cần có 1 thuật tốn để thống nhất dữ liệu AOT tại vị trí pixel của ảnh này có mà ảnh kia khơng có (do đoạn thẳng cắt mỗi ảnh tại vị trí khác nhau). Ví dụ: ảnh A có các điểm là: 1, 3, 5, 20, 30, 50, ảnh B có các điểm: 20, 30, 40, ảnh C có các điểm: 40, 50, 70.

 Thuật toán này lưu các điểm có giá trị AOT của từng ảnh (do đoạn thẳng cắt ảnh) vào mảng các danh sách liên kết. Duyệt từng phần tử của danh sách liên kết của từng ảnh và tìm xem trong các danh sách liên kết khác có phần tử đó khơng, nếu có thì tạo ra 1 dịng thể hiện tại vị trí kilomet này có những ảnh nào có chứa điểm này (mỗi dịng sẽ ứng với một tập điểm ảnh cùng vị trí kilomet trên biểu đồ dygraph). Sau đó xóa từng phần tử này trong danh sách liên kết, lặp lại cho đến khi hết điểm là có 1 danh sách các dịng không bị trùng lặp về kilomet.

 Nếu không thống nhất dữ liệu AOT theo từng dịng thế này thì biểu đồ dygraph khơng vẽ được vì có các điểm ở kilomet giống nhau nhưng lại nằm ở vị trí khác nhau của đoạn thẳng cắt từng ảnh (biểu đồ thiếu và rời rạc điểm).

Một phần của tài liệu (LUẬN văn THẠC sĩ) xây dựng hệ thống web trực quan hóa, hỗ trợ quản lý và phân tích ảnh viễn thám dựa trên nền tảng mã nguồn mở (Trang 102 - 105)