Xử lý dữ liệu

Một phần của tài liệu Nghiên cứu và xây dựng hệ thống WebGIS trực quan hóa và phân tích bản đồ chất lượng không khí và khí tượng ở việt nam (Trang 79 - 85)

Mục đích là từ dữ liệu được thu thập hàng ngày, có thể tự động xây dựng ra các dịch vụ bản đồ, thu thập dữ liệu thuộc tính, thống kê giá trị trung bình của các loại dữ liệu cho từng quận/huyện để hỗ trợ cho việc biểu diễn, phân tích, thống kê dữ liệu trên WebGIS. Các đối tượng để thực hiện kết xuất đã được mô tả trong phần 1.2.2.2.

3.6.2.1. Cập nhật dữ liệu thuộc tính

Mục đích là thực hiện việc lưu trữ dữ liệu thuộc tính của dữ liệu được thu thập hàng ngày. Cách thức lưu trữ vào trong CSDL đã được mô tả trong mục 3.6.1.

Dữ liệu mới sẽ được thu thập với tần suất là thu thập hàng ngày và được chuyển về kho lưu trữ ảnh viễn thám. Chương trình sẽ có nhiệm vụ đọc liên tục từ kho đó và thực hiện kết xuất nếu phát hiện ra có dữ liệu mới. Ở đây, với dữ liệu gió, chương trình sẽ không lưu giá trị vào CSDL mà sẽ xuất ra dạng tệp json – cấu trúc tệp json đã được mô tả ở mục 3.6.1.1.

Định dạng tệp ở đây phải tuân theo 1 nguyên tắc nhất định, có dạng như sau:

CategoryID_Year-Month-Day.tif

Ví dụ, với loại dữ liệu là DPT: DPT_2020-01-01.tif. Mục đích để chương trình có thể tự nhận biết được tệp là loại dữ liệu khí tượng nào, được thu thập vào ngày bao nhiêu.

Với dữ liệu gió:

Yêu cầu bắt buộc trong cùng 1 ngày, phải đưa cả 2 tệp về hướng và tốc độ gió vào kho GeoTiff thì hệ thống mới tiếp nhận và xử lý dữ liệu gió.Để hiển thị dữ liệu gió, hệ thống WebGIS sẽ không đọc qua dịch vụ bản đồ từ ArcGIS Server mà qua tệp, với định dạng JSON, để đọc được các thành phần (u,v,m), từ đó sử dụng đối tượng Canvas HTML để vẽ ra luồng gió trên bản đồ.

Ngay sau khi tiếp nhận dữ liệu được thu nhận về qua kho lưu trữ các dữ liệu mới nhất, gọi là GeoTiff Store , là các ảnh tiff đã được chạy qua mô hình WRF, bao gồm hướng gió và vận tốc gió, hệ thống tự động hóa chuyển đổi dịch vụ bản đồ, dữ liệu thuộc tính vào CSDL, FTP server sẽ đọc và phân tích chúng. Dữ liệu về các thành phần (u,v,m) sẽ được lưu thành tệp và đẩy lên FTP server để hệ thống WebGIS có thể đọc. Dữ liệu thông tin về ngày thu nhận, siêu dữ liệu ảnh tiff sẽ được lưu vào CSDL. Hệ thống WebGIS sau khi nhận biết được có dữ liệu gió mới được thu nhận về sẽ yêu cầu FTP server phản hồi lại để có thể đọc được dữ liệu và hiển thị lên bản đồ.

Hình 3.10 Quy trình thực hiện việc cập nhật dữ liệu gió

Các loại dữ liệu khí tượng còn lại và dữ liệu PM2.5:

Ngay sau khi tiếp nhận dữ liệu được thu nhận về qua kho lưu trữ các dữ liệu mới nhất, gọi là GeoTiff Store, là các ảnh tiff đã được chạy qua mô hình WRF, hệ thống tự động hóa chuyển đổi dịch vụ bản đồ, dữ liệu thuộc tính vào CSDL, FTP server sẽ đọc và phân tích chúng. Dữ liệu của ảnh tiff sẽ được đưa vào file geodatabase dưới dạng raster dataset và mosaic dataset, sau đó sẽ được xuất bản thành các dịch vụ bản đồ mới nhất. Dữ liệu thông tin về ngày thu nhận, siêu dữ liệu ảnh tiff, dữ liệu thuộc tính có ý nghĩa tại các ô của ảnh tiff sẽ được lưu vào CSDL và được phân tích sẵn thành các giá trị trung bình cho các đơn vị hành chính ở mức quận/huyện. Hệ thống WebGIS sau khi nhận biết được

có dữ liệu mới được thu nhận về sẽ yêu cầu ArcGIS server phản hồi lại dịch vụ để có thể đọc được dữ liệu và hiển thị lên bản đồ.

Hình 3.11 Quy trình thực hiện việc cập nhật dữ liệu thuộc tính

Lưu ý: Một điều vô cùng quan trọng cần lưu ý ở đây là trong CSDL sẽ lưu trữ địa chỉ của các dịch vụ bản đồ tương ứng với loại dữ liệu, vì hệ thống WebGIS sẽ đọc đầu tiên từ CSDL, lấy các loại dữ liệu khí tượng và các dịch vụ bản đồ tương ứng. Do đó, cần phải có giải pháp để đồng bộ được tên địa chỉ dịch vụ giữa 2 chương trình Quản lý dịch vụ bản đồ và Quản lý dữ liệu thuộc tính. Do tên địa chỉ dịch vụ bản đồ có quy tắc (mô tả ở mục 3.6.2.2) nên giải pháp đưa ra ở đây là sẽ có 1 tệp cấu hình để xác định thời điểm hiện tại tên dịch vụ bản đồ có hậu tố cuối cùng là 0 hay 1.

Ví dụ với loại dữ liệu PM2.5, trong tệp cấu hình ghi là pm25:1, thì địa chỉ của service raster là PM2.5_latest_1 và địa chỉ mosaic dataset là MD_master_pm25_latest_1

3.6.2.2. Tạo các dịch vụ bản đồ

Trực quan hóa các loại dữ liệu khí tượng và chất lượng không khí PM2.5

Để trực quan hóa, hệ thống sẽ quy định thang màu cho các chỉ số khí tượng tại Việt Nam. Chi tiết thang màu cho mỗi loại dữ liệu tham kharotiaj Phụ lục 5

Xuất bản các dịch vụ bản đồ tự động

Tạo các mẫu trước cho các loại dữ liệu khí tượng

Trong quá trình thực hiện xuất bản các dịch vụ bản đồ, chúng ta cần phải trực quan hóa luôn trong khi xuất bản. Nếu việc này được thực hiện qua thủ công sẽ làm chậm hệ thống và muốn chỉnh sửa sẽ mất nhiều thời gian. Do đó, việc sinh sẵn các mẫu này để đưa vào hệ thống sẽ giúp tránh được 2 trường hợp trên. Các mẫu bao gồm 2 nhóm:

- Nhóm 1: lưu dưới dạng là 1 lớp (layer), có đuôi tệp là .lyr, nhằm hố trợ việc thiết lập sẵn symbology, cho phép tính năng chạy theo chuỗi thời gian cho dịch vụ bản đồ

- Nhóm 2: tệp dạng mxd rỗng, không có bất kỳ đối tượng nào, có tác dụng khỏi tạo 1 mxd trong quán trình xuất bản dịch vụ bản đồ

Hình 3.12 Danh sách các mẫu được thiết lập sẵn symbology Xuất bản các dịch vụ bản đồ tự động

Việc xuất bản được thực hiện qua chương trình viết bằng Python, sử dụng các đối tượng từ một thư viện arcPy mà ArcGIS cung cấp. Mục đích chính là kết xuất được thành các dịch vụ bản đồ. Dữ liệu mới sẽ được thu thập hàng ngày và được chuyển về kho lưu trữ ảnh. Khi hệ thống phát hiện ra có dữ liệu mới được đưa về, kết quả là sẽ có 2 dịch vụ bản đồ tương ứng cho raster dataset và mosaic dataset của 1 loại dữ liệu. Chương trình sẽ có nhiệm vụ đọc liên tục từ kho đó và thực hiện kết xuất nếu phát hiện ra có dữ liệu mới. Ở đây, chương trình sẽ không xử lý dữ liệu gió, do loại dữ liệu này không cần kết xuất thành các dịch vụ bản đồ như các loại dữ liệu khác và sẽ đọc từ tệp json và chuyển hóa chúng lên trên hệ thống WebGIS.

Đầu tiên để hiển thị được dữ liệu theo chuỗi thời gian, chương trình cần phải thiết lập 1 tham số hệ thống cho biết chuỗi thời gian cần chạy là bao nhiêu ngày, ví dụ: 7 ngày, 15 ngày, 30 ngày…, chúng ta gọi là tham số NoTimeSeries

Định dạng tệp ở đây phải tuân theo 1 nguyên tắc nhất định, mục đích để chương trình có thể tự nhận biết được tệp là loại dữ liệu khí tượng nào, được thu thập vào ngày bao nhiêu, có dạng như sau: CategoryID_Year-Month-Day.tif

Hình 3.13. Quy trình thực hiện việc xuất bản dịch vụ bản đồ

- Category ID: 1 trong các loại dữ liệu khí tượng, bao gồm: DPT, HPBL, PM2.5, PRES2M, RH, TMP

- GeoTiff Store: kho lưu trữ dữ liệu dữ liệu khí tượng, khi có dữ liệu mới, người quản trị cần phải đưa vào kho này để chương trình đọc và nhận biết được

- Để có thể kết xuất các dịch vụ bản đồ mới, cần có một tệp cấu hình để chương trình cần biết được ngày cập nhật cuối cùng là ngày bao nhiêu để xác định được dữ liệu mới được đưa vào GeoTIFF Store có phải là mới hay không. Ví dụ, thông tin PM2.5 trong tệp cấu hình là: pm25: 2020-01-30, tức là ngày cập nhật cuối cùng của PM2.5 là ngày 03/01/2020

- Dữ liệu sau khi được đưa vào GeoTiff Store sẽ được chia là 3 trường hợp:

o Dữ liệu cũ: là dữ liệu có ngày nhỏ hơn ngày dữ liệu được cập nhật lần cuối trừ đi NoTimeSeries.

▪ Ví dụ, với PM2.5, dữ liệu được cập nhật lần cuối là 2020-01-30, NoTimeSeries = 15 ngày, nếu tệp được đưa vào là ngày 2020-01- 14 thì được coi là dữ liệu cũ.

o Dữ liệu trong khoảng: là dữ liệu có ngày nhỏ hơn ngày dữ liệu được cập nhật lần cuối, nhưng lại lớn hơn ngày dữ liệu được cập nhật lần cuối trừ đi NoTimeSeries và trong geodatabase chưa tồn tại ngày này.

▪ Ví dụ, với PM2.5, dữ liệu được cập nhật lần cuối là 2020-01-30, NoTimeSeries = 15 ngày, nếu tệp được đưa vào là ngày 2020-01- 21, mà trong geodatabase chưa tồn tại raster dataset này – điều đó

chứng tỏ hệ thống chưa cập nhật dữ liệu ngày này. Như vậy tệp PM2.5_2020-01-21.tif được coi là dữ liệu trong khoảng.

o Dữ liệu mới: là dữ liệu có ngày lớn hơn ngày dữ liệu được cập nhật lần cuối

▪ Ví dụ, với PM2.5, dữ liệu được cập nhật lần cuối là 2020-01-30, nếu tệp được đưa vào là ngày 2020-02-01 thì được coi là dữ liệu mới.

- Với dữ liệu cũ không còn ý nghĩa cho việc hiển thị nên sẽ bị bỏ qua - Với dữ liệu trong khoảng và dữ liệu mới, cần thực hiện các thao tác sau:

o Với raster dataset: tạo mới, đưa vào mxd, thiết lập symbology. Nếu rơi vào trường hượp dữ liệu mới thì cần phải xuất bản dịch vụ bản đồ để hiển thị lên hệ thống WebGIS.

o Với mosaic dataset: tạo mới hoặc cập nhật, đưa raster dataset mới tạo được vào trong mosaic dataset, khử dữ liệu NoData để không hiển thị khi đưa lên bản đồ và các raster dataset bị cũ trong geodabase, đưa vào mxd, thiết lập symbology, thiết lập trường và dữ liệu thời gian để hiển thị theo chuỗi thời gian trên bản đồ. Cuối cùng là xuất bản dịch vụ bản đồ để hiển thị lên hệ thống WebGIS.

Khi chạy thực tế, sẽ xảy ra trường hợp hệ thống WebGIS đạng chạy 1 dịch vụ bản đồ mà chương trình này lại phải xuất bản dịch vụ cho loại dữ liệu đó, như vậy dịch vụ đó sẽ bị lỗi và không lên được bản đồ, gây lầm tưởng cho người dùng là hệ thống bị lỗi. Để tránh vấn đề này xảy ra, hệ thống sẽ tổ chức như sau cho mỗi 1 loại dữ liệu khí tượng, áp dụng đồng thời cho cả raster dataset và mosaic dataset:

o Thiết kế 2 dịch vụ trong đó chỉ có 1 dịch vụ được đưa lên hệ thống WebGIS (với raster dataset là hiển thị dữ liệu mới nhất được cập nhật hàng ngày, với mosaic dataset là hiển thị dữ liệu mới nhất được cập nhật trong khoảng thời gian thiết lập sẵn), dịch vụ còn lại để thực hiện việc kết xuất. Sau khi kết xuất xong, vai trò của 2 dịch vụ này sẽ đảo lại cho nhau.

o Định dạng tên dịch vụ sẽ chứa 2 hậu tố 0 hoặc 1: categoryid_latest_0 và categoryid_latest_1

Hình 3.14. Ví dụ các dịch vụ bản đồ

Hình 3.15 Chương trình thực thi xuất bản tự động các dịch vụ bản đồ

Một phần của tài liệu Nghiên cứu và xây dựng hệ thống WebGIS trực quan hóa và phân tích bản đồ chất lượng không khí và khí tượng ở việt nam (Trang 79 - 85)

Tải bản đầy đủ (PDF)

(116 trang)