【问题标题】:Cannot open shapefile in R无法在 R 中打开 shapefile
【发布时间】:2019-10-01 13:32:24
【问题描述】:

我不知道为什么,但我根本无法在 r 中读取 shapefile!

在 MacOS Mojave 上,

我试过了:

afg <- readOGR("afg.shp")
afg <- readOGR(dsn = ".", layer = "afg")

shapefile 来自这个网站:http://www.diva-gis.org/gdata,阿富汗公路。

同样的错误不断发生:

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

但是,此代码有效:

countries <- readOGR("countries.geojson")

有人能找出原因吗?

【问题讨论】:

  • 也许您需要指定 shapefile 的路径?如果您解压缩以在Downloads 中创建目录AFG_rds,这应该可以:readOGR("~/Downloads/AFG_rds/AFG_roads.shp")

标签: r rgdal


【解决方案1】:

我在莫哈韦沙漠,这很好用:

httr::GET(
  url = "http://biogeo.ucdavis.edu/data/diva/rds/AFG_rds.zip",
  httr::write_disk("AFG_rds.zip"),
  httr::progress()
) -> res

fils <- unzip("AFG_rds.zip", exdir = "afg-roads")

fils
## [1] "afg-roads/AFG_roads.dbf" "afg-roads/AFG_roads.prj" 
## [3] "afg-roads/AFG_roads.shp" "afg-roads/AFG_roads.shx"

rgdal::readOGR("afg-roads/AFG_roads.shp")
## OGR data source with driver: ESRI Shapefile 
## Source: "/Users/bob/Development/afg-roads/AFG_roads.shp", layer: "AFG_roads"
## with 1409 features
## It has 5 fields
## class       : SpatialLinesDataFrame 
## features    : 1409 
## extent      : 60.6075, 74.67168, 29.38582, 38.48983  (xmin, xmax, ymin, ymax)
## coord. ref. : +proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0 
## variables   : 5
## names       :     MED_DESCRI,    RTT_DESCRI, F_CODE_DES, ISO,  ISOCOUNTRY 
## min values  :        Unknown, Primary Route,       Road, AFG, AFGHANISTAN 
## max values  : Without Median,       Unknown,      Trail, AFG, AFGHANISTAN 

【讨论】:

  • 也适合我。不知道为什么问题中的文件名是afg.shp;这不是下载中的文件名。
  • 我认为 OP 可能出于某种原因重命名了所有内容。 ¯\_(ツ)_/¯
【解决方案2】:

我也遇到了同样的问题。不要尝试重命名文件。解压缩后,您将获得许多文件,其中一个是 shapefile。就我而言,所有这些文件都具有相同的名称但扩展名不同。然后做你已经在做的事情:

afg <- readOGR(dsn = ".", layer = "AFG_roads")

希望这会奏效。

【讨论】:

    猜你喜欢
    • 2021-08-04
    • 1970-01-01
    • 2020-05-17
    • 2014-08-09
    • 2021-01-31
    • 1970-01-01
    • 2014-03-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多