2

同じサイズの2つのバイナリファイル(ラスター)があります。1つ目は2つのデータ間の相関関係を表し、2つ目は10クラスの土地被覆マップを表します。土地被覆クラスに基づいて相関の平均を取りたいです。したがって、最終的に、土地被覆マップと同じマップを取得しますが、クラス番号の代わりに相関の平均を使用します。

2つのファイルは次のとおりです。

  1- to read the first file correlation map:

   conne <- file("C:\\corr.bin","rb")
  corr<- readBin(conne, numeric(), size=4,  n=1440*720, signed=TRUE)
  y<-t(matrix((data=corr), ncol=720, nrow=1440))
    r = raster(y)

2- 2番目のファイルの土地被覆マップを読み取るには:

  conne <- file("C:\\land cover.bin","rb")
  over<- readBin(conne, integer(), size=1,  n=1440*720, signed=F)
  y1<-t(matrix((data=over), ncol=720, nrow=1440))
  r1 = raster(y1)

3-結果を書き込むには:

     to.write = file(paste("/orcomplete.bin",sep=""),"wb")
     writeBin(as.double(results), to.write, size = 4)
4

2 に答える 2

1

これは次のようなものではないでしょうか。

 tapply(y, y1, mean, na.rm=TRUE)

入力行列と同じ配置に関連付けられたクラス平均が必要な場合は、次のようにします。

outmat <- matrix( ave( y, y1, FUN=mean, na.rm=TRUE), nrow(y), ncol(y) )
于 2013-02-22T19:22:26.790 に答える
1

土地被覆ラスターに保持したい地理参照特性 (投影情報など) がある場合は、ラスター ツールボックスのゾーン ツールを使用できます。

corr_raster <- raster('correlation raster filename')
land_raster <- raster('landcover raster filename')
zv <- zonal(corr_raster , land_raster, fun=mean)

あとは、結果のテーブルの平均値を土地被覆ピクセルに割り当てるだけです。ラスター パッケージには、それを行うための置換メソッドが多数用意されています (再分類関数など)。

于 2013-02-22T20:57:06.293 に答える