2015-03-25 58 views
0

我有這個墊子文件,我從別人那裏,我想將其更改爲光柵磚R.如何改變MATLAB列表爲柵格磚中的R

導入是好的,我可以使用導入R.matlab

library(raster) 
library(rgdal)`enter code here` 
library(R.matlab) 

SM2RF<-readMat("/..../Nile_DISTR.mat") 
str(SM2RF) 
    List of 3 
$ lonubn: num [1:231, 1] 34.6 34.6 34.6 34.6 34.6 ... 
$ latubn: num [1:231, 1] 10.12 9.88 9.62 9.38 9.12 ... 
$ Psim : num [1:8766, 1:231] NaN NaN NaN NaN NaN NaN NaN N NaN ... 
- attr(*, "header")=List of 3 
    ..$ description: chr "MATLAB 5.0 MAT-file, Platform: PCWIN64, Created 
    on: Fri Dec 19 10:10:41 2014          " 
..$ version : chr "5" 
..$ endian  : chr "little" 

在列表中是lat,long和psim。

我曾經把光柵磚功能轉換成光柵磚。但是,我不知道matlab中柵格的結構,它應該是24年的時間序列日常降雨柵格。但我不知道爲什麼,我無法確定這個mat文件中的圖層數量。我嘗試像陣列磚,就像

r <-brick(SM2RF$Psim, xmn = min(SM2RF[[1]]),xmx=max(SM2RF[[1]]), ymn = min(SM2RF[[2]]), ymx=max(SM2RF[[2]]),crs=CRS("+init=epsg:20136")) 

但是,我發現這個錯誤。

Error in .local(x, ...) : cannot coerce a matrix to a RasterBrick 

反正可以幫我嗎? 問候

回答

1

你可以嘗試這樣的:

x <- cbind(SM2RF$lonubn, SM2RF$latubn, t(SM2RF$Psim)) 
b <- rasterFromXYZ(x) 
+0

它的工作原理,感謝@RobertH – WAW 2015-03-26 10:55:53