2017-01-02 5 views
1

私はラスターパッケージv2.5-8のfocal関数を使用して3x3ウィンドウで最大値を取得しています。私は両方の行/列の端がNAとして返されることを期待しています。代わりに返される出力は9,9,9です。これは正しいです ?raster :: focalは不正確な値を返します

例:

library(raster); require(rasterVis) 
r <- raster(nrows=3, ncols=3) 
r[] <- 1:ncell(r) 
plot(r);text(r); 
r.class <- focal(r, w=matrix(1,nrow=3,ncol=3), fun=max) 
plot(r.class); text(r.class); 

出力:

 [,1] [,2] [,3] 
[1,] NA NA NA 
[2,] 9 9 9 
[3,] NA NA NA 

予想される出力:

 [,1] [,2] [,3] 
[1,] NA NA NA 
[2,] NA 9 NA 
[3,] NA NA NA 

答えて

2

あなたはこのresulを取得地球の "左"と "右"の辺(経度= -180または180)が同じ場所にあるためです。

library(raster) 
r <- raster(nrows=3, ncols=3) 
r[] <- 1:ncell(r) 
as.matrix(r) 

##  [,1] [,2] [,3] 
## [1,] 1 2 3 
## [2,] 4 5 6 
## [3,] 7 8 9 

rf <- focal(r, w=matrix(1,nrow=3,ncol=3), fun=max) 
as.matrix(rf) 

##  [,1] [,2] [,3] 
## [1,] NA NA NA 
## [2,] 9 9 9 
## [3,] NA NA NA 

デフォルトCRSはあなたが期待されるものを手に入れる平面CRSで

crs(r) 

## CRS arguments: 
## +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0 

lonlatです:

crs(r) <- "+proj=utm +zone=1 +datum=WGS84" 
rf2 <- focal(r, w=matrix(1,nrow=3,ncol=3), fun=max) 
as.matrix(rf2) 

##  [,1] [,2] [,3] 
## [1,] NA NA NA 
## [2,] NA 9 NA 
## [3,] NA NA NA 
+1

私が間違っているかを把握しようとしているが、それに行ったことがないましたテリトリー(CRS)を確認してください。ありがとうございました。 – user1142937

関連する問題