使用SF库读取GeoJSON文件?

9

我只是一天前开始使用R语言,现在尝试使用SF库读取GeoJSON文件,但不确定正确的方法。

library(dplyr)
library(sf)
geo <- system.file('/my/path/zones.geojson', package = 'sf')
st_read(geo)

当我运行这些代码时,我会收到以下错误信息:
Cannot open data source
Error in CPL_read_ogr(dsn, layer, as.character(options), quiet, type,  :
  Open failed.

请告诉我如何更改它,谢谢大家!

1个回答

7

sf软件包不能原生地读取geojson文件。然而,有一个叫做geojsonsf的软件包可以将geojson文件读入到数据中,这样您就可以在sf中使用它。

显然我没有你的geojson文件可供使用,但是该软件包自带一些示例数据,以便我可以向您展示其原理:

install.packages("geojsonsf")
library(geojsonsf)
library(ggplot2)

geo <- geojson_sf("C:/R/R-3.6.2/library/geojsonsf/examples/geo_melbourne.geojson")

ggplot(geo) + geom_sf(aes(fill = SA2_NAME)) + guides(fill = guide_none())

enter image description here


7
我不知道你写下答案后是否有所改变,但 sf 可以直接读取 geojson:sf::st_read(geojsonsf::geo_melbourne) (但是 geojsonsf 仍然比较快)。 - SymbolixAU

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