2017-07-21 70 views

回答

2

如果是保存为类型“为单个对象序列化接口”一R特异性二进制文件的空间物体(见?readRDS)可能在某些时候通过saveRDS()创建,与

library(rgdal) 
library(sp) 

x <- readRDS("path/to/the/rds_file.rds") 

和阅读您的文件

rgdal::writeOGR(x, "path/to/destination", "filename", driver = "ESRI Shapefile") 

确保把“.SHP”你的输出文件名的末尾:然后将其与写。

还可以确定不是/放在目标文件夹的末尾。否则,你可能面临错误

Creation of output file failed

当错误

Error: inherits(obj, "Spatial") is not TRUE

你可能已经忘记了x作为writeOGR函数的第一个参数。

+0

我成功读取了rds文件,但是当我运行输出代码时,出现错误:inherits(obj,“Spatial”)不是TRUE。为什么? –

+0

您可能忘记将对象(在我的示例'x')放入'writeOGR'函数中。另请参阅我的编辑所需的库。 – loki

+0

我已经安装了两个软件包,并将x放在我的代码中:'> library(rgdal)> library(sp)> a = readRDS('D:/data/chinamap/chinamap.rds')> rgdal :: writeOGR(a ,“D:/ data/chinamap /”,“china”,driver =“ESRI Shapefile”)',但我说的错误仍然出现。我很困扰。 –

相关问题