我正在使用由Hantson提出的方法進行一些地形校正的遙感數據& Chuvieco(2010)涉及基於某一NDVI值的覆蓋物分離方法來區分植被和非植被之間區域。因此,我從一個多波段光柵對象轉爲兩個,這些對象被嚴格處理並隨後被組合以形成原始的,地形校正的場景。在r中添加多波段光柵
問題是我在場景中有一些NA值,所以如果我沒有擺脫它們,我會得到一個空白圖像。我使用sum
函數,將na.rm
選項定義爲TRUE來解決此問題,但結果是單波段柵格對象而不是堆棧或rasterbrick對象。
這是我的代碼:
#topographic correction
VEGB1TC<- topocorr(VEGB1,slopeG,aspectG,sunelev,sunazimuth,method="ccorrection",na.value=NA)
VEGB2TC<- topocorr(VEGB2,slopeG,aspectG,sunelev,sunazimuth,method="ccorrection",na.value=NA)
....
SDB1TC<- topocorr(SDB1,slopeG,aspectG,sunelev,sunazimuth,method="ccorrection",na.value=NA)
SDB2TC<- topocorr(SDB2,slopeG,aspectG,sunelev,sunazimuth,method="ccorrection",na.value=NA)
...
#rasterize corrected band and stack them
VB1<-raster(VEGB1TC)
VB2<-raster(VEGB2TC)
....
ADEVEG<-stack(VB1, VB2,...)
SB1<-raster(SDB1TC)
SB2<-raster(SDB2TC)
....
ADESD<-stack(SB1, SB2,...)
#-----------combine images-------
ADE<-sum(stack(ADEVEG,ADESD),na.rm=T)
是否有可以與na.rm
標籤添加多波段柵格的功能?我找到do.call
函數,但在我看來,它將幾個柵格合併爲一個單波段對象。
感謝您的幫助。
ps:Hantson,S. Chuvieco,E. 2010.評估Landsat影像的不同地形校正方法。 International Journal of Applied Earth Observations and Geoinformation 13(2011):691-700p。
如果您總結了一些光柵層,你只會得到一個樂隊。或者你想分別疊加ADEVEG和ADESD,然後疊加它們?可能你想要做的是'ADE <-stack(sum(ADEVEG,na.rm = T),sum(ADESD,na.rm = T))' – rar
我想將兩個堆棧合併爲一個,因爲它們代表荒蕪和植被的一部分場景,同時結合多個樂隊。最後,我用0手動替換了NA vaues,然後繼續通過簡單的添加來添加這兩個堆棧。你的方法不是我想要的,但非常感謝你的快速回答。 –