流程圖
1.資料來源1)modis021km (2)gf-4號資料(gf-4pms)
(3)mod13(植被指數) (4)mod14火災產品
在envi軟體中開啟modis資料
在這裡插入描述
2.幾何校正後將資料集定標轉為反射率和輻亮度(mtck工具可以直接轉換,但是資料結果貌似被高值抑制)
3.去雲處理
針對modis的夜間資料,在12微公尺處的亮溫值小於265k認為有云覆蓋。針對modis的白天資料,去雲處理包括:卷雲、高層雲、低層雲、雲雪處理等;將處理後的資料進行掩膜處理。衛星掃瞄角限制在45°以內。
4.輻亮度轉換為亮溫(此處22波段和21波段均可以,推薦使用22波段,亮溫更接近實際)
0.00057100*(b32-2119.08447266)
0.00065081*(b31-2035.9332754)
0.00007627*(b22-2478.17651367)
3634.17/alog(1+122461.38/b22)
1304.41387/alog(1+729.541636/b31)
1196.978785/alog(1+474.688/b32)
5.對於過火區域,需要保證其地表具有一定的植被覆蓋度。而在這裡選中ndvi值作為地表植被覆蓋的直觀數值顯示。這裡選取ndvi值大於0.3
6.過火區域提取
將過火區分為明顯燃燒區和暗燒區,由於兩者的溫度不同,需要用不同的處理方法。針對夜間的過火區,一般選擇比值法、絕對閾值法進行提取。
認為夜間過火區溫度應該大於310k,當溫度不滿足此條件時,選擇最大類間方差法進行處理。針對白天資料,認為過火區溫度應該大於360k,結合比值法()進行綜合提取。
7.雜訊濾除
利用以上改進的比值演算法進行行火點監測,監測結果不一定只是火點資訊,還有可能存在一些干擾火點資訊的點,我們稱之為雜訊點。結合火點的31波段和32波段資料分析,同時參考他人**發現這些部分的溫差一般大於7k,使用公式:
t11-t12<8k(中心波長為11、12微公尺處的波段)
8.白天由於耀斑反射太陽光產生的干擾需要排除.如果0.65和0.86微公尺兩個通道的反射率都大於0.3(相當於4微公尺的亮溫達到312k,且耀斑角小於40°,-般就可以排除這點是火點的可能性)。
9.和modis火產品進行對比(此處偷懶用了gf資料進行疊加操作,resize匹配行列)
modis火點提取做的時間太長了,這裡算是重新回憶一下,如果有錯誤,歡迎指正。
同時使用多個篩選器來過濾資料
不定長引數 val arr list 111,222,333,444,555 def sum args int int args.foldleft 0 sum,v sum v 就是args.sum求和 sum arr res0 int 1665 不定長引數的定義 args int 表示args是乙個...
Swift 使用閉包篩選過濾資料元素
通常篩選乙個陣列,通常會在 的其它地方建立乙個函式,然後為陣列的每個元素呼叫它。但這樣做會使 分散在許多地方,不便於閱讀。使用閉包就可以將相關 片斷放在一起,使結構邏輯更加清晰。比如,篩選乙個字元陣列,過濾出以 hangge 開頭的字串陣列 12 3 4 5 letarray hangge com ...
使用R語言篩選資料中的重複行
在進行資料的預處理時,我們常常關注有無重複資料,如果兩行資料完全一致,則可能存在資料的重複錄入等情況,此時就要對這兩行資料進行核實。但這個過程如何用r語言實現?筆者近期對這個問題進行了探索。我們首先虛擬乙個資料,並將這個資料儲存為csv檔案,命名為 a.csv 資料如下圖 我們首先讀入資料,並檢視資...