He estado recibiendo un error en un script que itera sobre algunos archivos de texto en un directorio, realiza alguna manipulación de datos y escribe en un archivo de forma ESRI usando writeOGR del paquete rgdal en R. I sigue apareciendo un error después de escribir una cierta cantidad de archivos (parece ser de aproximadamente 43-44 archivos individuales, o ~ 14 shapefiles completos, ya que cada shapefile crea una cantidad de archivos).Problema al escribir shapefiles con writeOGR en R
El error es generalmente algo como
GDAL Error 4: Unable to open ./test_8.shp or ./test_8.SHP
Además, después de la secuencia de comandos se ha estrellado me sale un error como
cannot open file 'file_test.R': Too many open files
Cuando trato de leer o hacer cualquier cosa con otro archivo.
showConnections
no muestra ningún archivos abiertos en este momento.
Aquí hay un código que reproduce el problema:
library(gstat)
library(rgdal)
data(meuse)
coordinates(meuse) = ~x + y
for (i in 1:50){
writeOGR(meuse,'.',paste('test',i,sep="_"),driver="ESRI Shapefile")
}
estoy usando R 2.12.2 en OSX. Se produce un error en las versiones de 64 bits y 32 bits.
Probablemente sea mejor abrir y cerrar la conexión para cada lazo. for (x en 1:50) {opencon ... closecon} –
Un shapefile tiene (al menos) un .shp, .dbf y .shx. ¿Debo abrir y cerrar todo esto? Además, en las versiones rgdal anteriores a la 1.8.0, no creo que pueda sobreescribir los archivos existentes (y en un servidor para el que no tengo privilegios de administrador, necesito ejecutar este script en la versión 1.7.1 de rgdal), entonces Es posible que no pueda escribir el shapefile si el archivo ya existe. – blindjesse