在R中用writeOGR编写shapefile的问题

bli*_*sse 6 r gdal

我在脚本中得到一个错误,它迭代目录中的一些文本文件,做一些数据操作并使用来自R中rgdal包的writeOGR写入ESRI shapefile.我在一定数量的文件后不断收到错误写入(似乎是大约43-44个单独的文件,或~14个完整的shapefile,因为每个shapefile创建了许多文件).

错误通常是这样的

GDAL Error 4: Unable to open ./test_8.shp or ./test_8.SHP
Run Code Online (Sandbox Code Playgroud)

此外,在脚本崩溃后,我得到一个错误

 cannot open file 'file_test.R': Too many open files
Run Code Online (Sandbox Code Playgroud)

当我尝试阅读或使用其他文件做任何事情时.

showConnections
Run Code Online (Sandbox Code Playgroud)

此时不显示任何打开的文件.

以下是一些可以重现问题的代码:

library(gstat)
library(rgdal)
data(meuse)

coordinates(meuse) = ~x + y

for (i in 1:50){
    writeOGR(meuse,'.',paste('test',i,sep="_"),driver="ESRI Shapefile")
}
Run Code Online (Sandbox Code Playgroud)

我在OSX上使用R 2.12.2.64位和32位版本都会发生错误.

joh*_*nes 5

您的代码在Ubuntu 11.04和R 2.13上为我工作,也许值得尝试writeSpatialShapemaptools包.