2017-07-21 71 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」)',但我說的錯誤仍然出現。我很困擾。 –

相關問題