亲爱的堆栈溢出社区,
这是我在这个网站上的第一个问题。我正在使用R,并尝试使用sf::st_union
合并两个shapefile。但是,尽管shapefile占用的空间不大,但合并非常重!
这是一个最小的工作示例,其中包含我终端的大小:
library(sf)
canada <- st_read("./gpr_000b11a_e.shp", quiet = TRUE)
usa <- st_read("./cb_2017_us_state_500k.shp", quiet = TRUE)
usa <- st_transform(x = usa, crs = st_crs(canada))
north_america = st_union(usa, canada)
三个对象的大小:
print(object.size(canada), units = "auto")
58.9 Mb
print(object.size(usa), units = "auto")
4.6 Mb
print(object.size(north_america), units = "auto")
3 Gb
您对正在发生的事情以及如何减轻重量有什么想法?另外,我只需要几何图形,但是sf::st_geometry
并没有使对象变小。
答案 0 :(得分:0)
使用rbind会提供您所追求的吗? 这是rbind的SF帮助的链接 https://r-spatial.github.io/sf/reference/bind.html
north_america = rbind(usa, canada)