我在一個腳本中得到一個錯誤,該腳本遍歷目錄中的一些文本文件,執行一些數據操作並使用來自R中rgdal包的writeOGR寫入ESRI shapefile。在寫入一定數量的文件(看起來大約是43-44個單獨的文件,或者~14個完整的shape文件,因爲每個shape文件創建許多文件)之後會一直出現錯誤。用writeOGR編寫shapefile的問題R
錯誤通常是這樣的
GDAL Error 4: Unable to open ./test_8.shp or ./test_8.SHP
此外,腳本已經崩潰我得到這樣
cannot open file 'file_test.R': Too many open files
一個錯誤,當我嘗試讀取或與另一個文件做任何事情。
showConnections
不顯示在這一點上任何打開的文件。
下面是一些代碼能重現問題:
library(gstat)
library(rgdal)
data(meuse)
coordinates(meuse) = ~x + y
for (i in 1:50){
writeOGR(meuse,'.',paste('test',i,sep="_"),driver="ESRI Shapefile")
}
我,使用R 2.12.2在OSX。在64位和32位版本上都會發生錯誤。
可能更好地打開和關閉每個迴路的連接。 for(x in 1:50){opencon ... closecon} – 2011-06-03 01:04:17
shapefile具有(至少).shp,.dbf和.shx。我需要打開和關閉所有這些嗎?此外,在1.8.0之前的rgdal版本中,我認爲我不能覆蓋現有文件(並且在沒有管理員權限的服務器上,我需要在rgdal 1.7.1上運行此腳本),所以如果文件已經存在,我可能無法寫入shape文件。 – blindjesse 2011-06-03 02:46:25