Проблема записи шейп-файлов с помощью writeOGR в R - PullRequest
6 голосов
/ 02 июня 2011

Я получаю сообщение об ошибке в сценарии, который перебирает некоторые текстовые файлы в каталоге, выполняет некоторые операции с данными и выполняет запись в шейп-файл ESRI с использованием writeOGR из пакета rgdal в R. количество записанных файлов (кажется, что это около 43-44 отдельных файлов или ~ 14 полных шейп-файлов, так как каждый шейп-файл создает несколько файлов).

Ошибка обычно что-то вроде

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-битной версиях.

1 Ответ

5 голосов
/ 03 июня 2011

Ваш код работал для меня на Ubuntu 11.04 и R 2.13, возможно, стоит попробовать writeSpatialShape из пакета maptools.

...