通常,您可以使用可靠的readOGR
将geojson文件读入R中,如此处所示here。
但是,对于多要素的geojson,这种方法会失败。
可重现的示例:
downloader::download("https://github.com/Robinlovelace/Creating-maps-in-R/raw/master/data/test-multifeature.geojson", "test.geojson")
test <- rgdal::readOGR("test.geojson", "OGRGeoJSON") # fails with:
Error in ogrInfo(dsn = dsn, layer = layer, encoding = encoding, use_iconv = use_iconv, :
Multiple incompatible geometries: wkbPoint: 98; wkbLineString: 660; wkbPolygon: 23
错误信息已经很清楚,指出了解决方案:拆分功能。除了使用正则表达式之外,我不知道其他方法。欢迎提供任何想法。令人惊奇的是,GitHub在浏览器上本地显示数据,而R甚至(看起来)无法读取它!另一种解决方案的替代方法:
test <- geojsonio::geojson_read("test.geojson")
0.9-2
版本中加入的。它非常有用,特别是对于这些时髦的GeoJSON形状文件,这些酷孩子们现在正在使用的文件;-) - hrbrmstr