2011-04-29 3 views
2

래스터 파일 (ASCII 또는 TIFF 형식)을 열고 셀을 집계하고이 작업 이후에이 새 래스터 파일의 값과 다른 작업 사이의 상관 관계를 계산합니다. 불행하게도 내 명령에 잘못된 무엇인지 - 나는 오류 메시지가 얻을 :열기 래스터에서 R! 일부 통계 작업

x <- GDAL.open('~/Pulpit/dods/karol/TVDI 113_121/TVDI_kamp_evi_TRANSF.asc') 

CPL 오류 4 :`~/설교는 dods은/캐롤/TVDI 113_121이/TVDI_kamp_evi_TRANSF.asc '는 존재하지 않습니다/파일 시스템에서 지원되며 지원되는 데이터 세트 이름으로 인식되지 않습니다.

'~/Pulpit/dods/karol/TVDI 113_121/TVDI_kamp_evi_TRANSF.asc'파일 시스템에 존재하지 않으며 지원되는 데이터 세트 이름으로 인식되지 않습니다. .

+1

기본 사항으로 시작하여 파일에 대한 로컬 경로가있는 설치된 (시스템) 파일에서 "r"을 다시 할당해도 괜찮습니다. 그러나 읽을 수없고 서식이 지정되어 있지 않으며 완전히 명확하지 않은 코드는 아닙니다. 제발, 여러분이 묻고있는 것에 대해 생각해보고,이 질문에 시간을 할애하고, 여러분의 문제에 공감하기 위해 누군가가해야 할 일을 생각해보십시오. – mdsumner

+1

여기 IMO에서 두 가지 질문이 있습니다. 1) GISy 래스터 데이터를 존경할만한 R 객체로 읽는 방법, 2) 존경받는 R 객체에서 합리적으로 집계하는 방법. 나는 2)이 질문의 일부로서 정말로 가치 있다고 생각하지 않는다. 왜냐하면 거기에 다른 많은 자원이 있기 때문이다. 1)은 틀림없이 배우기가 더 어렵습니다. – mdsumner

+1

아마도'fn <- file.choose(); x <- GDAL.open (fn)'을 사용하여 실제로 파일을 가져와야합니다. 또한 파일 경로의 공백을 피하기 위해 적절히 이름을 바꾸는 것이 좋습니다. –

답변

6

, 당신은이 작업을 수행 할 수 있습니다

pairs(my_rasters) 
:

my_asc_files = dir("../somepath", pattern="*.asc", recursive=T, full.names=T) 
files_I_want = my_asc_files[c(1,12,32,33)] 

그런 다음 당신은 그럼 당신은이 작업을 수행 할 수도 있습니다

library(raster) 
my_rasters = lapply(files_I_want, raster) 

처럼 파일을로드 할 수 있습니다

및이 :

for(i in 1:length(my_rasters)) 
    for(j in i:length(my_rasters)) 
    if(i != j) { 
     df = na.omit(data.frame(values(my_rasters[[i]]), values(my_rasters[[j]]))) 
     cor(df[,1], df[,2]) 
    } 

래스터가 너무 커서 메모리에 두 개를 동시에 저장할 수 없으면 문제가 발생합니다. 더 좋은 질문이 없으면 더 나은 조언을하는 것이 어려울 것입니다.

+3

또는 단순히 다음과 같습니다. s <- stack (files_I_want); 쌍 – RobertH

5

는 래스터 (오픈) 읽으려면 한 가지 방법은 사용하는 것입니다 readGDAL :

library(rgdal) 
r <- readGDAL("~/myhome/thisdir/IhaveaFile.asc") 

이건 내 개인적인 취향이고, 유일한 이유는 그렇지 않으면 내 컴퓨터가 '아무튼 경우 GDAL.open 또는 raster가 사용하는 문제의 데이터 세트를 처리하기 위해 RAM (+ abit)이 없습니다. 당신은 파일 이름을 얻는 데 문제가있는 경우

+0

R <- readGDAL ('집/mateuszk/설교/dods/캐롤/TVDI 113_121가/TVDI_kamp_evi_TRANSF.asc') CPL 오류 4 :'집/mateuszk/설교가 dods/카롤은/TVDI 113_121/TVDI_kamp_evi_TRANSF.asc가 '하지 /하지 파일 시스템에 존재하며 이며 지원되는 데이터 세트 이름으로 인식되지 않습니다. .local의 (.Object, ...)에서 오류 : '홈/mateuszk/설교/dods/캐롤/TVDI 113_121/TVDI_kamp_evi_TRANSF.asc '는 파일 시스템, 에 존재하지 않는 및 지원으로 인식되지 않습니다 데이터 세트 이름. – Mateusz

+0

왜 나는 tnis 오류가 발생하는지 모르겠다 ...어쩌면 이런 종류의 작업은 GRASS GIS에서 훨씬 쉽습니다 (간단한 QGIS에서 집계와 같은 기능은 없습니다). – Mateusz

+0

모든 문제는 파일을 찾지 못하거나 읽지 못하는 것이 원인입니다. 파일 찾기에 대한 여러 가지 제안을 시도해 보셨습니까? 경로 이름의 공백을 제거해 보셨습니까? –