누군가에게서받은이 매트 파일을 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 년 동안의 시계열 일일 강우 그리드 여야합니다. 하지만 이유를 모르겠습니다.이 매트 파일에서 레이어 수를 식별 할 수 없었습니다. 나는 배열에서 벽돌처럼 시도했다.
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)
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다