readOGR() 无法打开文件
readOGR() cannot open file
wmap <- readOGR(dsn="~/R/funwithR/data/ne_110m_land", layer="ne_110m_land")
此代码未加载形状文件并生成错误
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
你可以证明你有正确的路径:
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")
更新:
rgdal
发生了一些变化,您不再需要将路径和图层分开(至少对于某些格式而言)。所以你可以做
x <- readOGR("~/R/funwithR/data/ne_110m_land/ne_110m_land.shp")
(可能还在用path.expand)
此外,如果您仍在使用 readOGR
,那您就有点落伍了。最好使用 terra::vect
或 sf::st_read
.
对我来说,当我包含 dsn
和 layer
标签时,命令返回了 Cannot open layer
错误。
所以当我把它全部包括在内时
readOGR('~/R/funwithR/data/ne_110m_land/ne_110m_land.shp')
成功了。
请注意,我的文件是一个 gjson,所以我只看到了这个
readOGR('~/R/funwithR/data/ne_110m_land/ne_110m_land.gjson')
这是对我有用的方法(有一个真实的例子)
require(rgdal)
shape <- readOGR(dsn = "1259030001_ste11aaust_shape/STE11aAust.shp", layer = "STE11aAust")
确切数据可用 here(下载名为 'State and Territory ASGC Ed 2011 Digital Boundaries in MapInfo Interchange Format' 的 .zip 文件)
正如我在其他 post (Error when opening shapefile) 中评论的那样,在需要选择一个文件的情况下,使用 file.choose() 并手动选择将有所帮助。显然与 NaturalEarth 形状文件有关
我有同样的错误。要读入 shapefile,您的文件夹中需要有三个文件:.shp、.dbf 和 .shx 文件。
语法:库(光栅)
s <- shapefile("~/R/funwithR/data/ne_110m_land/ne_110m_land.shp")
完美! todah rabah!
在我看来,这就是解决方案,至少在将其上传到云端之前是这样
######################################
# Server
######################################
#I tell R where to extract the data from
#Le digo al R donde debe jalar la data
dirmapas <- "E:/Tu-carpeta/Tu-sub-carpeta/ESRI" #Depende donde tengas tú tus
#archivos de cartografía
setwd(dirmapas)
#The raw map
# El mapa de polígonos en blanco y negro
departamentos<-readOGR(dsn="BAS_LIM_DEPARTAMENTO.shp", layer="BAS_LIM_DEPARTAMENTO")
强制文件应全部在同一目录中
.shp — 形状格式
.shx — 形状索引格式;
.dbf — 属性格式;
然后我们可以将路径作为参数提供给函数,它将起作用。
global_24h =readOGR('/Users/m-store/Desktop/R_Programing/global_24h.shp')
wmap <- readOGR(dsn="~/R/funwithR/data/ne_110m_land", layer="ne_110m_land")
此代码未加载形状文件并生成错误
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
你可以证明你有正确的路径:
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")
更新:
rgdal
发生了一些变化,您不再需要将路径和图层分开(至少对于某些格式而言)。所以你可以做
x <- readOGR("~/R/funwithR/data/ne_110m_land/ne_110m_land.shp")
(可能还在用path.expand)
此外,如果您仍在使用 readOGR
,那您就有点落伍了。最好使用 terra::vect
或 sf::st_read
.
对我来说,当我包含 dsn
和 layer
标签时,命令返回了 Cannot open layer
错误。
所以当我把它全部包括在内时
readOGR('~/R/funwithR/data/ne_110m_land/ne_110m_land.shp')
成功了。
请注意,我的文件是一个 gjson,所以我只看到了这个
readOGR('~/R/funwithR/data/ne_110m_land/ne_110m_land.gjson')
这是对我有用的方法(有一个真实的例子)
require(rgdal)
shape <- readOGR(dsn = "1259030001_ste11aaust_shape/STE11aAust.shp", layer = "STE11aAust")
确切数据可用 here(下载名为 'State and Territory ASGC Ed 2011 Digital Boundaries in MapInfo Interchange Format' 的 .zip 文件)
正如我在其他 post (Error when opening shapefile) 中评论的那样,在需要选择一个文件的情况下,使用 file.choose() 并手动选择将有所帮助。显然与 NaturalEarth 形状文件有关
我有同样的错误。要读入 shapefile,您的文件夹中需要有三个文件:.shp、.dbf 和 .shx 文件。
语法:库(光栅)
s <- shapefile("~/R/funwithR/data/ne_110m_land/ne_110m_land.shp")
完美! todah rabah!
在我看来,这就是解决方案,至少在将其上传到云端之前是这样
######################################
# Server
######################################
#I tell R where to extract the data from
#Le digo al R donde debe jalar la data
dirmapas <- "E:/Tu-carpeta/Tu-sub-carpeta/ESRI" #Depende donde tengas tú tus
#archivos de cartografía
setwd(dirmapas)
#The raw map
# El mapa de polígonos en blanco y negro
departamentos<-readOGR(dsn="BAS_LIM_DEPARTAMENTO.shp", layer="BAS_LIM_DEPARTAMENTO")
强制文件应全部在同一目录中
.shp — 形状格式
.shx — 形状索引格式;
.dbf — 属性格式;
然后我们可以将路径作为参数提供给函数,它将起作用。
global_24h =readOGR('/Users/m-store/Desktop/R_Programing/global_24h.shp')