【发布时间】:2020-01-28 17:00:31
【问题描述】:
我有两个空间特征:
library(sf)
points1 <- data.frame(foo = seq(15, 75, 15),
long = c(-85, -80, -78, -75, -82),
lat = c(34, 36, 37, 38, 35)) %>%
st_as_sf(coords = c('long', 'lat'), crs = 4326)
points2 <- data.frame(bar = seq(15, 75, 15),
long = c(85, 80, 78, 75, 82),
lat = c(30, 32, 34, 36, 38)) %>%
st_as_sf(coords = c('long', 'lat'), crs = 4326)
cbind(points1, points2) -> df
这给出了:
foo bar geometry geometry.1
1 15 15 POINT (-85 34) POINT (85 30)
2 30 30 POINT (-80 36) POINT (80 32)
3 45 45 POINT (-78 37) POINT (78 34)
4 60 60 POINT (-75 38) POINT (75 36)
5 75 75 POINT (-82 35) POINT (82 38)
我想在df 中的点对之间画一条线 - 所以从geometry 中的一个点到geometry.1 中的一个点。我尝试将 POINT 转换为 LINESTRING,如下所示:
df %>% summarise(do_union=F) %>% st_cast("LINESTRING") %>% plot()
,但这似乎不起作用。当我想要的是五条单独的线时,我得到一条连续的线。
【问题讨论】:
-
你尝试了哪些没有成功的投射?即使它没有做你想做的事情,看看它可能会有所帮助