如何将 matlab 列表更改为 R 中的光栅砖
How to change matlab list into raster brick in R
我有这个从某人那里得到的 mat 文件,我想将其更改为 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"
列表中有纬度、经度和 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
能帮我吗?
最好的问候
您可以尝试类似的方法:
x <- cbind(SM2RF$lonubn, SM2RF$latubn, t(SM2RF$Psim))
b <- rasterFromXYZ(x)
我有这个从某人那里得到的 mat 文件,我想将其更改为 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"
列表中有纬度、经度和 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
能帮我吗? 最好的问候
您可以尝试类似的方法:
x <- cbind(SM2RF$lonubn, SM2RF$latubn, t(SM2RF$Psim))
b <- rasterFromXYZ(x)