Cách thức hoạt độngcủa thuật toán

Một phần của tài liệu Nghiên cứu thuật toán trích xuất điểm nóng cháy từ ảnh vệ tinh và ứng dụng trong hệ thống thông tin cháy rừng (Trang 32)

Cấu trúc của thuật toán gồm có:

Cách thức hoạt động của thuật toán: - Đầu vào: MOD02 và MOD03 - Đầu ra: Tệp HDF

mod14 [-tvgdC] [-c <Tệp đầu ra độ phân giải thô>]

<Tệp đầu vào độ phân giải 1-km Level 1B - MOD021KM><Tệp đầu vào địa lý - geolocation><Tệp đầu ra>

- v Chế độ verbose.

- t Thêm dải phổ kênh 21, 31 và kênh nhiệt sáng 32 vào tệp đầu ra. - c Ghi chi tiết tệp độ phân giải thô (MOD14CRS).

- C Kích hoạt nén HDF sử dụng LZW. Sản phẩm đầu ra sẽ nhỏ hơn nhiều. - g Thêm SDS vào để đơn giản hóa sản phẩm của sản phẩm cháy

Ví dụ:

mod14 -Ct MOD021KM.A2001248093000-2001248093500.hdf \

Nội dung mã nguồn của thuật toán:

float T21, T22, T31;

const float MaxT22 = 329.0F; /* use T21 if T22 above this threshold */

for (i = 0; i < LINES_PER_SCAN_1KM; i++) {

for (j = 0; j < SAMPLES_1KM; j++) { T21 = scan->T21[i][j]; T22 = scan->T22[i][j]; T31 = scan->T31[i][j]; if (T31 <0.0F) continue; if (T22 >0.0F && T22 < MaxT22)

/* 22 available and unsaturated */

T21 = scan->T21[i][j] = T22;

else {

/* 22 unavailable or saturated */

if (T21 >0.0) {

/* 22 unavailable or saturated, 21 available */

T22 = scan->T22[i][j] = T21;

/* set internal flag */

scan->pixflags[i][j].high_range = 1;

}

else {

/* 22 unavailable or saturated, 21 unavailable */

if (T22 >0.0F)

/* 22 saturated, 21 unavailable */

T21 = scan->T21[i][j] = T22;

else

/* both 21 and 22 unavailable */ (adsbygoogle = window.adsbygoogle || []).push({});

continue;

} }

/* cloud mask */

if (scan->T32[i][j] >0.0F) {

if (iscloud(scan->R1[i][j], scan->R2[i][j], scan->T32[i][j])) {

scan->pixflags[i][j].cloud = 1;

continue;

} }

/* else set missing cloud mask flag */

DT = T21 - T31;

if (day)

ap = &DayParams;

else

ap = &NightParams;

/* potential fire test */

if (pftest1 && pftest2 && pftest3)

scan->pixflags[i][j].potential_fire = 1;

/* valid background pixel test */

if ((T21 > ap->thresh_bkg_T21) && (DT > ap->thresh_bkg_DT)) scan->pixflags[i][j].bkg_fire = 1; else scan->pixflags[i][j].valid_bkg_pix = 1; } } 2.3 SẢN PHẨM ĐIỂM CHÁY

Sản phẩm điểm cháy từ ảnh MODIS chia làm 2 loại dữ liệu với dạng Text (TXT) và HDF.

Dữ liệu dạng HDF: Cấu trúc dữ liệu được thiết kế bởi Trung tâm Quốc gia về ứng dụng siêu máy tính hỗ trợ người sử dụng lưu trữ và thao tác dữ liệu khoa học trên những hệ thống hay máy móc khác nhau. Những tiện ích của HDF là:

- HDF làm cho chương trình có thể lấy được thông tin về các dữ liệu tệp tin từ chính nó, không phải là từ một nguồn khác.

- HDF chuẩn hóa về định dạng và mô tả về nhiều loại dữ liệu thường được sử dụng, có thể là hình ảnh raster và dữ liệu khoa học.

- HDF là một nền tảng định dạng tin độc lập, có thể được sử dụng trên nhiều máy tính khác nhau, không phụ thuộc vào hệ điều hành mà máy đang chạy.

Dữ liệu dạng HDF của sản phẩm điểm cháy gồm nhiều thông tin: Cấu trúc dữ liệu lát cắt, cấu trúc dữ liệu dạng lưới, cấu trúc dữ liệu dạng điểm, những trường dữ liệu cơ bản, những trường dữ liệu không gian, những trường chiều bản đồ… Dữ liệu HDF có thể được tái sử dụng cho nhiềumục đích, yêu cầu cụ thể khác nhau. Mô tả về dữ liệu sản phẩm điểm cháy dạng HDF được thể hiện trong trang sau trong hình 2.4.

Hình 2.4. Dữ liệu HDF sản phẩm điểm cháy quan sát trên phần mềm HDF View.

Dữ liệu dạng TEXT (TXT)gồm những thông số dữ liệu cơ bản: Vị trí vĩ độ, kinh độ, kênh nhiệt, thời gian thu nhận xử lý, vệ tinh quan sát…Những thông tin dữ liệu dạng TEXT được mô tả trong trang sau trong bảng 2.4. Dữ liệu sản phẩm điểm cháy dạng TEXT được sử dụng làm cơ sở dữ liệu hệ thống thông tin cháy rừng được mô tả trong chương 3.

Bảng 2.3. Dữ liệu sản phẩm điểm cháy dạng TXT LATITU DE LONGITU DE BRIGHTNE SS SCA N TRAC K ACQ_DA TE ACQ_TI ME SATELLI TE CONFIDEN CE BRIGHT_T 31 FRP 13.434 120.407 310.6 4.6 2 4/8/2015 440 A 36 295.2 75.3 12.663 121.001 325.8 4.3 1.9 4/8/2015 440 A 79 288.9 180.3 12.221 124.826 310.9 2.2 1.4 4/8/2015 440 A 45 296.7 24.5 12.223 124.831 310.5 2.2 1.4 4/8/2015 440 A 36 296.7 21.3

Bảng 2.4. Mô tả dữ liệu sản phẩm điểm cháy dạng TXT

Thuộc tính Mô tả ngắn Mô tả chi tiết Latitude Vĩ độ (adsbygoogle = window.adsbygoogle || []).push({});

Longitude Kinh độ

Brightness Nhiệt độ kênh sáng 21/22 Nhiệt độ kênh sáng 21/22 được tính theo thang độ K.

Scan Kích thước điểm quét Giá trị “scan” thể hiện cho độ phân giải không gian theo hướng Đông-Tây, còn giá trị “track” thể hiện cho độ phân giải không gian theo hướng Bắc Nam của quá trình quét. Kích thước điểm ảnh không phải lúc nào cũng là 1 km trên đường quét. Các điểm tại rìa Đông và Tây thường lớn hơn 1km, và chỉ duy nhất là 1 km khi dọc theo điểm thấp nhất.

Track Kích thước điểm theo dõi

Acq_date Ngày thu được Acq_time Giờ thu được (UTC)

Satellite Vệ tinh Vệ tinh (A = Aqua và T = Terra) Confidence Độ tin cậy (0 – 100%)

Bright_T31 Nhiệt độ kênh sáng 31 Nhiệt độ kênh sáng 31 được tính theo thang độ K FRP Năng lượng phát xạ Năng lượng phát xạ (MegaWatts)

PHÁT TRIỂN HỆ DỰA TRÊN N 3.1 TỔNG QUAN VỀFIRMS 3.1.1 Kiến trúc hệ thống Kiến trúc hệ thống FIRMS trúc vật lý mô tả tổng quan v chủ của Trung tâm nghiên c

Đại học Quốc gia Hà Nội và cơ s quan sát,theo dõi thông tin quamạng Internet.

Hình 3.1.

Chương 3

Ệ THỐNG THÔNG TIN CHÁY R A TRÊN NỀN TẢNG FIRMS

FIRMS ng

FIRMS gồm 2 phần:Kiến trúc vật lý và Kiến trúc logic. ng quan về hệ thống FIRMS. Hệ thống được cài đặ

rung tâm nghiên cứu giám sát hiện trường FIMO thuộc Đại h i và cơ sở dữ liệu PostgreSQL, PostGIS. Ngư

theo dõi thông tin tại bất cứ nơi nào từ những thiết bị khác nhau

Hình 3.1. Kiến trúc vật lý hệ thống.

NG THÔNG TIN CHÁY RỪNG

n trúc logic. Kiến ặt trên một máy i học Công nghệ - . Người xemcó thể khác nhauthông

Kiến trúc logic FIRMS năng giúp người dùng có th

khác như quan sáttheo dõi các vùng mi

Hình 3.2.

Hệ thống FIRMShiể Web dựa trên bản đồ Thế gi lấy từ cảm biến MODIS, cung c trên toàn cầu.

Hệ thống đánh dấu, v CGI của MapServer[10] và cơ s các chức năng cơ bản:

Map View: Người xem có điểm cháy mà người xem các thuộc tính như vĩ độ, kinh đ

Region, layer: Ngườ miền được khoanh vùng sẵn hay c được các điểm cháy dễ dàng

Tìm kiếm: Người xem những phạm vi thời gian khác nhau

FIRMS mô tả hoạt động bên dưới của hệ thống g có thể tìm kiếm, tải dữ liệu của hệ thống và nh

các vùng miền…

Hình 3.2. Kiến trúc logic hệ thống. (adsbygoogle = window.adsbygoogle || []).push({});

ển thị những thông tin về những điểm nóng/cháy giới. Các điểm cháy được phát hiện, sử dụng cung cấp dữ liệu thời gian thực thông tin nh

u, vẽ bản đồ các điểm cháy được phát hiện thông qua và cơ sở dữ liệu PostgreSQL/PostGIS[11][12].

xem có thể thu nhỏ, phóng to xuống các khu v xem quan tâm và cũng có thể xem chi tiết điể , kinh độ, độ sáng, quét, vệ tinh theo dõi... với từ

ời xem cũng có thể tùy chọn phạm vi dữ liệ n hay cũng có thể có các lựa chọn các lớp ph dàng.

xem có thể tìm và xemthông tin về những đi i gian khác nhau như theo ngày tháng, theo vệ tinh T

ng gồm nhiều chức ng và những tùy chọn m nóng/cháy trên nền ng dữ liệu được những điểm cháy n thông qua dịch vụ . Hệ thống gồm ng các khu vực vùng miền ểm cháy để thấy ừng điểm cháy. ệu, những vùng p phủ để hình dung

ng điểm cháy qua tinh Terra hay Aqua.

Thời gian có thể được thiết lập mặc định sẵn tương ứng là 24 giờ trước, 48 giờ trước, 72 giờ trước, 7 ngày trước hoặc có thể tùy chọn.

Tải dữ liệu: Người xem có thể tải về dữ liệu các điểm cháy dưới dạng hình học SHP hoặc các tệp dạng KML, TXT cho một số địa điểm được thiết lập sẵn trong vòng 24 giờ, 48 giờ hoặc 7 ngày.

Dữ liệu ảnh vệ tinh MODIS Terra và Aqua sau khi được phân tích sẽ thu được sản phẩm điểm cháy dưới dạng TEXT (TXT). Những tệp thông tin này sẽ được đẩy lên một nơi lưu trữ, một chương trình tự động sẽ kết nối đến nơi lưu trữ qua dịch vụ FTP để lấy những thông tin điểm cháy phục vụ cho cơ sở dữ liệu hệ thống FIRMS.

Hệ thống sẽ hiển thị các điểm cháy được phát hiện từ dữ liệu ảnh vệ tinh MODIS. Tất cả điểm cháy gần nhất trong vòng 24 giờ sẽ hiển thị là các chấm đỏ sẫm, còn tất cả các điểm cháy trước đó được hiển thị dưới màu cam.

Giao diện Web của hệ thống FIRMS được thể hiện trong hình 3.3.

Hình 3.3. Giao diện Web hệ thống FIRMS

Mã nguồn của hệ thống được viết bằng ngôn ngữlập trình Java cùng với các thư viện liên quan là GEOS, Gdal, Google Web Toolkit... Các thành phần chính của hệ thống FIRMS gồm có: MapServer, Cơ sở dữ liệu PostgreSQL + PostGIS được cài đặt.

3.1.2 MapServer

Hệ thống sử dụng công nghệ bản đồ mã nguồn mở MapServer để xuất dữ liệu không gian và những ứng dụng bản đồ tương tác qua nền Web. Những đặc điểm của MapServer là:

- Cho phép hiển thị và truy vấn hàng trăm dữ liệu dạng raster, vector và cơ sở dữ liệu.

- Khả năng chạy trên mọi nền tảng (Window, Linux, Mac OS X, …)

- Hỗ trợ nhiều môi trường phát triển và ngôn ngữ phổ biển (PHP, Python, Perl, Ruby, Java, .NET)

- Chất lượng hiển thị cao - Có thể tuỳ biến

- Nhiều ứng dụng có thể sử dụng ngay

MapServer là một chương trình CGI củaWeb server nhưng không hoạt động cùng. Khi một yêu cầu gửi tới MapServer, nó sử dụng thông tin trên URL và dịch vụ Mapfile của MapServer sẽ tạo một bức ảnh cho yêu cầu bản đồ vừa được gửi.

Một ứng dụng MapServer đơn giản chứa đựng:

- Map File: Một cấu trúc file cấu hình cho ứng dụng MapServer. Nó định nghĩa khu vực bản đồ, chỉ cho chương trình là dữ liệu ở đâu và nơi nào để xuất dữ liệu ảnh. (có định dạng *.map)

- Dữ liệu địa lý: MapServer có thể sử dụng nhiều loại dữ liệu địa lý. Định dạng mặc định là ESRI Shape.

- Html Pages: Một ứng dụng MapServer đơn giản gồm 2 trang

+ File khởi tạo: Dùng để gửi truy vấn tới web server và map server

+ File template: Điểu khiển cách hiển thị lên trình duyệt, các tương tác (browser, zoom, pan, query)

- MapServer CGI: File thực thi tiếp nhận yêu cầu và trả lại dữ liệu, ảnh(gọi là mapserv).

Hình 3.4. Kiến trúc cơ bản của MapServer (adsbygoogle = window.adsbygoogle || []).push({});

MapServer có thể hoạt động ở 2 chế độ CGI (Common Gateway Interface) và API (Application Program Interface). Ở chế độ CGI, các chức năng của MapServer trong môi trường WebServer là CGI MapScript. Đây là cách thức dễ dàng đểkhởi tạo và phát triển một ứng dụng. Ởchế độ API, có thể truy cập MapServer bằng Java, ASP, PHP, Perl hoặc Python; chế độnày cho phép xây dựng các ứng dụng uyển chuyển, giàu các chức năng và có khả năng truy cập các cơ sở dữ liệu mở rộng khác.

Hình 3.5. Mô hình phát triển hệ thống bằng MapServer

MapServer hoạt động dựa vào các mẫu là chính. Trước khi thực thi yêu cầu của web, MapServer đọc tệp tin cấu hình (mapfile) mô tả các lớp và các thành phần khác của bản đồ và nó sẽ vẽ và lưu lại bản đồ. Tiếp theo, nó sẽ đọc một hoặc nhiều tệp tin mẫu HTML mà nó nhận diện trong tệp tin cấu hình. Mỗi tệp tin mẫu sẽ chứa đựng các tags HTML và các chuỗi MapServer đặc biệt. Các chuỗi này sẽ được sử dụng, ví dụ chuỗi chỉ đường dẫn để lưu ảnh bản đồ do MapServer tạo ra, hoặc chuỗi dùng để nhận diện các lớp nào sẽ được sắp xếp. MapServer thay thế các giá trị hiện tại vào các chuỗi

này và gửi luồng dữ liệu về cho WebServer để WebServer tiếp tục chuyển về cho trình duyệt. Khi có một yêu cầu mới phát sinh, MapServer sẽ nhận yêu cầu từ WebServer với các giá trị mới và chu trình cứ thế tiếp diễn.

3.1.3 Hệ quản trị cơ sở dữ liệu PostgreSQL, PostGIS

PostgreSQL:Hệ thống quản trị cơ sở dữ liệu quan hệ đối tượng dựa trên POSTGRES bản 4.2, được phát triển tại trường Đại học California tại phòng nghiên cứu máy tính Berkeley. PostgreSQL là một chương trình mã nguồn mở xây dựng trên mã nguồnban đầu của đại học Berkeley. PostgreSQL hỗ trợ một phần rất lớn cho những truy vấn SQL chuẩn và cung cấp nhiều tính năng hiện đại như:

- Các truy vấn phức tạp - Khóa ngoài

- Trigger - Khung nhìn

- Tính toàn vẹn của các giao dịch

- Kiểm tra truy cập đồng thời đa phiên bản.

Ngoài ra, PostgreSQL có thể được mở rộng bởi nhiều người dùng bằng nhiều cách,ví dụ, người dùng có thể thêm kiểu dữ liệu, hàm, toán tử, hàm tập hợp, phương thức đánhchỉ mục và ngôn ngữ thủ tục

PostGIS:Do nhu cầu lưu trữ các kiểu dữ liệu thông thường như kiểu chuỗi, kiểu số, kiểu ngày tháng, người sử dụng còn có thêm nhu cầu lưu trữ các kiểu dữ liệu không gian để lưu trữ các đối tượng như Point, Line, Polygon. PostGIS chính là công cụ mã nguồn mở được bổ sung cho PostgreSQL để hỗ trợ hiển thị đối tượng địa lý. Nhờ PostGIS khả năng không gian trong PostgreSQL được kích hoạt, nó cho phép PostgreSQL sử dụng như một CSDL không gian phụ trợ cho các hệ thống thông tin địa lý.

PostGIS tạo thêm bảng Spatial_ref_sys để lưu thông tin hệ quy chiếu và bảng geometry_columns đểlưu kiểu đối tượng không gian.

Hình 3.6. Công cụ quản trị cơ sở dữ liệu pgAdminIII

Để thao tác với cơ sở dữ liệu có thể dùng theo các cách đó là sử dụng công cụ pgAdminIII của Postgre hoặc sử dụng trực tiếp câu lệnh trong Command prompt hoặc các công cụ khác như Postgis manager tích hợp với Quantum GIS.

3.1.4 Cơ sở dữ liệu hệ thống

Lõi của cơ sở dữ liệu hệ thống là những bảng chứa dữ liệu điểm cháy. Hệ thống có thể chạy đồng thời những phiên bản của dữ liệu cháy (ví dụ, khi một MODIS collection được cập nhật), có một bảng cho mỗi phiên bản của dữ liệu cháy. Bảng phiên bản cháy này chứa một hàng cho mỗi phiên bản cháy trong cơ sở dữ liệu.

Mỗi phiên bản cháy được biểu diễn bởi một tiền tố. Tên của bảng điểm cháy bắt đầu là tiền tố này và theo sau là _fire. Ví dụ, nếu tiền tố cho phiên bản cháy là c5 (cho MODIS Collection 5) sau đó bảng cháy sẽ có tên là c5_fire.

Nếu có quá nhiều điểm cháy được hiển thị trên bản đồ, một bảng tóm tắt của những điểm cháy sẽ được thay thế vào.

Ký hiệu mô tả: ${prefix}: c5 ${gridSize}: 240/60/15 ${timePeriod}: 5y/2q/10d - y: year (năm) - q: quarter (quý) - d: day (ngày)

Hình 3.7. Biểu đồ thực thể liên kết cơ sở dữ liệu hệ thống FIRMS

Các bảng quan hệ cơ sở dữ liệu của hệ thống được mô tả gồm có:

Bảng 3.1. Bảng cơ sở dữ liệuFire_version

Tên trường Kiểu dữ liệu Mô tả Fire_version_id serial Khóa chính

prefix varchar Tên của tiền tố sẽ dùng để đặt tên cho tất cả các bảng cho phiên bản cháy này. Tiền tố này phải là duy nhất trong 1 bảng.

description varchar Mô tả cho phiên bản cháy này. Nếu người dùng cuối của ứng dụng web chọn phiên bản cháy để xem, sử dụng trường này để hiển thị.

visible boolean Nếu true, phiên bản cháy này sẽ được hiển thị trên ứng dụng web. Nếu false, phiên bản cháy này sẽ bị bỏ qua.

ingestible boolean Nếu true, chương trình dữ liệu tự động firemap_loader sẽ lấy bất kì dữ liệu mới nào được

tìm thấy cho phiên bản cháy này. Nếu false, phiên bản cháy này sẽ bị bỏ qua.

Bảng 3.2. Bảng cơ sở dữ liệu${prefix}_fire (adsbygoogle = window.adsbygoogle || []).push({});

Tên trường Kiểu dữ liệu Mô tả

gid serial Khóa chính (không phải là giá trị gid được tính ở dưới)

latitude real Vĩ độ của điểm cháy trong góc thập phân (WGS-84) longitude real Kinh độ của điểm cháy trong góc thập phân (WGS-

Một phần của tài liệu Nghiên cứu thuật toán trích xuất điểm nóng cháy từ ảnh vệ tinh và ứng dụng trong hệ thống thông tin cháy rừng (Trang 32)