.Tách band AOT ảnh MOD04 L2 định dạng HDF sang GeoTiff

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 56 - 59)

2.2 .Xử lý ảnh viễn thám khí tượng MODIS

2.2.3 .Tách band AOT ảnh MOD04 L2 định dạng HDF sang GeoTiff

Khác với dữ liệu ảnh GeoTiff từ công ty MEEO, ảnh MOD04 L2 HDF từ NASA hồn tồn chưa có thơng tin về hệ quy chiếu và chưa có tọa độ 4 góc của ảnh dạng latitude và longtitude. Hơn nữa, ảnh HDF này có rất nhiều thơng tin về các băng phổ khác của vệ tinh MODIS và băng phổ AOT cũng có giá trị chưa phù hợp (chưa được nhân với tham số tỷ lệ scale và cộng với offset). Chính vì vậy tơi đã sử dụng thư viện GDAL với ngơn ngữ lập trình Python script, kết hợp với GDAL Linux shell để có thể chuyển dạng HDF sang GeoTIFF, các bước thực hiện lần lượt là:

a) Đọc danh sách các sub dataset từ HDF: sử dụng câu lệnh gdalinfo với tham số

đầu vào là file HDF, ta sẽ có 1 loạt danh sách các sub dataset được hiển thị, và lấy ra tên dataset AOT mà ta muốn sử dụng.

Hình 2.6. Đọc danh sách sub dataset từ file HDF và lấy ra tên dataset quan tâm

Từ đó có thể sử dụng Python đọc băng phổ AOT này theo tên ở đây là subdataset thứ 9 có tên band ảnh chia làm 3 thành phần:

HDF4_EOS:EOS_SWATH: dạng ảnh HDF của hệ thống giám sát trái đất của NASA (EOS: Earth Observing System).

"MOD04_L2.A2010214.0300.051.2011120192340.hdf": tên file ảnh HDF theo định dạng chuẩn của NASA.

mod04:Image_Optical_Depth_Land_And_Ocean: tên dataset muốn sử dụng để nghiên cứu là giá trị chỉ số AOT trên đất liền và đại dương.

Như vậy có thể lấy tên dataset và đọc các giá trị AOT vào 1 mảng ma trận điểm ảnh, tính tốn lại giá trị AOT theo cơng thức (scale và offset tùy theo loại ảnh HDF, ở đây giá trị scale = 0.001 và offset = 0 – lấy được từ lệnh gdalinfo):

giá trị điểm ảnh mới = giá trị điểm ảnh hiện tại * scale + offset

Sau đó, ta có thể lưu ma trận điểm ảnh mới này thành 1 ảnh GeoTiff chưa có thơng tin về hệ quy chiếu và tọa độ 4 góc vẫn là tọa độ Đề Các với gốc tọa độ là góc trên trái. Đây là bước trung gian trước khi chuyển từ ảnh HDF sang ảnh GeoTiff có độ tương quan và chính xác cao với ảnh MODIS 1km. Tuy nhiên ảnh này sẽ không thể chuyển sang hệ quy chiếu đúng vì thiếu các điểm điều khiển mặt đất GCP (ground control points) có trong HDF nhưng khơng có khi chỉ đọc ảnh vào ma trận.

Hình 2.7. Đọc các điểm mốc tọa độ mặt đất GCP từ file HDF

Kết quả khi chuyển hệ quy chiếu là tuy cùng hệ quy chiếu, hệ quy chiếu thì hình dạng ảnh MOD04 L2 khác hồn tồn ảnh từ trung tâm MEEO. Vì vậy, trước khi lưu ảnh GeoTiff cần ghi tồn bộ thơng số GCP từ HDF vào ảnh để ảnh có kết quả đúng.

Nhờ có các điểm GCP mà khi sử dụng lệnh chuyển hệ quy chiếu sẽ có sự tương quan và tọa độ chính xác với ảnh MOD04 1 km.

Hình 2.8. Mã nguồn Python tạo ảnh GeoTiff từ ảnh MOD04 L2 HDF

b) Thiết lập hệ quy chiếu: sử dụng câu lệnh gdalwarp chuyển về hệ quy chiếu từ

chưa có về dạng kinh độ vĩ độ và hệ tọa quy chiếu thế giới WGS84.

gdalwarp -t_srs '+proj=longlat +datum=WGS84' -ot Float32 -tps "mecrator.tif" "output.tif"

Với hệ quy chiếu này thì ảnh GeoTiff đã có các góc ảnh với dạng kinh độ, vĩ độ và trùng khớp với bản đồ Google Map, các giá trị AOT đã đúng dạng chuẩn Float 32 bit, tuy nhiên để câu lệnh quan tâm đến vai trò của các điểm mốc tọa độ mặt đất GCP cần lưu ý và tìm ra tham số phù hợp. Qua nhiều lần thử nghiệm với các tham số khác nhau và tìm hiểu về vai trị của GCP, thì thử với tham số -tps đóng vai trị đọc các điểm

GCP từ ảnh GeoTiff và chuyển các điểm ảnh theo tọa độ WGS84 một cách chính xác, nếu khơng có thì ảnh sẽ bị lệch rất lớn với ảnh MODIS 1km về hình ảnh.

c) Đọc dữ liệu AOT trên Google Map: mục đích là cho phép người sử dụng click

chuột để lấy giá trị AOT tại 1 điểm trên ảnh sau khi đã overlay. Cách thực hiện là sử dụng Ajax post query qua Javascript đến PHP Web Server, PHP sẽ chạy hàm Linux Shell gdallocationinfo để lấy ra giá trị AOT tại điểm này. Tham số đầu vào có thể là

longtitude và latitude (cần thêm tham số -WGS84) hoặc x và y (không cần thêm tham

số gì do đọc trực tiếp từ ma trận điểm ảnh).

Ví dụ: gdallocationinfo -wgs84 output.tif 20.45 33.75 trả về AOT có giá trị 2.3421

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 56 - 59)

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

(120 trang)