使用 SF 库读取 GeoJSON 文件?

cod*_*r93 9 r geojson

我一天前刚开始使用 R,我正在尝试使用 SF 库读取 geojson 文件,但我不确定正确的方法是什么。

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

当我运行这些代码行时,我收到错误消息:

Cannot open data source
Error in CPL_read_ogr(dsn, layer, as.character(options), quiet, type,  :
  Open failed.
Run Code Online (Sandbox Code Playgroud)

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

All*_*ron 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())
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

  • 我不知道自从你写下答案后这是否已经改变,但是 `sf` 可以直接读取 geojson:`sf::st_read( geojsonsf::geo_melbourne )` (但 `geojsonsf` 仍然基准测试更快) (7认同)