我正在经历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
答案 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库的不同版本有关。