在 R 中使用 writeOGR 写入 shapefile 时出现问题

发布于 2024-11-13 04:29:55 字数 740 浏览 4 评论 0原文

我在迭代目录中的某些文本文件、执行一些数据操作并使用 R 中 rgdal 包中的 writeOGR 写入 ESRI shapefile 的脚本中遇到错误。在一定数量的文件后,我不断收到错误被写入(似乎大约有 43-44 个单独的文件,或约 14 个完整的 shapefile,因为每个 shapefile 都会创建许多文件)。

该错误通常类似于

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")
}

我在 OSX 上使用 R 2.12.2。 64 位和 32 位版本都会出现错误。

I've been getting an error in a script that iterates over some text files in a directory, does some data manipulation and writes to a ESRI shapefile using writeOGR from the rgdal package in R. I keep getting an error after a certain number of files are written (appears to be about 43-44 individual files, or ~14 complete shapefiles, as each shapefile creates a number of files).

The error is usually something like

GDAL Error 4: Unable to open ./test_8.shp or ./test_8.SHP

Additionally, after the script has crashed I get an error like

 cannot open file 'file_test.R': Too many open files

When I try to read or do anything with another file.

showConnections

does not show any open files at this point.

Here is some code that reproduces the problem:

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

coordinates(meuse) = ~x + y

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

I'm using R 2.12.2 on OSX. Error happens on both 64 bit and 32 bit versions.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

权谋诡计 2024-11-20 04:29:55

您的代码在 Ubuntu 11.04 和 R 2.13 上对我有用,可能也值得尝试 maptools 包中的 writeSpatialShape

Your code worked for me on Ubuntu 11.04 and R 2.13, might be worth also to try writeSpatialShape from the maptools package.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文