私はHantson & Chuvieco(2010)が提案した手法を使用して地形補正を行って土地データを処理しています。植生と非植生の間に伝える特定のNDVI値に基づく被覆分離方法がありますエリア。マルチバンドラスタをrに追加
私はマルチバンドラスタオブジェクトを1つ持っているから、2つに分割します。これらのオブジェクトは、別々に処理され、その後結合されて元のトポグラフィ的に修正されたシーンになります。
問題は、シーンにいくつかのNA値があることです。問題を解決しないと、結果として空のイメージが得られます。この問題に取り組むにはsum
関数をna.rm
オプションをTRUEと定義して使用しますが、結果はスタックまたはラスターブリックオブジェクトではなく1バンドラスターオブジェクトになります。
これは私のコードです:
#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
関数を見つけましたが、いくつかのラスタを1つのバンドオブジェクトに合計しているように見えます。
ありがとうございました。 Landsat画像のための異なる地形補正方法の評価。応用地球観測と地質学の国際ジャーナル13(2011):691-700p。
あなたはラスタレイヤの数を合計した場合、あなたが唯一のバンドを取得します。または、スタックADEVEGとADESDを別々に合計してスタックしますか? – rar
2つのスタックを1つに統合して、それらのスタックを表すようにしたいと思うかもしれません。複数のバンドを同時に組み合わせて、シーンの不毛で植生された部分。最終的には、NA変数を手動で0に置き換えた後、単純な推論で両方のスタックを追加します。あなたの方法は私が意図するものではありませんが、迅速な回答には非常に感謝しています。 –