在 R 中读取 flatgeobuf (.fgb)

问题描述 投票:0回答:1

如何在 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)
r gis
1个回答
0
投票

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 月 2 日,使用 reprex v2.0.2

© www.soinside.com 2019 - 2024. All rights reserved.