在R中读取flatgeobuf(.fgb)

e1xvtsh3  于 2023-10-13  发布在  其他
关注(0)|答案(1)|浏览(88)

如何在R中读取flatgeobuf文件?我能找到的唯一函数是leafem::addFgb,但我找不到访问底层数据的方法。

library(leaflet)
library(leafem)

temp <- tempfile()
download.file("https://esa-worldcover.s3.eu-central-1.amazonaws.com/esa_worldcover_grid_composites.fgb",temp)

leaflet() %>%
  setView(0, 0, zoom = 2) %>%
  addProviderTiles('Esri.WorldTopoMap') %>%
  addFgb(file = temp)
w8f9ii69

w8f9ii691#

GDAL处理FlatGeobuf文件,因此与大多数其他地理空间矢量格式一样,您可以使用{sf}加载它:

library(sf)
#> Linking to GEOS 3.11.2, GDAL 3.6.2, PROJ 9.2.0; sf_use_s2() is TRUE
st_layers("esa_worldcover_grid_composites.fgb")
#> Driver: FlatGeobuf 
#> Available layers:
#>                       layer_name geometry_type features fields crs_name
#> 1 worldcover_composites_grid_aws       Polygon    19363      9   WGS 84
read_sf("esa_worldcover_grid_composites.fgb")$geometry |> plot()

创建于2023-10-02使用reprex v2.0.2

相关问题