readOGR无法打开图层错误。

3

我正在学习Leaflet教程,但是遇到了文件加载错误,错误信息如下:

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个回答

4
尝试将图层名称更改为不带扩展名的文件名:
countries <- readOGR("https://raw.githubusercontent.com/datasets/geoboundaries-world-110m/master/countries.geojson", layer = "countries")

由于某些环境的原因,图层需要被称为“OGRGeoJSON”,而在其他环境中则需要使用文件名而不带扩展名。

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


1
经过数小时的尝试解决问题,这是唯一有效的解决方案。希望它更为常见,因为所有的教程都建议使用“OGRGeoJSON”来处理.geojson文件。 - camnesia
很遗憾,我仍然无法加载文件。调整layer参数也没有帮助。 - balkon16

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接