У меня есть простой фрейм данных объекта с координатами от начальной точки.Из этой начальной точки мне нужно найти новые, неизвестные координаты , которые находятся в 1 км к северу и 1 км к северу + 1 км к востоку от начальной точки.
Затем мне нужно создать отрезки линии от первой до второй точки и от второй до третьей точки.
Я хотел бы сделать это, поменяв столбец географии.
Пример:
library(sf)
library(dplyr)
SF_df <-
tibble(case = c("A", "B", "C"),
LAT = 523456, LONG = 652348) %>%
st_as_sf(coords = c("LONG", "LAT"), crs = "+proj=utm +zone=33 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs")
#make new points
SF_df %>%
mutate(geometry = ifelse(case == "A", geometry,
ifelse(case == "B", geometry+c(0,1000),
geometry + c(1000,1000))))
Я попытался
SF_df %>%
mutate(geometry = ifelse(case == "A", st_linestring(geometry, geometry+c(0,1000)),
ifelse(case == "B", st_linestring(geometry+c(0,1000), geometry+c(1000,1000)), NA)))
, который неработать, потому что st_linestring
нужна матрица числовых значений.Я также попытался преобразовать точки с помощью as.numeric(as.coordinates( x))
, который тоже не работает.
Результатом должен быть sf-фрейм данных с одной строкой на точку + 1 строка на линию строк между точками.
любые указатели приветствуются!