readOGR无法打开层错误

时间:2018-06-20 13:08:12

标签: r leaflet rgdal ogr

我正在经历Leaflet tutorial,但偶然发现文件加载错误,内容如下:

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

导致此问题的代码:

library(rgdal)
countries <- readOGR("./json/countries.geojson", "OGRGeoJSON")

我已将countries.geojson文件保存在json目录中,并将工作目录设置为包含json目录的目录。

我试图通过从Github下载文件来加载文件:

countries <- readOGR("https://raw.githubusercontent.com/datasets/geoboundaries-world-110m/master/countries.geojson", layer = "OGRGeoJSON")

我收到此错误:

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

1 个答案:

答案 0 :(得分:2)

尝试将图层名称更改为不带扩展名的文件名:

countries <- readOGR("https://raw.githubusercontent.com/datasets/geoboundaries-world-110m/master/countries.geojson", layer = "countries")

出于某些原因,在某些环境中,该层需要称为“ OGRGeoJSON”,在其他环境中,则需要将其称为不带扩展名的文件名。

例如,在OSX上使用最新的R和rgdal版本,它需要“ OGRGeoJSON”,但是在运行CentOS的生产机器上,它需要文件名。我怀疑这与底层gdal C库的不同版本有关。