2011-04-29 44 views
2

我想打開柵格文件(ASCII或TIFF格式),聚合它們的單元格,並在此操作之後,計算這個新柵格文件中的值和另一個柵格文件中的值之間的相關性。不幸的是,我不知道在我的命令是錯誤的 - 我得到一個錯誤信息:!和一些統計操作

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」不存在在文件系統中,並且不被識別爲受支持的數據集名稱。

.local(.Object,...)中的錯誤:`〜/ Pulpit/dods/karol/TVDI 113_121/TVDI_kamp_evi_TRANSF.asc'在文件系統中不存在,並且不被識別爲支持的數據集名稱。

+1

從基礎開始,從安裝的(系統)文件重新分配「r」與自己的本地路徑到文件也許可以,但不可讀,未格式化,並且完全不清晰的代碼不是。請思考一下你在問什麼,花些時間在這個問題上,思考一下爲了理解你的問題可能需要做些什麼。 – mdsumner 2011-04-29 18:31:18

+1

這裏有兩個問題,IMO:1)我如何將GISy柵格數據讀入可尊敬的R對象,2)如何從可尊重的R對象中合理地聚合。我認爲2)作爲這個問題的一部分是不值得的,因爲有很多其他資源。 1)可以說更難以瞭解。 – mdsumner 2011-04-29 18:38:15

+1

也許試試'fn < - file.choose(); x < - GDAL.open(fn)'確保你得到一個真正存在的文件。另外考慮重新命名以避免文件路徑中的空格,這可能會導致問題。 – 2011-04-29 21:28:39

回答

6

如果你有麻煩的文件名,你可以這樣做:

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) 

然後,你可以這樣做:

pairs(my_rasters) 

和這個:

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 );對(S) – RobertH 2013-02-16 07:27:51

5

閱讀(開放)的光柵,一個方法是使用readGDAL

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

這是我個人的偏好,唯一的理由,否則使用GDAL.openraster是,如果我的機器沒有按」沒有RAM(+ abit)來處理有問題的數據集。

+0

r < - readGDAL('home/mateuszk/Pulpit/dods/karol/TVDI 113_121/TVDI_kamp_evi_TRANSF.asc') CPL ERROR 4:'home/mateuszk/Pulpit/dods/karol/TVDI 113_121/TVDI_kamp_evi_TRANSF.asc'存在於文件系統中, 並且不被識別爲受支持的數據集名稱。 .local(.Object,...)中的錯誤: 「home/mateuszk/Pulpit/dods/karol/TVDI 113_121/TVDI_kamp_evi_TRANSF.asc」在文件系統中不存在, 未被識別爲受支持數據集名稱。 – Mateusz 2011-04-30 06:51:52

+0

我不知道我爲什麼得到錯誤...也許在GRASS GIS下這種操作要容易得多(因爲我知道,在簡化的QGIS中沒有聚合函數這樣的功能) – Mateusz 2011-04-30 06:57:50

+0

所有的問題都源於基本無法定位或讀取文件。您是否嘗試過在這裏查找文件的各種建議?你有沒有嘗試消除路徑名稱中的空間? – 2011-04-30 20:45:11