我想对2个sf对象执行所谓的联合。
我有以下代码:
east.west.sf <- st_sfc(st_polygon(list(cbind(c(1,2,2,1,1),c(0,0,2,2,0)))),
st_polygon(list(cbind(c(0,1,1,0,0),c(0,0,2,2,0)))))
east.west.df <- data.frame(var1=c("east", "west"), var2=c(1,2))
east.west <- st_sf(east.west.df, geom=east.west.sf)
north.south.sf <- st_sfc(st_polygon(list(cbind(c(0,2,2,0,0),c(1,1,2,2,1)))),
st_polygon(list(cbind(c(0,2,2,0,0),c(0,0,1,1,0)))))
north.south.df <- data.frame(var3=c("north", "south"), var4=c(FALSE, TRUE))
north.south <- st_sf(north.south.df, geom=north.south.sf)
map.overlay <- st_union(east.west, north.south)
st_area(map.overlay)
我期望所有四个区域都是1个单位。为什么是三个单位?
使用sp对象进行类似的union()操作可以得到我期望的结果。
如何使用两个初始sf对象获得1个单位的四个特征?