我正在尝试使用{ggplot2},{osmdata}和{sf}绘制日内瓦湖/莱芒湖。每当我尝试绘制湖泊的多边形(共有5个)时,就会出现错误。我找不到其他地方提到此错误的信息。
library(osmdata)
#> Data (c) OpenStreetMap contributors, ODbL 1.0. http://www.openstreetmap.org/copyright
library(tidyverse)
lake_gva <-
getbb("Geneva") %>%
opq()%>%
add_osm_feature(key = "natural", value = "water") %>%
osmdata_sf()
lake_gva
#> Object of class 'osmdata' with:
#> $bbox : 46.1777724,6.1102411,46.231885,6.1758527
#> $overpass_call : The call submitted to the overpass API
#> $meta : metadata including timestamp and version numbers
#> $osm_points : 'sf' Simple Features Collection with 22394 points
#> $osm_lines : 'sf' Simple Features Collection with 320 linestrings
#> $osm_polygons : 'sf' Simple Features Collection with 120 polygons
#> $osm_multilines : NULL
#> $osm_multipolygons : 'sf' Simple Features Collection with 5 multipolygons
ggplot() +
geom_sf(
data = lake_gva$osm_multipolygons
)
#> Error in do.call(rbind, x): variable names are limited to 10000 bytes
以下是我的会话信息:
sessionInfo()
#> R version 3.6.0 (2019-04-26)
#> Platform: x86_64-apple-darwin15.6.0 (64-bit)
#> Running under: macOS 10.15.1
#>
#> Matrix products: default
#> BLAS: /Library/Frameworks/R.framework/Versions/3.6/Resources/lib/libRblas.0.dylib
#> LAPACK: /Library/Frameworks/R.framework/Versions/3.6/Resources/lib/libRlapack.dylib
#>
#> locale:
#> [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
#>
#> attached base packages:
#> [1] stats graphics grDevices utils datasets methods base
#>
#> loaded via a namespace (and not attached):
#> [1] compiler_3.6.0 magrittr_1.5 tools_3.6.0 htmltools_0.4.0
#> [5] yaml_2.2.0 Rcpp_1.0.3 stringi_1.4.3 rmarkdown_1.18
#> [9] highr_0.8 knitr_1.26 stringr_1.4.0 xfun_0.11
#> [13] digest_0.6.23 rlang_0.4.2 evaluate_0.14
本代码由reprex包(v0.3.0)于2019年12月02日创建
osmdata
的问题。尝试运行以下代码:q <- lake_gva$osm_multipolygons$geometry[[1]][[1]]; names(q[1])
,你应该能看到“长度超过10000字节”的名称。 - agila