2015-05-31 215 views
14
wmap <- readOGR(dsn="~/R/funwithR/data/ne_110m_land", layer="ne_110m_land") 

此代碼是不加載形文件,併產生誤差readOGR()無法打開文件

Error in ogrInfo(dsn = dsn, layer = layer, encoding = encoding, use_iconv = use_iconv, : 
Cannot open file 

我確信,該​​目錄是正確的。最後/也不存在,圖層名稱也是正確的。

的ne_110m_land目錄中的文件我裏面是:ne_110m_land.dbf,ne_110m_land.prj,ne_110m_land.shp,ne_110m_land.shx,ne_110m_land.VERSION.txt,ne_110m_land.README.html

回答

37

你可以證明,你有正確的道路:

list.files('~/R/funwithR/data/ne_110m_land', pattern='\\.shp$') 
file.exists('~/R/funwithR/data/ne_110m_land/ne_110m_land.shp') 

也許嘗試:

readOGR(dsn=path.expand("~/R/funwithR/data/ne_110m_land"), layer="ne_110m_land") 

,或者是圍繞包裹簡單的選擇:

library(raster) 
s <- shapefile("~/R/funwithR/data/ne_110m_land/ne_110m_land.shp") 
+1

謝謝! path.expand()工作。對不起,我不能投票的答案。 –

+0

@RiteshJungThapa你可以接受這個作爲正確答案(即使你不能高舉) – geneorama

+0

爲什麼在問題中發佈的代碼無效?我有同樣的問題,但文件夾中有多個具有相同名稱和不同擴展名的文件,因此'path.expand'不起作用。 – Dambo