You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

rgdal/terra/sf读取Shapefile失败:文件存在仍报错

无法解决“Cannot open data source”错误:Shapefile读取问题

我无法理解为何会出现“Cannot open data source”错误:文件路径至少有一个是正确的,且.shp、.dbf、.shx文件在同一文件夹中。该Shapefile可在ArcGIS中正常使用,我已经导出了ArcGIS生成的所有配套文件,但用rgdal、terra、sf包读取时均失败,仅raster::shapefile可以正常读取并绘图。

已尝试的操作

使用rgdal包

rgdal::readOGR(dsn=path.expand("C:/Users/User/Documents/mémoire/pixels_de_reference_1"), layer="pixels_de_reference_1")
rgdal::readOGR(dsn = "C:/Users/User/Documents/mémoire/pixels_de_reference_1.shp",layer = "pixels_de_reference_1")
rgdal::readOGR(dsn = "C:/Users/User/Documents/mémoire/pixels_de_reference_1",layer = "pixels_de_reference_1")
rgdal::readOGR(dsn = "C:/Users/User/Documents/mémoire",layer = "pixels_de_reference_1")
rgdal::readOGR(dsn = "pixels_de_reference_1",layer = "pixels_de_reference_1")
rgdal::readOGR(dsn = ".",layer = "pixels_de_reference_1")
rgdal::readOGR("C:/Users/User/Documents/mémoire/pixels_de_reference_1.shp")
rgdal::readOGR(dsn=path.expand("C:/Users/User/Documents/mémoire/pixels_de_reference_1.shp"))

返回错误:

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

使用terra包

f <- system.file("C:/Users/User/Documents/mémoire/pixels_de_reference_1.shp", package="terra")
terra::vect(f)

返回错误:

Error: [vect] file does not exist:

打印f时返回空字符串"",但list.files显示目标文件夹包含所有Shapefile配套文件。

其他尝试

  • 使用sf::st_layers等方法时也出现相同错误
  • 使用raster::shapefile("C:/Users/User/Documents/mémoire/pixels_de_reference_1.shp")可正常读取并绘图

内容的提问来源于stack exchange,提问作者Muriel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 21:39:36