Durante il tentativo di mostrare più di una riga con il metodo inviato da einar, non ho potuto mostrare entrambi in una volta. Dopo molte ricerche, ho trovato post this e this. Ecco un piccolo codice per due diverse linee.
library(geosphere)
library(leaflet)
library(dplyr)
lat_ny <- 40.73
lng_ny <- -73.9
lat_del <- 28.63
lng_del <- 77.21
lng_ca <- -121.6406
lat_ca <- 39.16414
inter1 <- gcIntermediate(c(lng_ny, lat_ny), c(lng_del, lat_del), n=10, addStartEnd=TRUE, sp = TRUE, breakAtDateLine = TRUE)
lines(inter1)
inter2 <- gcIntermediate(c(lng_ca, lat_ca), c(lng_del, lat_del), n=10, addStartEnd=TRUE, sp = TRUE, breakAtDateLine = TRUE)
lines(inter2)
inters <- c(inter1,inter2)
ll0 <- lapply(inters , function(x) `@`(x , "lines"))
ll1 <- lapply(unlist(ll0) , function(y) `@`(y,"Lines"))
Sl <- SpatialLines(list(Lines(unlist(ll1) , ID = 1)))
leaflet(Sl) %>% addTiles() %>% addPolylines()
hardcoding latitudine e longitudine non è una buona idea, ma come ho dovuto scegliere solo primo posto 5 connettersi, non ho dedicare molto tempo per l'indicizzazione di un elenco. Inoltre, devo ancora verificare se si integra con Shiny.
fonte
2017-05-10 06:00:39
geniale! Come hai saputo passare in gcIntermediate a un volantino? –
la classe dell'oggetto restituita da gcIntermediate è "SpatialLines". e il volantino piace molto a questa classe (o qualsiasi altra "Spaziale ..." :-) – einar