python遥感数据有偿处理_地质男转行学遥感Python——DMSP数据预处理二
終于把夜光遙感數據處理的事情做的差不多了。接著前幾天講的,今天介紹一下DMSP傳感器之間相互校正的處理。DMSP不同傳感器之間相互校正是基于偽不變區域作為標準區域,選擇累計DN值最高的數據作為參考數據,但是由于F182010年數據存在突變,所以目前一般使用F16傳感器2006年的數據作為標準參考數據,對相鄰前后年份傳感器的數據進行更迭校正(34期數據均進行校正)。本人在處理過程中偷了個懶,因為是傳感器之間的校正,所以默認某一類傳感器是穩定的,同時不同傳感器之間有重復年份的數據,利用重復年份數據構建一個訓練集,其中待校正的傳感器的所重復的不同年份的DN值作為X,參考傳感器所重復的不同年份的DN值作為Y,實現傳感器之間的校正。當然參考傳感器依然選擇F16傳感器。舉個例子說明把,F16和F15傳感器重復年份的數據為2004—2007年4年的數據,因此就可以利用這四年數據構建一個F16校正F15傳感器的模型,這個模型仍然沿用相關文獻上:
,將4年數據構建的訓練數據集進行訓練,即可獲得模型參數。有了模型參數,對F15傳感器所有年份的數據進行校正。利用校正后的F15傳感器和待校正F14傳感器,同樣利用上述辦法,實現對F14傳感器的校正,重復更迭,最終實現所有傳感器的校正工作。這里面有個問題是F18和F16傳感器沒有重復的年份數據,這里就采用最相鄰的數據,沿用上述方法,完成F18傳感器的校正。具體實現如下(代碼中的jx_stable_df是前一篇文章中34期雞西市穩定亮相元提取的結果):
以上實現了F16校正F15,剩下其他傳感器的校正工作可以重復實現(注意的是,更迭校正時,一定是使用校正過的數據繼續校正下一個傳感器,比如F15校正后的數據,校正F14傳感器),或者定義一個函數或者類,就不用重復執行上述代碼了。
為了驗證傳感器校正結果的好壞,我們選擇了一個地區進行驗證,選擇2000、2005、2010年三期(說明一下:這三期數據并不是傳感校正完之后的結果,而是傳感器校正后,又進行了相同年份不同傳感器校正、時間序列連續性校正和過飽和校正,這三個工作實現起來相對容易,所以就不細說了)校正前后的數據,統計了2000、2005、2010三個年度的DN值總和,并收集了該地區的對應年度的gdp數值進行分析,左圖為校正前右圖為校正后,對比結果很明顯,校正后的夜光遙感數據與地區經濟指標的相關性更高。
其實,我在不同傳感器相互校正過程中,考慮過模型選擇的問題,因為是第一次處理夜光遙感的數據,所以還是主要參考了相關文獻上的校正模型。但是我一直在思考兩個問題,第一個人覺得不同傳感器之間校正的過程可能是非線性的,可以嘗試利用更多的機器學習模型進行訓練,實現不同傳感器之間的校正工作;第二,盡可能少的通過更迭的方式實現不同傳感器之間的校正,校正過程存在誤差傳遞的影響,個人覺得后續是否可以利用假設的穩定傳感器實現所有不同傳感器的校正工作,而省去逐級傳遞校正的這么一個過程,是否會提升校正效果?以上僅個人直言,畢竟是第一次處理,如有不妥,請包含指出。
總結
以上是生活随笔為你收集整理的python遥感数据有偿处理_地质男转行学遥感Python——DMSP数据预处理二的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 移动端分享链接给微信好友
- 下一篇: java移位