Eu quero criar várias linhas a partir de pontos determinados como sf objects
.
Se eu tiver vários pontos como
library(sf)
pts <- st_multipoint(matrix(c(10, 10, 15, 20, 30, 30), nrow = 3, byrow = TRUE), dim = "XY")
e eu estou usando st_cast
para criar linhas deles
lines <- st_cast(pts, "MULTILINESTRING")
Sempre receberei um sf object
com vários segmentos, mas o que quero obter é várias linhas (duas neste exemplo).
Respostas:
Eu acho que o
sf
pacote precisa saber primeiro como você deseja criar as linhas a partir dos seus pontos. Quero dizer que par dePOINT
fazer cadaLINESTRING
. No meu exemplo que foi definido dentro dalapply
função. Siga o código reproduzível e comentado abaixo, espero que ajude:fonte
sf object
(likematrix(c(10, 10, 30, 30, 15, 20), nrow = 3, byrow = TRUE)
), cria uma linha que liga a parte inferior esquerda com o ponto superior direito neste caso. user30184 mencionou isso em seu comentário acima. Existe a possibilidade de classificar os pontos por distância mínima ou algo assim? Obrigado!Eu encontrei uma solução! Para todos os outros, que também procuram uma resposta, da maneira que resolvi:
No entanto, obrigado novamente por sua ajuda!
fonte